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了。

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

三、总结

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

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

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值