我正在研究面部识别用例。我有 57k jpg 图像并将它们转换为数组。执行程序时,出现内存错误。
我正在使用的功能:
def image_array(l):
features = []
for pgm in l:
pic = image.load_img(pgm, target_size=(224, 224))
x = image.img_to_array(pic)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
features.append(x)
npfeatures = np.array(features)
img_dt = np.rollaxis(npfeatures, 1, 0)
return img_dt[0]
此函数的输入是一个列表,如下所示:
l =['/home/user/image1.jpg','/home/user/image2.jpg','/home/user/image3.jpg'......]
我得到的错误:
Traceback (most recent call last):
File "FR.py", line 145, in <module>
vec_image1 = image_array(final_df['image1'].values.tolist())
File "FR.py", line 140, in image_array
npfeatures = np.array(features)
MemoryError
我用于上述功能的导入是:
> from keras.preprocessing import image
> from keras.applications.vgg16 import preprocess_input