如何将s3 bucket中的图像放入Python列表



如何将s3 bucket中的图像放入Python列表?

我正在尝试将图像从s3 bucket转换为类似的img数组

from keras.layers import Conv2D, Conv2DTranspose, UpSampling2D
from keras.layers import Activation, Dense, Dropout, Flatten, InputLayer
from keras.layers.normalization import BatchNormalization
from keras.callbacks import TensorBoard
from keras.models import Sequential
from keras.models import model_from_json
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
from skimage.color import rgb2lab, lab2rgb, rgb2gray
from skimage.io import imsave
import numpy as np
import os
import random
import tensorflow as tf
# Get images
import boto.s3.connection
conn = boto.s3.connect_to_region('us-east-2',
       aws_access_key_id='mykey',
       aws_secret_access_key='mysecretkey',
       calling_format = boto.s3.connection.OrdinaryCallingFormat(),
       )
bucket = conn.get_bucket('datasettrainimage123')
X = []
for filename in bucket.list():
    X.append(img_to_array(load_img(filename.key.split('/')[-1])))
X = np.array(X, dtype = float)

我最终得到这个错误

No such file or directory: '02_0004.jpg'

与其使用boto,不如使用boto3,因为它是最新的。在boto3中有download_file,它将允许您将图像从s3下载到本地存储中。一旦你做到了这一点,你就可以用load_img来阅读它。

最新更新