TensorFlow2.0相关操作介绍(二)

引言

      本节续前节继续介绍TensorFlow2.0的相关操作。

2、TensorFlow2.0的索引与切片

  • 基本索引

       基本索引的索引方式与list的索引方式类似,对一个张量的每个维度进行索引对应一个[],如下例。

TensorFlow2.0相关操作介绍(二)

  • Numpy类型的索引方式

       当一个张量的维度较多的时候,要对张量进行索引时还是采取基本索引的方式就很难敲繁杂的[],这时就可以引入Numpy类型的索引方式,无论这个张量有多少维度,索引只需要一个[]就可以搞定,[]中的元素依次代表需要索引的维度,如下例。

TensorFlow2.0相关操作介绍(二)

  • start:end:step方式 

       这种索引方式类似于matlab中的索引方式,这个索引方式适用于任何张量的任何维度,可与前面的基本索引方式和Numpy索引方式相结合,当省略step时默认步长为1,当step为负数时,默认从后往前索引,当省略start时,默认从第一个元素开始索引,当省略end时默认从start开始索引到最后一个元素,当start和end都省略时默认索引所有元素,如下例。

TensorFlow2.0相关操作介绍(二)

3、维度变换

  •  reshape函数

       reshape函数用于tensorflow中的维度变换,reshape函数的原则是变换前后无论维度如何变化,但要保持张量的元素个数变,如下例。

        [5,64,64,3]->[5,4096,3]

TensorFlow2.0相关操作介绍(二)

  • transpose

       transpose为转置函数,即对一个张量进行转置,如下例。TensorFlow2.0相关操作介绍(二)

      当transpose带参后可以实现任一维度之间的互换,如下例。TensorFlow2.0相关操作介绍(二)

  • expand_dims

       expand_dims实现对张量的扩维操作,如下例。TensorFlow2.0相关操作介绍(二)

  • squeeze

       squeeze实现对张量的压缩,仅压缩维度上只有一个元素的维度,如下例。 TensorFlow2.0相关操作介绍(二)