主要任务是预测输入图像的掩码。因此,我有以下培训数据:


此外,我有验证的原始图片。
我准备了一种预测输出掩码的神经模型。我准备了一个应该具有如下拓扑的keras模型信任:

我为训练准备的代码就在那里。
import keras
epochs=100
image_datagen = keras.preprocessing.image.ImageDataGenerator()
mask_datagen = keras.preprocessing.image.ImageDataGenerator()
seed = 1
image_generator = image_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_train/',
color_mode='rgb',batch_size=32,target_size=(768,768),
seed=seed)
mask_generator = mask_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_mask/',
class_mode="categorical",batch_size=32,target_size=(768,768),
seed=seed)
train_generator = zip(image_generator, mask_generator)
model.fit_generator(generator=train_generator,
epochs=epochs,
callbacks=callbacks,steps_per_epoch=1)但是,当我尝试安装生成器进行预测时,我有一个问题:
c:\users\harwister\appdata\local\programs\python\python36\lib\site-packages\keras\engine\training_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
208 batch_size = list(x.values())[0].shape[0]
209 else:
--> 210 batch_size = x.shape[0]
211 batch_logs['batch'] = batch_index
212 batch_logs['size'] = batch_size
AttributeError: 'tuple' object has no attribute 'shape'我肯定做错了什么,但我不能从这些错误中理解任何东西。我在Google中找不到一个简单的问题是:我如何将两个图像(输入和输出图像)推入Keras进行培训,然后在培训后得到一个输出图像,提供一个输入图像?
发布于 2018-11-21 07:15:48
由于图像和标签(即掩码)有单独的生成器,因此需要将class_mode参数设置为None,以防止生成器生成任何标签数组:
image_generator = image_datagen.flow_from_directory(class_mode=None, ...)
mask_generator = mask_datagen.flow_from_directory(class_mode=None, ...)这样,image_generator只生成输入映像,mask_generator只生成掩码(即真标签)图像。
https://stackoverflow.com/questions/53402303
复制相似问题