Ole*_*nko 6 python machine-learning computer-vision conv-neural-network tensorflow
任务是获得预先训练的cnn inceptionv3模型的每层输出.例如,我将图像提供给此网络,我不仅要获得其输出,还要获得每个图层的输出(逐层).
为了做到这一点,我必须知道每个图层输出的名称.对于last和last-last图层来说,这很容易做到:
sess.graph.get_tensor_by_name('pool_3:0')
sess.graph.get_tensor_by_name('softmax:0')
Run Code Online (Sandbox Code Playgroud)
(名称pool_3:0和softmax:0列在与模型相关的来源中)
但是,如果我想获得不仅是最后一层和前一层的输出,而且还要预先输出前,预先预先,等等,输出该模型的任何一层?
然后我必须知道图层名称. 在stackoverflow上也提出了类似的问题,但是只有前一个和最后一个层的名称,这些名称也可以在源中的注释中找到('pool_3:0','softmax:0')
获取名称的明显方法是绘制模型图.但事实并非如此,因为绘图工具只会崩溃.还有一个与此相关的问题.
我也尝试过:
所以,也许参与这个预先训练过的模型实现和'运输'的人正在阅读stackoverflow.
或者也许有人已经为这个模型提供了分层名称.请与我和ml社区分享.提前致谢!
基本问题已在 Tensorflow 图中的张量名称列表中提出(并回答)
为了回答你对你的方法(2)的担忧 - 这确实有效(我已经做到了)。如果我不得不猜测,您可能不使用类似字典的结构来存储节点,因此如果多个节点从同一节点获取输入(就像在 inception 模型中经常发生的情况一样),您将插入该输入节点在您要存储/访问的物品列表中多次出现。如果您注意只访问每个节点一次,那么它基本上应该立即运行,而不会出现内存问题。
| 归档时间: |
|
| 查看次数: |
10864 次 |
| 最近记录: |