TensorFlow中的Shape如何理解

TensorFlow中的Shape如何理解

一、前言

​ 初学TensorFlow时,无法理解其中的Shape是什么意思。笔者查找一些资料后理解了Shape的含义。

二、如何理解

import tensorflow as tf
tf.enable_eager_execution()

a = tf.constant(1)
b = tf.constant(1)
c = a + b

print(c)

输出

tf.Tensor(2, shape=(), dtype=int32)

之后笔者又运行了以下几组代码

输入

import tensorflow as tf
tf.enable_eager_execution()

a = tf.constant([1])
b = tf.constant([1])
c = a + b

print(c)

输出

tf.Tensor([2], shape=(1,), dtype=int32)

输入

import tensorflow as tf
tf.enable_eager_execution()

a = tf.constant([1, 1])
b = tf.constant([1, 1])
c = a + b

print(c)

输出

tf.Tensor([2, 2], shape=(1,), dtype=int32)

再根据我们的理解可以理解为:

​ TensorFlow时用张量这种数据结构来表示所有的数据。同时可以把初级的TensorFlow理解为线性代数的计算工具。Shape表示为张量的阶(但是此时又区分与线代中的阶),几何意义可以大致理解为张量(向量)的几何维度。而[ ]中的内容可以理解为向量中的维度界。而无[ ]这个界进行限制则可以理解为无法构成向量。这样就可以很好的理解TensorFlow中的Shape了。

扫描二维码关注公众号,回复: 5738308 查看本文章

注意:矩阵的阶表示矩阵的大小,比如n阶矩阵就是n*n的矩阵,而张量的阶表示维度的意思。

三、总结

​ TensorFlow用张量这种数据结构来表示所有的数据。你可以把一个张量想象成一个n维的数组或列表。一个张量有一个静态类型和动态类型的维数。张量可以在图中的节点之间流通。

​ 在TensorFlow系统中,张量的维数来被描述为阶。但是张量的阶和矩阵的阶并不是同一个概念。张量的阶(有时是关于顺序或度数或者是n维)是张量维数的一个数量描述。

猜你喜欢

转载自blog.csdn.net/JMU_Ma/article/details/88932907