我正在研究TensorFlow.js图像识别模型,并尝试在softmax之前获取最后一层以最后进行分类。我正在尝试传递模型可以分类的相同张量,但只需获取模型图中的中间节点的结果即可。
我看到"dense_Dense1"
是name
中的model.json
字段。这是在Sequential
节点下,我可以像这样查询Layer对象:
model.getLayer('sequential_2').getLayer('dense_Dense1')
但是将其作为所需的输出传递到GraphModel#execute
不起作用,并在控制台上产生以下错误消息:
model.execute(tf.browser.fromPixels(document.querySelector('img')), 'dense_Dense1')
错误:层Sequence_2具有多个入站节点,因此“层输出”的概念定义不明确。请改用
getOutputAt(nodeIndex)
。
这似乎可能完全忽略了第二个参数,而没有得到我要的图层的输出。但是错误消息使我感到困惑-一个节点具有多个入站节点,并且您可以评估该节点的“层输出”,这似乎很正常。错误消息还引用了getOutputAt
,这听起来像是在执行我要查找的操作,但这未在API docs的任何位置列出。
我怀疑我在这里缺少一些概念性的东西,但不确定是什么。