【发布时间】:2020-06-07 02:24:35
【问题描述】:
我的模型是在数字图像上训练的 (MNIST dataset)。我正在尝试打印网络第二层的输出 - 一个 128 个数字的数组。
在阅读了很多例子之后——例如this、and this、or this。
我没有设法在我自己的网络上做到这一点。这两种解决方案都不适用于我自己的算法。
我收到了很多不同的错误消息。我试图处理它们中的每一个,但我无法自己解决。
我错过了什么?第二层如何输出?
如果我的 Shape 是 (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: 错误 从 Container 中读取资源变量 dense_1/bias 时: 本地主机。这可能意味着该变量未初始化。不是 发现:容器 localhost 不存在。 (找不到资源: localhost/dense_1/bias) [[{{node dense_1/BiasAdd/ReadVariableOp}}]]
【问题讨论】:
-
您问题中的链接已损坏,请添加它们以了解您的尝试
-
@ThéoRubenach 完成
标签: python tensorflow keras