Tensorflow如何恢复具有不同名称但相同形状的权重?

2023-11-26

我在 Tensorflow 中有多种架构。其中一些共享某些部件的设计。

我想训练其中一个网络,并在另一个网络中使用相似层的训练权重。

此时,我可以保存所需的权重,并将它们重新加载到具有完全相同的变量命名约定的架构中。

然而,当两个网络中的权重名称不同时,就无法恢复。我对第一个网络有这样的命名约定:

  • 选择器_网络/c2w/var1

在第二个网络中我有这个:

  • joint_network/c2w/var1

除此之外,变量在形状方面相似。是否有可能在重新加载时更改名称或告诉 Tensorflow 在哪里适合这些变量?

EDIT:我从 @batzner 找到了这个脚本,它允许重命名 Tensorflow 检查点的变量:张量流重命名变量.

它不起作用。我收到以下错误:

ValueError: Couldn't find 'checkpoint' file or checkpoints in given directory ./joint_pos_tagger_lemmatizer/fi/

tf.train.Saver有内置支持使用字典var_list争论。该字典将检查点文件中的对象名称映射到要恢复的变量。

如果你想用“选择器网络”的检查点恢复“联合网络”,你可以这样做:

# var1 is the variable you want ot restore
saver = tf.train.Saver(var_list={'selector_network/c2w/var1': var1})
saver.restore(...)

如果你想恢复更多变量,你只需扩展字典即可。

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

Tensorflow如何恢复具有不同名称但相同形状的权重? 的相关文章

随机推荐

  • 我的类使用了多少内存实例 - 务实的答案

    调用构造函数后 以下类的实例有多大 我想这通常可以写成 size nx c 其中 x 4 在 x86 中 x 8 在 x64 中 n c NET 中是否有某种方法可以返回这个数字 class Node byte a int b List
  • 将日期插入 SQL

    我指定了以下日期时间 dateChanged Get Date Format yyyy MM dd hh mm ss fff 我想使用以下 PowerShell 将其插入 SQL 日期时间字段 INSERT INTO myTable nam
  • 如何使用简单注入器装饰 ASP.NET MVC 控制器

    我想对我的 MVC 控制器应用一些横切关注点 目前 这是通过抽象基类实现的 但是当我们重构更多的代码库以利用依赖注入时 我想知道 Simple Injector 是否可以通过其装饰或拦截设施来帮助我 所以我尝试创建一个非常基本的装饰器 pu
  • 将数据框写入 Excel 工作表时,出现 AttributeError 'Workbook' 对象没有属性 'add_worksheet'

    我有以下代码 我正在尝试将数据框写入 Excel 文件的 现有 工作表 此处称为 test xlsx Sheet3 是我想要放置数据的目标工作表 并且我不想用新工作表替换整个工作表 df pd DataFrame Data 10 20 30
  • 在 Sublime text 2 中运行代码 (Mac OS X)

    我正在尝试在 sublime text 2 中运行 C 代码 我注意到 scanf 似乎被完全忽略 尽管它在 xcode 和带有 gcc 的终端中运行良好 我个人更喜欢 sublime text 的外观 有办法解决这个问题吗 这已经在 SO
  • 为什么 Dictionary 不支持 null key? [复制]

    这个问题在这里已经有答案了 首先 why不Dictionary
  • 优雅地退出应用程序?

    我有一个具有明确定义的 Try Catch Finally 链的应用程序 该应用程序在正常情况下退出并执行finally 块 但是当有人过早地点击 GUI 中的红色 X 时 该程序完全存在 代码 0 并且主线程的finally 块未被调用
  • pandas 将一列的一部分替换为另一列

    我有一个 pandas 数据框 我们称之为data data有两列 列a和列b 像这样 a b 0 aaa tts 1 abb tst 2 aba tss 我想更换每个 a 在列中a带柱b 像这样 a b 0 ttsttstts tts 1
  • 如何在bash中分割由/分隔的字符串

    我必须在 bash 脚本中用 分割字符串 但我尝试过 for i in echo www tr 但它不起作用 有什么建议吗 多谢 IFS read a foo lt lt lt abc def ghi jkl echo foo 0 foo
  • 错误[E0463]:在为 wasm32-unknown-unknown 构建 Rust 项目时找不到“core”的包

    我收到以下错误消息 error E0463 can t find crate for core note the wasm32 unknown unknown target may not be installed error aborti
  • 计算对象中非空字段的数量

    我有一个UserProfile包含用户数据的类 如下所示 class UserProfile private String userId private String displayName private String loginId p
  • 带有容器和默认分配器的模板模板参数:我可以使我的声明更紧凑吗?

    我正在看这个有趣的话题 https stackoverflow com a 16596463 2436175 我的具体案例涉及使用 opencv 中的 cv Point 和 cv Rect 的 std 容器声明模板化函数 我想要针对以下模板
  • spoj ARRAYSUB:O(n) 复杂度方法

    我试图在 spoj 上解决这个问题http spoj pl problems ARRAYSUB 我用两种方法解决了这个问题 首先使用优化的蛮力 其次在 k 2k 3k 等处进行枢轴并找到最大值 尽管这两种解决方案在最坏情况下都被接受 但复杂
  • 订阅 Meteor.Users 集合

    in server js Meteor publish directory function return Meteor users find fields emails 1 profile 1 in client js Meteor su
  • 强制对象评估为 false

    我猜这可能是特定于应用程序的 但我使用的是node js 只要它在v8引擎中工作 我不介意 我正在尝试创建一个Object评估结果为 false 例如 var Foo function return this var bar new Foo
  • java file.renameTo() 确实重命名文件但返回 false。为什么?

    问题是我需要在其余逻辑工作之前移动文件 因此当该方法返回 false 时我停止执行 但是 当我在 Windows 资源管理器中检查该文件时 它有一个新名称并且已移动 只是好奇为什么会发生这种情况 这是我刚刚尝试重现问题的一些示例代码 这几乎
  • iOS 10 中收不到推送通知

    我的应用程序在 Appstore 中 推送通知在 iOS 9 中工作正常 但在 iOS 10 中不起作用 我没有收到任何 iOS 10 设备的推送通知 我已检查服务器中的设备令牌和证书 全部正确 我还检查了设置应用程序中的通知属性 一切都很
  • 释放鼠标捕获并让鼠标点击通过

    我有一个类似于弹出窗口或菜单的控件 我想显示它 当用户单击框的边界之外时 让它隐藏自己 我使用了 Mouse Capture this CaptureMode SubTree 并以与 OnLostMouseCapture 中的 Menu P
  • google.colab 模块中是否有一个函数可以关闭运行时

    有时 当我在 google colab 中运行时 当运行完成时 我无法留在计算机前手动断开与服务器的连接 即使我的运行已完成 无缘无故占用节点 连接仍保持打开状态 google colab 中是否有一个函数 可以让我插入该函数以在一些纪元后
  • Tensorflow如何恢复具有不同名称但相同形状的权重?

    我在 Tensorflow 中有多种架构 其中一些共享某些部件的设计 我想训练其中一个网络 并在另一个网络中使用相似层的训练权重 此时 我可以保存所需的权重 并将它们重新加载到具有完全相同的变量命名约定的架构中 然而 当两个网络中的权重名称