张量的形状描述了张量中每个维度的元素数量。
打印张量时,TensorFlow会输出张量的形状,你也可以直接获取张量的形状属性。
import tensorflow as tf # 张量形状 m_shape = tf.constant([ [10, 11], [12, 13], [14, 15] ] ) m_shape.shape
输出
TensorShape([Dimension(3), Dimension(2)])
矩阵有3行2列。
TensorFlow中,有一些有用的函数,可以指定形状创建张量。
创建元素值为0,形状为(10)
的张量。
# 创建元素值为0的张量 print(tf.zeros(10))
输出
Tensor("zeros:0", shape=(10,), dtype=float32)
创建元素值为1,形状为(10,10)
的张量。
import tensorflow as tf # 创建元素值为1,形状为`(10,10)`的张量 print(tf.ones([10, 10]))
输出
Tensor("ones:0", shape=(10, 10), dtype=float32)
指定形状时,可以引用已有张量的形状。
矩阵m_shape是一个3×2的形状。可以用下面的代码创建一个长度与m_shape行数相同的向量:
# 创建一个与m_shape行数相同的向量,元素值为1 print(tf.ones(m_shape.shape[0]))
输出
Tensor("ones_1:0", shape=(3,), dtype=float32)
创建一个长度与m_shape列数相同的向量:
# 创建一个长度与m_shape列数相同的向量,元素值为1 print(tf.ones(m_shape.shape[1]))
输出
Tensor("ones_2:0", shape=(2,), dtype=float32)
最后,你可以创建一个形状与m_shape相同的张量:
print(tf.ones(m_shape.shape))
输出
Tensor("ones_3:0", shape=(3, 2), dtype=float32)
本文来自博客园,作者:大码王,转载请注明原文链接:https://www.cnblogs.com/huanghanyu/