我就廢話不多說,咱直接看代碼吧!
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 > 2x = tf.constant([[[ 1, 2, 3], [ 4, 5, 6]], [[ 7, 8, 9], [10, 11, 12]]])# Take the transpose of the matrices in dimension-0tf.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的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答