TensorFlow的常量值张量和序列

常量值张量(Constant Value Tensors)
TensorFlow提供了多种方式生成常量值的张量。与变量不同, 常量在运行前不再需要显式初始化。
tf.constant
这一个最为常见。定义如下:
tf.constant(value, dtype=None, shape=None, name='Const', verify_shape=False)
value为常量值或者列表,dtype为类型,shape为张量形状,name为名称、verify_shape为用于验证值的形状,默认False。
tensor = tf.constant([1, 2, 3, 4, 5, 6, 7]) # tensor的输出值是 [1 2 3 4 5 6 7]
tensor = tf.constant(-1.0, shape=[2, 3]) #tensor的输出值是[[-1. -1. -1.],[-1. -1. -1.]]
tf.zeros tf.zeros_like
tf.zeros(shape, dtype=tf.float32, name=None)
创建一个所有元素都设置为零的张量。shape为张量形状,dtype为类型,name为名称。
z = tf.zeros([3, 4], tf.int32)  # z的值是[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
tf.zeros_like(tensor, dtype=None, name=None, optimize=True)
给定一个张量(tensor),该操作返回与给定的张量相同类型和形状的张量,该返回张量的所有元素会被设置为零。或者使用dtype指定返回张量的新类型。
tensor为给定的张量,dtype为类型,name为名称,optimize为优化项,如果为true,则尝试静态确定“张量”的形状并将其编码为常量。
tensor = tf.constant([[1, 2, 3], [4, 5, 6]])
a = tf.zeros_like(tensor)  # a的值是[[0, 0, 0], [0, 0, 0]]
tf.ones tf.ones_like
与tf.zeros()和tf.zeros_like()类似

tf.fill
tf.fill(dims, value, name=None)
tf.zeros()和tf.ones()是以0和1填充张量,而tf.fill()则可以指定要填充的值。
参数dims表示输出张量的形状。value为要填充的值。name为名称。
f = tf.fill([2, 3], 9)   #f的值为[[9,9,9],[9,9,9]]

序列(Sequences)
与变量不同, 序列在运行前不再需要显式初始化。
tf.linspace
tf.linspace(start, stop, num, name=None)
产生一个等差数列一维向量,初始值是start、结束值是stop,个数是num。这个数列每次的增量是(stop - start)/(num-1)。
l = tf.linspace(10.0, 12.0, 3, name="linspace") # l的值是 [ 10.0, 11.0,  12.0], 每次增长(12-10)/(3-1) = 1
k = tf.linspace(10.0, 12.0, 5") # k的值是 [ 10.0, 10.5,  11.0, 11.5,  12.0], 每次增长(12-10)/(5-1) = 0.5
j = tf.linspace(10.0, 8.0, 3") # j的值是 [10.0, 9.0, 8.0], 值往小增长。
tf.range
tf.range(limit, delta=1, dtype=None, name='range')
tf.range(start, limit, delta=1, dtype=None, name='range')
产生一个等差数列的一维向量,初始值是start,增量是delta,结束值小于limit。start是初始值,如果不指定,默认是0;delta是增量,默认是1。limit是这个数列的最大值,但不包括在内,也就是说这个数列的最大值不能大于或者等于limit;dtype为类型;name为名称。
start = 3
limit = 18
delta = 3
r = tf.range(start, limit, delta)  # r = [3, 6, 9, 12, 15],数列从3开始,每次向上增长3,但最大不超过18
limit = 5
r2 = tf.range(limit)  #r2 = [0, 1, 2, 3, 4],数列从0开始,增量是1,一直增长到4

参考文档:

猜你喜欢

转载自blog.csdn.net/chinagreenwall/article/details/80772623