Моя модель навчається на цифрових зображеннях ( MNIST dataset
). Я намагаюся надрукувати вихід другого шару моєї мережі - масив із 128 чисел.
Прочитавши багато прикладів - наприклад, це , і це , або це .
Мені не вдалося це зробити у власній мережі. Жодне з рішень не працює за власним алгоритмом.
Я отримав багато різних повідомлень про помилки. Я намагався впоратися з кожним із них, але не міг зрозуміти це самостійно.
Що я пропускаю? Як вивести другий шар?
Якщо моя форма (28,28)
- яка має бути тип і значення input_shape
?
Невдалі випробування та помилки, наприклад:
(1)
for layer in model.layers:
get_2nd_layer_output = K.function([model.layers[0].input],[model.layers[2].output])
layer_output = get_2nd_layer_output(layer)[0]
print('\nlayer output: get_2nd_layer_output=, layer=', layer, '\nlayer output: get_2nd_layer_output=', get_2nd_layer_output)
TypeError: входи повинні бути списком або кортежем.
(2)
input_shape=(28, 28)
inp = model.input # input placeholder
outputs = [layer.output for layer in model.layers] # all layer outputs
functor = K.function([inp, K.learning_phase()], outputs ) # evaluation function
# Testing
test = np.random.random(input_shape)[np.newaxis,...]
layer_outs = functor([test, 0.])
print('layer_outs',layer_outs)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Помилка під час читання змінної ресурсу щільний_1 / зміщення від Container: localhost. Це може означати, що змінна була неініціалізована. Не знайдено: localhost контейнера не існує. (Не вдалося знайти ресурс: localhost / щі_1 / зміщення) [[{{вузол щільний_1 / BiasAdd / ReadVariableOp}}]]