我使用keras文档为ImageDataGenerator提供的代码 我一直在犯这个错误
文件“C:\Users\abirf\AppData\Local\Continuum\anaconda3\envs\deep\u learning\lib\site packages\keras\engine\training\u utils.py”,第34行,标准化单数组elif x.ndim==1:
AttributeError:“zip”对象没有属性“ndim”
X_path= os.path.join('......./train_data/', 'images') # input image
Y_path = os.path.join('......../train_data/', 'masks') # ground-truth label
# we create two instances with the same arguments
data_gen_args = dict(#featurewise_center=True,
#featurewise_std_normalization=True,
rotation_range=45.,
#width_shift_range=0.1,
#height_shift_range=0.1,
zoom_range=[0.2])
seed = 1
image_datagen = ImageDataGenerator(**data_gen_args)
mask_datagen = ImageDataGenerator(**data_gen_args)
image_generator = image_datagen.flow_from_directory(X_path , class_mode=None, seed=seed,batch_size = 1,
target_size=(img_col,img_row),color_mode='grayscale')
mask_generator = mask_datagen.flow_from_directory( Y_path, class_mode=None, seed=seed,batch_size = 1 ,target_size=(img_col, img_row),color_mode='grayscale')
num_train = len(image_generator)
train_generator = zip(image_generator, mask_generator)
model = model.fit(train_generator, steps_per_epoch=num_train, shuffle=True, validation_split=0.1 , batch_size=16, epochs=50,callbacks=[earlystopper, checkpointer])
有人能给我解释一下怎么了吗
使用如下数据生成器:
如果你使用
list
,它将在开始训练之前生成所有样本,这将破坏你的记忆在以下行中:
第一个参数是zip函数返回的
zip
对象。根据Keras文档,model.fit()
可以采用几种格式,其中第一种是numpy数组,这是它所期望的类,因为它具有ndim
(维度数)属性,因此会显示错误消息https://keras.io/api/models/model_training_apis/
无论您想作为第一个参数发送什么,您都可能希望将
zip
对象转换为列表。要做到这一点,请使用list(train_generator)
,如果您想要一个numpy数组,可以使用np.array(trainGeneratorList)
,trainGeneratorList
,这要感谢list
函数相关问题 更多 >
编程相关推荐