Loading

tensorflow2.0张量的维度变换

张量的轴的概念

在这里插入图片描述
如果从后向前访问轴就是使用复数,如上图所示

使用reshape函数改变张量的形状

在这里插入图片描述
将形状参数设置为-1,代表自动判断长度
在这里插入图片描述

增加和删除维度

增加维度

tf.expand_dims(input,axis)

  • input:输入的张量
  • axis:操作的轴

效果就是在选定的轴上添加维度(相当于在选定的那个轴上面添加了一个括号,将那一维变成二维)
在这里插入图片描述
一个多维张量的例子
在这里插入图片描述

删除维度

tf.squeeze(input,axis)

  • input:输入的张量
  • axis:对应要删除的维度

注:只能删除长度为1的维度,如果没有指定维度,默认删除所有长度为1的维度

在这里插入图片描述

交换维度

tf.transpose(a,perm)

  • a:用于交换维度的张量
  • perm:用于设置轴的顺序

在二维的情况下,可以视为是矩阵的转置

二维的情况下

在这里插入图片描述

多维的情况下

在这里插入图片描述

拼接和分割

拼接张量

指定一组张量在某一个轴进行拼接
tf.concat(tensors,axis)

  • tensors:用于拼接的张量
  • axis:拼接的轴,也可以是负数,比如-1代表最后一个轴
    在这里插入图片描述

分割张量

t1 = tf.split(value,num_or_size_splits,axis=0)

  • value:待分割的张量
  • num_or_size_splits:分割的方案,如果是一个数字x,则平均分割x份,如果是一个列表则按照列表中的数字的对应的比例进行分割
  • axis:代表从哪个轴进行分割
  • 返回的参数是分割后的张量列表
    -在这里插入图片描述

堆叠和分解

堆叠

堆叠和拼接是类似的 区别是是否增加了新的维度

tf.stack(values,axis)

  • values:进行堆叠的张量
  • axis:从哪一个轴进行堆叠

在这里插入图片描述

分解

分解是堆叠的逆运算
在这里插入图片描述

posted @ 2021-03-26 11:51  克豪  阅读(664)  评论(0编辑  收藏  举报