一、维度变换
多维张量在物理上以一维的方式连续存储,通过定义维度和形状,在逻辑上把它理解为多维张量。
当对多维张量进行维度变换时,只是改变了逻辑上索引的方式,没有改变内存中的存储方式。
1、改变张量形状
使用函数:tf.reshape(tensor, shape)
shape参数=-1:表示自动推导出长度
2、增加和删除维度
多维张量的轴,就是张量的维度,张量中轴的概念和用法,和 numpy 中一样。
轴也可以是负数,表示从后向前索引。
(1)增加维度
使用函数:tf.expand_dims(tensor, axis):增加指定轴axis的维度,长度为 1。axis 的取值可为正,可为负。
(2)删除维度
tf.squeeze(tensor, asix=None) :tensor 原始张量,axis 要删除的维度(只能删除长度为1的维度,省略时删除所有长度为1的维度)
增加和删除维度,只是改变了张量的视图,不会改变张量的存储。
3、交换维度
tf.transpose(tensor, perm) : perm 调整张量中各个轴的顺序,例如perm=[1,0,2],即表示将tensor张量按照axis为1,0,