【发布时间】: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