tf.train.Saver() 与tf.train.import_meta_graph要点

(一)、tf.train.Saver()
(1). tf.train.Saver() 是用来保存tensorflow训练模型的,默认保存全部参数
(2). 用来加载参数,:只加载存储在data中的权重和偏置项等需要训练的参数,其他一律不加载,
包括meta文件中的图也不加载

tf.train.Saver() 与tf.train.import_meta_graph要点_第1张图片
tf.train.Saver() 与tf.train.import_meta_graph要点_第2张图片

(二)、tf.train.import_meta_graph
(1). 用来加载meta文件中的图,以及图上定义的结点参数包括权重偏置项等需要训练的参数,也包括训练过程生成的中间参数,所有参数都是通过graph调用接口get_tensor_by_name(name="训练时的参数名称")来获取
tf.train.Saver() 与tf.train.import_meta_graph要点_第3张图片
(三)、总结
(1). 保存使用tf.train.Saver()
(2). 加载可以使用tf.train.import_meta_graph(".meta文件"),直接通过训练参数名称就可以获取需要的参数,但需要提前知道训练时的参数名称才能获取,要懂得tensorflow命名规则
(3). tf.train.Saver("./checkpoints目录/")加载的缺点是只加载了训练参数,并且必须定义与之相同(shape,dtype要相同,tf.type要相同,如:我是placeholder,你也是tf.placeholder)方能使用,当你要获取训练中间参数时,需要和训练过程一样搭建相同的网络.

你可能感兴趣的:(深度学习,tensorflow)