【问题标题】:Keras model predict train/test shapeKeras 模型预测训练/测试形状
【发布时间】:2017-05-29 18:47:11
【问题描述】:

我正在使用 Keras 训练 CNN,但使用图像中的 30x30 块。我想使用完整图像测试网络,但出现以下错误:

ValueError:GpuElemwise。输入尺寸不匹配。输入 2(索引 从 0 开始)具有 shape[1] == 30,但该轴上的输出大小为 100. 应用导致错误的节点:GpuElemwise{Composite{((i0 + i1) - i2)}}[(0, 0)](GpuDimShuffle{0,2,3,1}.0, GpuReshape{4}。 0, GpuFromHost.0) 拓扑排序索引:79 输入类型: [CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, (True, True, True, False)), CudaNdarrayType(float32, 4D)] 输入形状:[(10, 100, 100, 3), (1, 1, 1, 3), (10, 30, 30, 3)] 输入步幅:[(30000, 100, 1, 10000), (0, 0, 0, 1), (2700, 90, 3, 1)] 输入值:['not 显示',CudaNdarray([[[[ 0.01060364 0.00988821 0.00741314]]]]),'不是 显示'] 输出客户端: [[GpuCAReduce{pre=sqr,red=add}{0,1,1,1}(GpuElemwise{Composite{((i0 + i1) - i2)}}[(0, 0)].0)]]

这是我的模型预测:

predict_image = model.predict(np.array([test_images[1]]), batch_size=1)[0]

问题似乎是输入大小只能是 30x30,但我的网络第一层的第一个输入形状是无、无、3。

model.add(Convolution2D(n1, f1, f1, border_mode='same', input_shape=(None, None, 3), activation='relu'))

是否根本无法测试与我训练的图像尺寸不同的图像?

【问题讨论】:

    标签: machine-learning theano keras


    【解决方案1】:

    正如 fchollet 自己描述的 here,您应该能够这样定义输入:

    input_shape=(1, None, None)
    

    但是,如果您有使用 Flatten 操作的图层,这将失败。

    这表明您应该能够使用完全卷积神经网络来实现您的目标。

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 2019-10-20
      • 1970-01-01
      • 2019-06-21
      • 2017-07-16
      • 2022-10-19
      • 2018-07-29
      • 2018-02-22
      • 2019-07-19
      相关资源
      最近更新 更多