当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.transpose用法及代码示例


转置 a

用法

tf.compat.v1.transpose(
    a, perm=None, name='transpose', conjugate=False
)

参数

  • a 一个Tensor
  • perm a 的尺寸排列。
  • name 操作的名称(可选)。
  • conjugate 可选的布尔值。将其设置为 True 在数学上等同于 tf.math.conj(tf.transpose(input))。

返回

  • 转置的 Tensor

根据 perm 排列尺寸。

返回的张量维度 i 将对应于输入维度 perm[i] 。如果没有给出perm,则设置为(n-1...0),其中n是输入张量的秩。因此,默认情况下,此操作对二维输入张量执行常规矩阵转置。如果 conjugate 为 True 且 a.dtypecomplex64complex128a 的值被共轭和转置。

例如:

x = tf.constant([[1, 2, 3], [4, 5, 6]])
tf.transpose(x)  # [[1, 4]
                 #  [2, 5]
                 #  [3, 6]]

# Equivalently
tf.transpose(x, perm=[1, 0])  # [[1, 4]
                              #  [2, 5]
                              #  [3, 6]]

# If x is complex, setting conjugate=True gives the conjugate transpose
x = tf.constant([[1 + 1j, 2 + 2j, 3 + 3j],
                 [4 + 4j, 5 + 5j, 6 + 6j]])
tf.transpose(x, conjugate=True)  # [[1 - 1j, 4 - 4j],
                                 #  [2 - 2j, 5 - 5j],
                                 #  [3 - 3j, 6 - 6j]]

# 'perm' is more useful for n-dimensional tensors, for n > 2
x = tf.constant([[[ 1,  2,  3],
                  [ 4,  5,  6]],
                 [[ 7,  8,  9],
                  [10, 11, 12]]])

# Take the transpose of the matrices in dimension-0
# (this common operation has a shorthand `linalg.matrix_transpose`)
tf.transpose(x, perm=[0, 2, 1])  # [[[1,  4],
                                 #   [2,  5],
                                 #   [3,  6]],
                                 #  [[7, 10],
                                 #   [8, 11],
                                 #   [9, 12]]]

numpy 兼容性

numpy 中,转置是节省内存的常数时间操作,因为它们只是返回具有调整后的相同数据的新视图 strides

TensorFlow 不支持跨步,因此 transpose 返回一个新张量,其中项目已置换。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.transpose。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。