TensorFlow 更改张量的形状以及转置

2022-12-24 08:16:15

首先我们定义一个v3变量

v3 = tf.get_variable('v3', shape=[4,9],initializer=tf.constant_initializer())

查看v3的形状

>>>v3.shape
TensorShape([Dimension(4), Dimension(9)])

定义v4更改v3的形状

v4 = tf.reshape(v3, [2,2,3,1,3,1,1,1,1])

查看v4的形状

>>>v3.shape
TensorShape([Dimension(4), Dimension(9)])

>>>v4.shape
TensorShape([Dimension(2), Dimension(2), Dimension(3), Dimension(1), Dimension(3), Dimension(1), Dimension(1), Dimension(1), Dimension(1)])

定义v5更改v3的形状(带有-1)

v5 = tf.reshape(v3, [2,2,-1,3])

查看v5的形状

>>>v3.shape
TensorShape([Dimension(4), Dimension(9)])

>>>v5.shape
TensorShape([Dimension(2), Dimension(2), Dimension(3), Dimension(3)])

增加v3长度为1的维度

v7 = tf.expand_dims(v3,axis=-1)

查看v7的形状

>>>v3.shape
TensorShape([Dimension(4), Dimension(9)])

>>>v7.shape
TensorShape([Dimension(4), Dimension(9), Dimension(1)])

在指定的位置增加v3的维度

v8 = tf.expand_dims(v3,axis=1)

查看v8的形状


>>>v3.shape
TensorShape([Dimension(4), Dimension(9)])

>>>v8.shape
TensorShape([Dimension(4), Dimension(1), Dimension(9)])


进行矩阵的转置

v9 = tf.transpose(v3)

查看v9的形状

>>>v3.shape
TensorShape([Dimension(4), Dimension(9)])

>>>v9.shape
TensorShape([Dimension(9), Dimension(4)])

  • 作者:小鹏AI
  • 原文链接:https://pengzhang.blog.csdn.net/article/details/106719261
    更新时间:2022-12-24 08:16:15