……

张量的形状描述了张量中每个维度的元素数量。

打印张量时,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)     

 

 posted on 2020-06-19 17:10  大码王  阅读(464)  评论(0编辑  收藏  举报
复制代码