TensorFlow学习程序(五):数据的保存和提取

	在将一个神经网络训练好以后,需要将其中的权重、偏值保存下来,从而在下一次使用神经网络时不必训练便可以直接加载参数使用,下面是一个以数据保存和提取为主的程序:
import tensorflow as tf
import numpy as np

#保存到文件(仅能够保存Variables,整个神经网络的框架无法被保存)
W = tf.Variable([[1,2,3],[4,5,6]],dtype=tf.float32,name='weight')
b = tf.Variable([[1,2,3]],dtype=tf.float32,name='biases')

init = tf.initialize_all_variables()

saver = tf.train.Saver() #创立保存方法

with tf.Session() as sess:
    sess.run(init)
    save_path = saver.save(sess,'my_net/save_net.ckpt') #将本次会话保存到my_net中的save_net文件中(格式为ckpt)

#提取文件中的内容(该过程不需要激活)
#先定义两个空框架
W_1 = tf.Variable(np.arange(6).reshape([2,3]),dtype=tf.float32,name='weights_1')
b_1 = tf.Variable(np.arange(3).reshape([1,3]),dtype=tf.float32,name='biases_1')

saver = tf.train.Saver()

with tf.Session() as sess:
    saver.restore(sess,'my_net/save_net.ckpt') #将my_net文件中ckpt格式文件save_net中的Variables加载到本次会话中的W_1,b_1中

你可能感兴趣的:(TensorFlow)