deep_learning_Function_tensorflow_transpose()

tf.transpose()的用法

一、tensorflow官方文档内容

transpose(     a,     perm=None,     name='transpose' )

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

See the guides: Math > Matrix Math FunctionsTensor 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' is [[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]]   # 'perm' is more useful for n-dimensional tensors, for n > 2 # 'x' is   [[[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]]]

Args:

  • a: A Tensor.
  • perm: A permutation of the dimensions of a.
  • name: A name for the operation (optional).

Returns:

A transposed Tensor.

 

二、中文翻译

transpose(     a,     perm=None,     name='transpose' )

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

See the guides: Math > Matrix Math FunctionsTensor Transformations > Slicing and Joining

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

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

 

例子:

# 'x' is [[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]]   # 'perm' is more useful for n-dimensional tensors, for n > 2 # 'x' is   [[[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: a 是一个张量(Tensor)
  • perm: perm 是 a 维度的置换
  • name:操作的名称(可选).

 

返回值:

   返回的是一个转置的张量。

 

三、解释

tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是转置。dimension_n是整数,如果张量是三维,就是用0,1,2来表示。这个列表里的每个数对应相应的维度。如果是[2,1,0],就把输入张量的第三维度和第一维度交换。  

  ---------------------------------- 参考链接:   1、 tf.transpose函数的用法: https://i.cnblogs.com/EditPosts.aspx?opt=1   2、 tensorflow中的不懂得知识点——转置函数 transpose : http://blog.****.net/u010417185/article/details/51900441   3、tensorflow官方文档 https://www.tensorflow.org/versions/r1.3/api_docs/python/tf/transpose 转自:https://www.cnblogs.com/hezhiyao/p/8476160.html
上一篇:移植OpenHarmony轻量系统【3】Board、SOC、架构与代码对应关系


下一篇:基于 SoC 的卷积神经网络车牌识别系统设计(0)摘要