Входные данные переменного размера для CNTK в Керасе - PullRequest
0 голосов
/ 29 апреля 2018

Я хочу кормить CNN изображениями с разным разрешением, используя Keras. Таким образом, я определил форму входного слоя как (Нет, Нет, 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. Любые идеи о том, как я могу преодолеть эту проблему?

...