深度学习Tensor flow 学习回忆(一)

深度学习Tensor flow 学习回忆(一)

关于Tensorflow中的变量使用问题。

所应该掌握的有 :
1、变量的几种定义方法
2、变量的初始化和使用

一、变量的定义

方法一:tf.Variable

tf.Variable.init(initial_value, trainable=True, collections=None, validate_shape=True, name=None)
在这里插入图片描述
具体实现

import tensorflow as tf
v = tf.Variable(tf.constant([[1,0,3],[2,3,4]]))
v2 = tf.Variable(tf.random_normal((2,3),stddev=0.1,seed=2))
v3 = tf.Variable(tf.zeros([3,3]))

解析:
   第一种方法定义变量,可以定义常量如:v,也可以定义随机数,如v2,
常用的分布有:
输入参数: shape, 标准差,随机种子数(保证随机一致)

  • tf.random_normal((row,col),std=1,seed=2)
  • tf.truncated_normal((row,col),std=1,seed=2)

二、变量的使用

所有变量在使用前必须进行初始化,才可以,初始化分为全局初始化和单个初始化,而不管哪种初始化,必须借助会话,Session来进行,

tf.Session(变量.initializer)

单个变量使用如下所示:
   定义一个Session,接着run( 变量.initializer)即可。
   初始化后,查看变量数值,则Session.run(变量)

g = tf.Variable(tf.random_normal([2,3],stddev=2))
temp =tf.Session()
init = g.initializer
temp.run(init)
temp.run(g)
结果如下
array([[-0.96298575,  0.1976302 ,  1.98015869],
       [-0.09323252,  0.54463059, -3.46403217]],
        dtype=float32)

一次使用多个变量

temp = tf.InteractiveSession()

可以将temp会话,作为全局默认会话,定义之后,则可以对各个变量、常量进行操作,操作方式是: .run() .eval()等等。

import tensorflow as tf 
# 全局
temp = tf.InteractiveSession()
# 定义变量
weight = tf.Variable(tf.random_normal([3,3],
								stddev=2))
# 变量初始化创建
init_var = tf.global_variables_initializer()
# 初始化
init_var.run()
print(temp.run(weight))
weight.eval()
结果如下:
Out[27]:
[[-0.82149386 -2.55897689  1.25945139]
 [-0.18189526 -0.25037572 -0.87734908]
 [ 0.40856707 -1.21324348  1.51822197]]
array([[-0.19481958, -2.27363968, -4.94583416],
       [-0.80519593,  2.04668927,  0.8613655 ],
       [-0.57223797, -2.1343832 , -1.51089489]],
        dtype=float32)

猜你喜欢

转载自blog.csdn.net/qq_41780650/article/details/83154867
今日推荐