tensorflow维度变换

184 阅读1分钟

维度变换

改变张量形状

tf.reshape(tensor,shape)

shape中出现-1时表示自动计算该维度元素个数。

增加维度,增加的这个维度上,长度为1

tf.ecpand_dims(input,axis)

删除维度:只能删除长度为1的维度

tf.squeeze(input,axis)

交换维度:对于二维矩阵就相当于转置。

tf.transpose(a,perm)

拼接张量

pf.concat(tensor,axis)

分割张量:将一个张量拆分成多个张量,分割后维度不变

tf.split(value,num,axis=0)

中间参数表示分割的分数,若为列表这表示每个张量的长度。

堆叠张量:合并张量时,创建一个新维度

tf.stack(values,axis)

部分采样

  • 索引
    在这里插入图片描述
    gather()函数:用一个索引列表,将给定张量中,对应索引值的元素提取出来。
    在这里插入图片描述
    对多维张量采样:需要制定轴axis
gather(params,axis,indices)

在这里插入图片描述

张量运算

  • 基本数学运算:各个张量中元素的数据类型必须一致
    在这里插入图片描述

  • 幂指对数运算
    在这里插入图片描述

    • 其他运算
      在这里插入图片描述
      在这里插入图片描述
  • 重载运算符
    在这里插入图片描述