ryu*_*nho 6 machine-learning tensorflow
我在Tensorflow中有多种架构。其中一些共享某些零件的设计。
我想训练一个网络,并在另一个网络中使用经过训练的相似层的权重。
此时,我可以保存所需的权重,并将其重新加载到具有与变量完全相同的命名约定的体系结构中。
但是,当权重在两个网络中具有不同的名称时,将无法还原。对于第一个网络,我有以下命名约定:
在第二个网络中,我有这个:
除此之外,变量在形状方面相似。重新加载时是否可以更改名称,或告诉Tensorflow在哪里适合这些变量?
编辑:我从@batzner找到了这个脚本,该脚本允许重命名Tensorflow检查点的变量:tensorflow_rename_variables。
它不起作用。我收到以下错误:
ValueError: Couldn't find 'checkpoint' file or checkpoints in given directory ./joint_pos_tagger_lemmatizer/fi/
Run Code Online (Sandbox Code Playgroud)
小智 6
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(...)
Run Code Online (Sandbox Code Playgroud)
如果要还原更多变量,只需扩展字典。
| 归档时间: |
|
| 查看次数: |
2519 次 |
| 最近记录: |