Tensorflow:轉置函式 transpose的使用詳解
阿新 • • 發佈:2020-02-12
我就廢話不多說,咱直接看程式碼吧!
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,[ 4,6]],[[ 7,8,9],[10,11,12]]]) # Take the transpose of the matrices in dimension-0 tf.transpose(x,perm=[0,1]) # [[[1,4],# [2,5],# [3,# [[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,[[7,12]]]) array([[[ 1,12]]]) x=tf.transpose(a,[1,2]) array([[[ 1,[ 7,9]],[[ 4,6],[0,1]) array([[[ 1,[ 2,[ 3,[ 8,[ 9,12]]]) x=tf.transpose(a,[2,1,0]) array([[[ 1,7],10]],[[ 2,8],[ 5,11]],[[ 3,[ 6,12]]]) array([[[ 1,12]]])
以上這篇Tensorflow:轉置函式 transpose的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。