Добро пожаловать..

но я начал использовать Keras для создания нейронных сетей. Я построил простой CNN для классификации набора данных MNIST. До изучения модели я использовалK.set_image_dim_ordering('th') для того, чтобы построить вес сверточного слоя. Сейчас я пытаюсь визуализировать сверточный слой с помощьюK.function метод, но я продолжаю получать ошибку.

Вот что я хочу сделать сейчас:

input_image = X_train[2:3,:,:,:]

output_layer = model.layers[1].output
input_layer = model.layers[0].input

output_fn = K.function(input_layer, output_layer)

output_image = output_fn.predict(input_image)
print(output_image.shape)

output_image = np.rollaxis(np.rollaxis(output_image, 3, 1), 3, 1)
print(output_image.shape)

fig = plt.figure()
for i in range(32):
    ax = fig.add_subplot(4,8,i+1)
    im = ax.imshow(output_image[0,:,:,i], cmap="Greys")
    plt.xticks(np.array([]))
    plt.yticks(np.array([]))
fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([1, 0.1, 0.05 ,0.8])
fig.colorbar(im, cax = cbar_ax)
plt.tight_layout()

plt.show()

И вот что я получаю:

  File "/home/kinshiryuu/anaconda3/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 1621, in function
return Function(inputs, outputs, updates=updates)

  File "/home/kinshiryuu/anaconda3/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 1569, in __init__
raise TypeError('`inputs` to a TensorFlow backend function '

TypeError: `inputs` to a TensorFlow backend function should be a list or tuple.

Ответы на вопрос(1)

Ваш ответ на вопрос