TensorFlow使用说明及接口函数

【转载】TensorFlow学习笔记(5)----TF生成数据的

2017-12-20  本文已影响32人  dopami

原文链接:blog.csdn.net/phdat101/article/details/52442738

正常情况下,使用tf.initialize_all_variables()初始化变量,在完全构建好模型并加载之后才运行这个操作。生成数据的主要方法如下

1)如果需要利用已经初始化的参数给其他变量赋值

TF的变量有个initialized_value()属性,就是初始化的值,使用方法如下:

[python]view plaincopy

# 原始的变量

weights = tf.Variable(tf.random_normal([784,200], stddev=0.35),name="weights")

# 创造相同内容的变量

w2 = tf.Variable(weights.initialized_value(), name="w2")

# 也可以直接乘以比例

w_twice = tf.Variable(weights.initialized_value() *0.2, name="w_twice")

2)生成tensor的一些方法

生成tensor:

tf.zeros(shape, dtype=tf.float32, name=None)

tf.zeros_like(tensor, dtype=None, name=None)

tf.constant(value, dtype=None, shape=None, name='Const')

tf.fill(dims, value, name=None)

tf.ones_like(tensor, dtype=None, name=None)

tf.ones(shape, dtype=tf.float32, name=None)

生成序列

tf.range(start, limit, delta=1, name='range')

tf.linspace(start, stop, num, name=None)

生成随机数

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=None, name=None)

tf.random_shuffle(value, seed=None, name=None)

效果程序:

[python]view plaincopy

importtensorflow as tf

importnumpy as np

# 生成0和1矩阵

v1 = tf.Variable(tf.zeros([3,3,3]), name="v1")

v2 = tf.Variable(tf.ones([10,5]), name="v2")

#填充单值矩阵

v3 = tf.Variable(tf.fill([2,3],9))

#常量矩阵

v4_1 = tf.constant([1,2,3,4,5,6,7])

v4_2 = tf.constant(-1.0, shape=[2,3])

#生成等差数列

v6_1 = tf.linspace(10.0,12.0,30, name="linspace")#float32 or float64

v7_1 = tf.range(10,20,3)#just int32

#生成各种随机数据矩阵

v8_1 = tf.Variable(tf.random_uniform([2,4], minval=0.0, maxval=2.0, dtype=tf.float32, seed=1234, name="v8_1"))

v8_2 = tf.Variable(tf.random_normal([2,3], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name="v8_2"))

v8_3 = tf.Variable(tf.truncated_normal([2,3], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name="v8_3"))

v8_4 = tf.Variable(tf.random_uniform([2,3], minval=0.0, maxval=1.0, dtype=tf.float32, seed=1234, name="v8_4"))

v8_5 = tf.random_shuffle([[1,2,3],[4,5,6],[6,6,6]], seed=134, name="v8_5")

# 初始化

init_op = tf.initialize_all_variables()

# 保存变量,也可以指定保存的内容

saver = tf.train.Saver()

#saver = tf.train.Saver({"my_v2": v2})

#运行

with tf.Session() as sess:

sess.run(init_op)

# 输出形状和值

printtf.Variable.get_shape(v1)#shape

printsess.run(v1)#vaule

# numpy保存文件

np.save("v1.npy",sess.run(v1))#numpy save v1 as file

test_a = np.load("v1.npy")

printtest_a[1,2]

#一些输出

printsess.run(v3)

v5 = tf.zeros_like(sess.run(v1))

printsess.run(v6_1)

printsess.run(v7_1)

printsess.run(v8_5)

#保存图的变量

save_path = saver.save(sess,"/tmp/model.ckpt")

#加载图的变量

#saver.restore(sess, "/tmp/model.ckpt")

print"Model saved in file: ", save_path

上一篇下一篇

猜你喜欢

热点阅读