python transpose函数_Tensorflow:转置函数transpose的使用详解

我就废话不多说,咱直接看代码吧!

tf.transpose

transpose(

a,

perm=None,

name='transpose'

)

Defined in tensorflow/python/ops/array_ops.py.

See the guides: Math > Matrix Math Functions, Tensor Transformations > Slicing and Joining

Transposes a. Permutes the dimensions according to perm.

The returned tensor's dimension i will correspond to the input dimension perm[i]. If perm is not given, it is set to (n-1…0), where n is the rank of the input tensor. Hence by default, this operation performs a regular matrix transpose on 2-D input Tensors.

For example:

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

tf.transpose(x) # [[1, 4]

# [2, 5]

# [3, 6]]

tf.transpose(x, perm=[1, 0]) # [[1, 4]

# [2, 5]

# [3, 6]]

# '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

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

# [2, 5],

# [3, 6]],

# [[7, 10],

# [8, 11],

# [9, 12]]]

a的转置是根据 perm 的设定值来进行的。

返回数组的 dimension(尺寸、维度) i与输入的 perm[i]的维度相一致。如果未给定perm,默认设置为 (n-1…0),这里的 n 值是输入变量的 rank 。因此默认情况下,这个操作执行了一个正规(regular)的2维矩形的转置

例如:

x = [[1 2 3]

[4 5 6]]

tf.transpose(x) ==> [[1 4]

[2 5]

[3 6]]

tf.transpose(x) 等价于:

tf.transpose(x perm=[1, 0]) ==> [[1 4]

[2 5]

[3 6]]

a=tf.constant([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])

array([[[ 1, 2, 3],

[ 4, 5, 6]],

[[ 7, 8, 9],

[10, 11, 12]]])

x=tf.transpose(a,[1,0,2])

array([[[ 1, 2, 3],

[ 7, 8, 9]],

[[ 4, 5, 6],

[10, 11, 12]]])

x=tf.transpose(a,[0,2,1])

array([[[ 1, 4],

[ 2, 5],

[ 3, 6]],

[[ 7, 10],

[ 8, 11],

[ 9, 12]]])

x=tf.transpose(a,[2,1,0])

array([[[ 1, 7],

[ 4, 10]],

[[ 2, 8],

[ 5, 11]],

[[ 3, 9],

[ 6, 12]]])

array([[[ 1, 7],

[ 4, 10]],

[[ 2, 8],

[ 5, 11]],

[[ 3, 9],

[ 6, 12]]])

x=tf.transpose(a,[1,2,0])

array([[[ 1, 7],

[ 2, 8],

[ 3, 9]],

[[ 4, 10],

[ 5, 11],

[ 6, 12]]])

以上这篇Tensorflow:转置函数 transpose的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持www.ic2.cn。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值