预训练 inception v3 模型的层名称(tensorflow)[重复]

2024-05-13

任务是获取a的每层输出预训练的 cnn inceptionv3 https://www.tensorflow.org/versions/master/tutorials/image_recognition/index.html模型。 例如,我向该网络提供图像,我不仅想获得其输出,还想获得每层的输出(逐层)。

为了做到这一点,我必须知道每层输出的名称。对于最后一层和前最后一层来说很容易做到:

sess.graph.get_tensor_by_name('pool_3:0')
sess.graph.get_tensor_by_name('softmax:0')

(名称 pool_3:0 和 softmax:0 在与模型相关的来源中列出)

但是,如果我不仅想获得最后一层和前最后一层的输出,还想获得前前最后一层、前前前前最后一层等该模型任何层的输出,该怎么办?

然后我必须知道图层名称。类似的问题已被询问 https://stackoverflow.com/questions/34175174/extract-features-using-pre-trained-tensorflow-cnn在 stackoverflow 上,但只有前最后层和最后一层的名称,这些名称也可以在源中的注释中找到('pool_3:0', 'softmax:0')

获取名称的明显方法是绘制模型图。但事实并非如此因为绘图工具会崩溃 https://stackoverflow.com/questions/35635131/unable-to-visualize-inception-v3-model-in-tensorboard-with-tensorflow-0-7-1。 还有一个issue https://github.com/tensorflow/tensorflow/issues/1287与此相关。

