TensorFlow 学习

来源:互联网 发布:华西附二院抢号软件 编辑:程序博客网 时间:2024/06/05 19:24

变量是存储和更新参数的。变量会被放入内存中。


变量的创建和初始化:

函数Variable(),初始值可以是随机值也可以是常量,初始值需要制定shape,通常shape是固定的,但是也可以通过一些高级方法调整。创建变量之后需要定义一个初始化的操作,而且在使用任何变量之前需要运行初始化的操作。

例如:

 

import tensorflow as tf#创建变量并指定shapeweights = tf.Variable(tf.random_normal([20,10], stddev=0.35), name="weights")biases = tf.Variable(tf.zeros([10]), name="biases")#定义初始化的操作init = tf.initialize_all_variables()#在运行模型之前需要首先初始化with tf.Session() as sess:    sess.run(init)    print weights.eval()    print biases.eval()


tf.initialize_all_variables()  这个OP并行的初始化所有的变量。所以在用一个变量的值给另外一个变量初始化的时候要注意

变量也可以初始化为常量,

序列 :    tf.linspace()    tf.range()

随机数: tf.random_normal(shape, mean=0.0, stddev=1.0. dtype=tf.float32,  seed=None, name=None)  正态分布


变量的保存和加载:

训练模型之后保存模型,一般用 tf.train.Saver 如下:

import tensorflow as tf#创建变量v1 = tf.Variable([1,2,3,4,5], name="v1")v2 = tf.Variable([11,12,13,14], name="v2")#并行初始化的opinit = tf.initialize_all_variables()#保存变量的opsaver = tf.train.Saver()with tf.Session() as sess:    sess.run(init)    #模型的一些op    print v1.eval()    print v2.eval()    #保存变量    save_path = saver.save(sess,"model/model.ckpt")    print "Model saved in file:", save_path

加载:

import tensorflow as tfv3 = tf.Variable([0,0,0,0,0], name='v1')v4 = tf.Variable([0,0,0,0], name='v2')saver = tf.train.Saver()with tf.Session() as sess:    saver.restore(sess,"model/model.ckpt")    print "Model restored."    print v3.eval()    print v4.eval()
在从文件中恢复的时候,不需要事先初始化。tf.Variable()里的name参数一定要与原来的变量名称一致,这样才能恢复到对应的变量。



原创粉丝点击