检查输入错误时如何解决错误?

时间:2019-07-26 19:52:11

标签: image-processing keras

我正在尝试训练GAN,以生成用于语义分割任务的图像样本和基本事实样本,但是我在输入形状方面遇到错误。从这些错误看来,似乎我的输入数组是4维,但是我认为手头的问题需要我需要的形状(5维)。

我的张量的形状是(64,2,128,128,3) 批处理中的图像为64,图像或地面实况为2,图像尺寸为128、128,RGB通道为3。

我的生成器如下:

def build_generator(input_dim, output_size):
    """
    生成器を構築
    # 引数
        input_dim : Integer, 入力ノイズの次元
        output_size : List, 出力画像サイズ
    # 戻り値
        model : Keras model, 生成器
    """
    model = Sequential()
    model.add(Dense(256, input_dim=(input_dim)))
    unit_size = 128 * output_size[0] // 8 * output_size[1] // 8
    model.add(Dense(unit_size))
    model.add(BatchNormalization())
    model.add(LeakyReLU(alpha=0.2))
    shape = (output_size[0] // 8, output_size[1] // 8, 128)
    model.add(Reshape(shape))
    model.add(UpSampling2D(size=(2, 2)))
    model.add(Conv2D(64, (3, 3), padding='same'))
    model.add(BatchNormalization())
    model.add(LeakyReLU(alpha=0.2))
    model.add(UpSampling2D(size=(2, 2)))
    model.add(Conv2D(32, (3, 3), padding='same'))
    model.add(BatchNormalization())
    model.add(LeakyReLU(alpha=0.2))
    model.add(UpSampling2D(size=(2, 2)))
    model.add(Conv2D(3, (5, 5), padding='same'))
    model.add(Activation('sigmoid'))
    return model
ValueError: Error when checking input: expected conv2d_9_input to have 4 dimensions, but got array with shape (64, 2, 128, 128, 3)

我可以在任何地方进行更改,以便生成器接受这5维数组输入吗?

0 个答案:

没有答案