Keras中CNTK的可变大小输入

时间:2018-04-29 20:01:36

标签: python neural-network deep-learning keras cntk

我想使用Keras为CNN提供来自不同分辨率的图像。因此,我将输入图层形状定义为(None,None,3),因为图像有3个通道。我的问题是这在TensorFlow上运行良好,但在CNTK上给出了错误(我必须使用CNTK)。

以下python代码说明了我的问题:

import numpy as np
from keras.models import Model
from keras.layers import Conv2D, Input


input_layer = Input(shape=(None,None,3),name='input')

x = Conv2D(16,3)(input_layer)
x = Conv2D(16,3)(x)
model = Model(input=input_layer,output=x)
model.compile('adam','mse')

X = np.random.random((1,32,32,3))
Y = model.predict(X)
print Y.shape

如果我使用Keras + TensorFlow运行它会很好地执行,但是将Keras后端更改为CNTK会产生错误:

ValueError: Convolution operation requires that kernel dim 3 <= input dim 1.

据我所知,通过互联网,这个问题应该是从CNTK 2.2等修复的,但是我使用的是CNTK 2.5。关于如何克服这个问题的任何想法?

0 个答案:

没有答案