tf.get_variable(name, shape, initializer): name就是变量的名称,shape是变量的维度,initializer是变量初始化的方式,初始化的方式有以下几种:
tf.constant_initializer:常量初始化函数
tf.random_normal_initializer:正态分布
tf.truncated_normal_initializer:截取的正态分布
tf.random_uniform_initializer:均匀分布
tf.zeros_initializer:全部是0
tf.ones_initializer:全是1
tf.uniform_unit_scaling_initializer:满足均匀分布,但不影响输出数量级的随机值
get_variable不只是定义tensor的维度,而且给出随机值(初始化)代码如下:
#coding:utf-8
import tensorflow as tf
pos1_embedding = tf.get_variable('pos1_embedding', [2, 5])
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
print(sess.run(pos1_embedding))
由运行结果可以看出,两次随机出的结果是不一样的,这里的结果是引用别人的结果,是为了给大家展示一下效果。