【深度学习】TensorFlow持久化 简概


TensorFlow提供简单的API保存和还原一个神经网络模型tf.tanin.Saver类。

保存计算图的案例:

with tf.Session () as sess:
    model_filename = "./Saved_model/combined_model.pb"

    with gfile.FastGFile (model_filename, 'rb') as f:
        graph_def = tf.GraphDef ()
        graph_def.ParseFromString (f.read ())

    result = tf.import_graph_def (graph_def, return_elements=["add:0"])
    print(sess.run (result))


 

TensorFlow模型一般保存在后缀为.ckpt的文件中。

TensorFlow将计算图结构图上参数分开保存。

.ckpt.meta文件保存了计算图结构

.ckpt文件保存了程序中每一个变量的取值

checkpoint文件保存了一个目录下所有的模型文件列表

案例:

v1 = tf.Variable(tf.constant(1.0, shape=[1]), name = "v1")
v2 = tf.Variable(tf.constant(2.0, shape=[1]), name = "v2")
result = v1 + v2

init_op = tf.global_variables_initializer()
saver = tf.train.Saver()

with tf.Session () as sess:
    saver.restore (sess, "./Saved_model/model.ckpt")
    print(sess.run (result))


 

直接加载已经持久化的图案例:

# 加载持久化的图,无需重复定义图上的运算
saver = tf.train.import_meta_graph("./Saved_model/model.ckpt")
with tf.Session() as sess:
    saver.restore(sess, "./Saved_model/model.ckpt")
    print(sess.run(tf.get_default_graph().get_tensor_by_name("add:0")))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值