我也尝试过:

  1. 打印所有图形节点名称并仅使用节点名称中的信息构建图形。但节点名称非常神秘。而且节点之间的连接并不那么明显,因为Inception v3架构 http://arxiv.org/pdf/1512.00567v3.pdf因此,在不知道节点之间的连接的情况下,这种方法就像破解了谜题:)
  2. 然后我尝试使用自己编写的工具绘制该模型的图表(获取给定节点的所有输入(例如“pool_3:0”),然后获取“pool_3:0”每个输入的所有输入等。这该方法适用于简单的模型。但是当我尝试将其用于图像识别教程中的 inceptionv3 实现时,我使用了 16 GB 的 RAM,然后使用了 10 GB 的交换空间,然后我就停止了寻找引擎盖下的内容。也许有图中有一些循环(但是如果网络是前馈的,那怎么可能呢?)

所以,也许参与过这个预训练模型实现和“运输”的人正在阅读 stackoverflow。

或者也许有人已经为这个模型获得了分层名称。 请与我和机器学习社区分享。提前致谢!


基本问题已在中提出(并回答)Tensorflow 图中的张量名称列表 https://stackoverflow.com/questions/35336648/list-of-tensor-names-in-graph-in-tensorflow/

为了回答你对你的方法(2)的担忧 - 这确实有效(我已经做到了)。如果我不得不猜测,您可能不使用类似字典的结构来存储节点,因此如果多个节点从同一节点获取输入(就像在 inception 模型中经常发生的情况一样),您将插入该输入节点在您要存储/访问的物品列表中多次出现。如果您注意只访问每个节点一次,那么它基本上应该立即运行,而不会出现内存问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

预训练 inception v3 模型的层名称(tensorflow)[重复] 的相关文章

随机推荐

  • 基于 ID 的 UiLocalNotifications

    是否有关于根据那里的 Id 存储 UIlocalNotifications 并根据那里的 Id 取消通知的教程 在本地通知中 您有此词典的用户词典 您可以取消通知 http www picksourcecode com ps ct 1612
  • 为什么 OOP 中静态类的最佳实践有所不同?

    我目前正在阅读有关 Java 最佳实践的内容 我发现根据这本书 https rads stackoverflow com amzn click com 0321356683我们必须优先选择静态类而不是非静态类 我记得在 C 最佳实践中 我们
  • 标准 ML 展开列表

    路线 功能expand接收任意类型的列表和整数 数字n 并返回一个列表 其中输入列表的每个项目是 复制的n次 例如 展开 1 2 3 3 必须是 计算结果为 1 1 1 2 2 2 3 3 3 函数的类型必须是 a 列表 int 列表 这是
  • 新的 Android 项目未创建布局或 Java 文件

    这两天我一直在尝试简单地阅读 Big Nerd Ranch Android 编程书 第一章的前几页 我的问题的要点是 当我创建新的 Android 应用程序时 不会创建布局或 java 文件 我已经从 Android 开发站点安装了 ADT
  • 如何使用uWSGI内部路由将HTTP重定向到HTTPS?

    我已经使用 uWSGI 部署了 WSGI 应用程序 但是我没有使用 NGINX https serverfault com a 590833 96915 我该如何使用uWSGI的内部路由 http uwsgi docs readthedoc
  • MacOS High Sierra KEXT 加载 - 有什么方法可以取消用户批准吗?

    正如某些 MacOS 开发人员所知 Apple 实施了安全内核扩展加载 https developer apple com library content technotes tn2459 index html 用户可以通过单击批准第三方
  • 如何使用正则表达式解析 OCC 选项符号?

    OCC 选项符号由 4 部分组成 标的股票或 ETF 的根代码 用空格填充至 6 个字符 到期日期 6 位数字 格式为 yymmdd 期权类型 P 或 C 用于看跌或看涨期权 执行价格 为价格 x 1000 前面填充 0 至 8 位数字 举
  • PHP 内置函数复杂性(isAnagramOfPalindrome 函数)

    我在过去的两个小时里一直在谷歌搜索 但找不到 php 内置函数时间和空间复杂度的列表 我有回文字谜 https stackoverflow com questions 4628386 what is the best algorithm t
  • 修改公共属性的访问修饰符是否是重大更改?

    如果我将公共属性的 setter 的访问修饰符从私有更改为公共 是否会导致引用它的其他程序集发生任何重大更改 UPDATE 这个问题是我 2012 年 1 月博客的主题 https ericlippert com 2012 01 09 ev
  • 如果 @transactional 在类级别应用,如何拦截 @transactional 参数

    我想捕获 transactional 的参数 如果它应用于类级别 例如如果 transactional应用在方法级别 例如 class A transactional readOnly true public void someMethod
  • Zookeeper 未启动,nohup 错误

    我已经下载了zookeeper 3 4 5 tar gz 解压后我将conf zoo cfg写为 tickTime 2000 dataDir var zookeeper clientPort 2181 现在我尝试通过 bin zkServe
  • Windows“findstr”命令:排除包含特定字符串的结果

    到命令findstr str1 我想添加一些内容来排除包含该字符串的结果str2 在Linux中 这样做的方法是添加 grep v str2 to grep str1 当然 是否有一个等效的标志 v在 Windows 中 是否有一个等效的标
  • Spring Data MongoDB 和批量更新

    我正在使用 Spring Data MongoDB 并且想要执行批量更新 就像此处描述的那样 http docs mongodb org manual reference method Bulk find update Bulk find
  • 您最喜欢的 JS/CSS 下拉菜单是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 希望在网站上实现一个 只是好奇其他人都使用过什么以及他们有过什么样的体验 EDIT我也不是一个超级粉丝
  • ZF2 - 从路线生成 URL

    我无法弄清楚在 zend 2 中从我想要的任何地方生成 Url 我得到了动作和控制器 所以我尝试这个 this gt url myControllerName array action gt myActionName 但这返回一个对象 我只
  • mysql中的按位移位

    如何在 MySQL 中进行按位移位 有没有具体的指令或者操作符 如果不是 如何最佳地模拟它 看一下按位运算符MySQL first http dev mysql com doc refman 5 0 en bit functions htm
  • 在同一条线上铸造两次

    我在项目中看到了这段代码 b的类型是void void b int a int unsigned long b 这条线毫无意义吗 我的意思是 这与a int b在所有情况下 这可能会避免 64 位 Unix 系统上的编译器警告unsigne
  • Ruby on Rails 中的三重连接

    我对 Ruby on Rails 中的关联有疑问 应用程序中有项目 用户 角色和组 项目属于一个有用户的组 一个用户可以属于多个不同的组 但只能在该组中拥有一个特定的角色 例如 在一个组中 用户是项目所有者 但在另一个组中 他是作家 使用
  • 将 SQL 结果分配给 DataStage 中的作业参数

    我刚刚开始使用 Datastage 版本 11 5 并且尝试将简单 SQL 查询 从表中选择 max date col 的值分配给作业参数 以便我可以将其用作从工作 任何人都可以指出一个简单的方法来解决这个问题 因为我对如何在参数值中包含
  • 预训练 inception v3 模型的层名称(tensorflow)[重复]

    这个问题在这里已经有答案了 任务是获取a的每层输出预训练的 cnn inceptionv3 https www tensorflow org versions master tutorials image recognition index