您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:浅谈tf.train.Saver()与tf.train.import_meta_graph的要点

51自学网 2021-10-30 22:37:29
  python
这篇教程浅谈tf.train.Saver()与tf.train.import_meta_graph的要点写得很实用,希望能帮到您。

(一)、tf.train.Saver()

(1). tf.train.Saver() 是用来保存tensorflow训练模型的,默认保存全部参数

(2). 用来加载参数,注:只加载存储在data中的权重和偏置项等需要训练的参数,其他一律不加载,包括meta文件中的图也不加载

tf.train.Saver()_1 tf.train.Saver()_2

(二)、tf.train.import_meta_graph

(1). 用来加载meta文件中的图,以及图上定义的结点参数包括权重偏置项等需要训练的参数,也包括训练过程生成的中间参数,所有参数都是通过graph调用接口get_tensor_by_name(name="训练时的参数名称")来获取

tf.train.import_meta_graph

(三)、总结

(1). 保存使用tf.train.Saver()

(2). 加载可以使用tf.train.import_meta_graph(".meta文件"),直接通过训练参数名称就可以获取需要的参数,但需要提前知道训练时的参数名称才能获取,要懂得tensorflow命名规则

(3). tf.train.Saver("./checkpoints目录/")加载的缺点是只加载了训练参数,并且必须定义与之相同(shape,dtype要相同,tf.type要相同,如:我是placeholder,你也是tf.placeholder)方能使用,当你要获取训练中间参数时,需要和训练过程一样搭建相同的网络.

补充:tf.train.import_meta_graph报KeyError

我在模型恢复时,在执行tf.train.import_meta_graph的时候报错

后来发现,我的模型是在服务器上训练的,服务器上tensorflow版本是1.11.0,而我在本地电脑上执行的 tf.train.import_meta_graph,我本地的tensorflow是1.5.0,我将tensorflow更新到1.11.0后,就解决了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。


tensorflow中的数据类型dtype用法说明
解决Python字典查找报Keyerror的问题
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。