对Tensorflow中tensor的理解

Posted 下路派出所

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对Tensorflow中tensor的理解相关的知识,希望对你有一定的参考价值。

Tensor即张量,在tensorflow中所有的数据都通过张量流来传输,在看代码的时候,对张量的概念很不解,很容易和矩阵弄混,今天晚上查了点资料,并深入了解了一下,简单总结一下什么是张量的阶,以及张量的shape是什么?

在tensorflow中,张量的维数被描述为“阶”,张量是以list的形式存储的。list有几重中括号,对应的张量就是几阶。如t=[ [1,2,3],[4,5,6],[7,8,9] ],t就是一个二阶张量。

我们可以认为,一阶张量,如[1,2,3],相当于一个向量,二阶张量,如[ [1,2,3],[4,5,6],[7,8,9] ],相当于一个矩阵。

对于t=[ [1,2,3],[4,5,6],[7,8,9] ]来说,它的shape==>[3,3],shape可以理解成:当脱去最外层的一对中括号后,里面有3个小list,然后每个小list里又有3个元素,所以该张量的shape==>[3,3]。

举几个例子,如[ [1,2,3],[4,5,6] ] 的shape=[2,3](因为当脱去最外层的一对中括号后,里面有2个小list,然后每个小list里又有3个元素,所以该张量的shape==>[2,3]。)

又如,[ [ [ [ 2 ], [ 2 ] ] , [ [ 2 ] ,  [ 2 ] ] , [ [ 2 ] ,  [ 2 ] ] ] ,  [ [ [ 2 ] ,  [ 2 ] ] ,  [ [ 2 ] ,  [ 2 ] ] ,  [ [ 2 ] ,   [ 2 ] ] ] ,  [ [ [ 2 ] ,  [ 2 ] ] , [ [ 2 ] , [ 2 ] ] , [ [ 2 ] , [ 2 ] ] ] , [ [ [ 2 ] , [ 2 ] ] , [ [ 2 ] ,  [ 2 ] ] , [ [ 2 ] , [ 2 ] ] ] ]的shape==>[4,3,2,1] (因为当脱去最外层的一对中括号后,里面有4个第二大的list,每个第二大的list里又有3个第三大的list,每个第三大的list里有2个第四大的list,每个第四大的list里有1个元素,所以该张量的shape==>[4,3,2,1]。

以上是关于对Tensorflow中tensor的理解的主要内容,如果未能解决你的问题,请参考以下文章

如何理解TensorFlow中的tensor

Tensorflow:TypeError:预期的二进制或 unicode 字符串,得到 <tf.Tensor 'Placeholder:0' shape=<unknown> dtyp

TensorFlow入门

tensorflow 中 reduce_sum 理解

[TensorFlow系列-15]:TensorFlow基础 - 张量的操作 - 拆分与分割

[TensorFlow系列-14]:TensorFlow基础 - 张量的操作 - 拼接与堆叠