TensorlFlow中的一些坑

来源:互联网 发布:外贸进出口软件 编辑:程序博客网 时间:2024/06/05 21:13

model saver

  1. issue link:Saving and Restoring a trained LSTM in Tensor Flow
    问题描述:在保存TensorFlow中的RNN/LSTM模型的时候,需要在LSTM模型建立之后再定义saver如:
### Model Training and Saving code### define the LSTM model code heresaver = tf.train.Saver()### train process heresaver.saver(sess, saver_path) 
### Model Predict and Restore code### define the LSTM model code heresaver = tf.train.Saver()saver.restore(sess. saver_path)

事实上,如果是保存一般的variables也需要在定义了variable,如tf.get_variable()或者tf.Variable()中定义了之后,才能create Saver不然的话也会保存失败。下面就是一个例子

    saver = tf.train.Saver()    tf.Variable([1], tf.float32)    with tf.Session() as sess:        sess.run(tf.global_variables_initializer())        saver.save(sess, path)

这样运行将会报错:

ValueError: No variables to save

而将Saver的定义位置换一下,就可以解决问题了。

    tf.Variable([1], tf.float32)    saver = tf.train.Saver()    with tf.Session() as sess:        sess.run(tf.global_variables_initializer())        saver.save(sess, path)
原创粉丝点击