【问题标题】:Keras: How to use fit_generator with multiple images input and one output?Keras:如何使用 fit_generator 输入多个图像和一个输出?
【发布时间】:2021-03-04 13:13:45
【问题描述】:

是否可以制作 fit_generator?

我正在创建一个 U-net 网络,我想将图片用作输入,高 500、权重 500 和 5 个通道,输出高 500、权重 500 和 1 个通道

如果不可能 - 我可以自己创建 500x500x5 np.arrays,然后我需要一个生成器来从 HDD 加载 numpy 对象

我现在的代码(仅用于 rgb 图片)

train_generator=datagen.flow_from_directory('/content/data/',
                                                  target_size=(500,500),
                                                  color_mode='rgb',
                                                  batch_size=32,
                                                  class_mode='categorical', shuffle=False)

【问题讨论】:

    标签: python machine-learning keras neural-network generator


    【解决方案1】:

    您应该创建自己的生成器。获取while True : 结构和yield 您的数据至关重要。代码是这样的

    batch_size=16
    step_ep=data_size//batch_size
    
    def generator():
      while True:
        for i in range(step_ep):
           process your images
           X=images
           Y=labels
           yield X,Y
    

    X 形状为(batch_size,height,width,channel)Y的形状(batch_size,height,width,output_channel)

    您应该使用model.fit() 而不是model.fit_generator,因为它很快就会被弃用。

    您还可以为您的验证数据创建一个生成器。

    您的model.fit() 看起来像:

    model.fit(generator(),epochs,steps_per_epoch=step_ep, 
              validation_data=val_generator,validation_steps=val_steps)
    

    【讨论】:

      猜你喜欢
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2019-08-28
      • 2018-08-30
      • 2016-12-22
      • 1970-01-01
      • 2020-04-16
      相关资源
      最近更新 更多