permute() 對維度進行換位

2021-10-02 02:25:20 字數 836 閱讀 1320

tensor維度換位

引數:引數是一系列的整數,代表原來張量的維度。比如三維就有0,1,2這些dimension。

例:

import torch

import numpy    as np

a=np.array([[[1,2,3],[4,5,6]]])

unpermuted=torch.tensor(a)

print(unpermuted.size())  #  ——>  torch.size([1, 2, 3])

permuted=unpermuted.permute(2,0,1)

print(permuted.size())     #  ——>  torch.size([3, 1, 2])

比如img的size比如是(28,28,3)就可以利用img.permute(2,0,1)得到乙個size為(3,28,28)的tensor。

利用這個函式permute(0,2,1)可以把tensor([[[1,2,3],[4,5,6]]]) 轉換成

tensor([[[1., 4.],

[2., 5.],

[3., 6.]]])

如果使用view,可以得到

tensor([[[1., 2.],

[3., 4.],

[5., 6.]]])

5 2 4 SSAS 維度 多對多維度

維度 多對多維度的建立 什麼是多對多維度?我們正常遇到的資料結構是一對一,或者一對多的資料結構,也就是樹形結構。但是現實中存在著多對多的結構,比如一筆銷售來自乙個店鋪,但是乙個店鋪包含多個鋪位,這時一筆銷售就對應著多個鋪位,而乙個鋪位又對應著多筆銷售,這樣就形成了多對多的關係。多對多的關係需要用乙個...

Pytorch對多維Tensor按維度操作

記憶要點 dim 0 說明是處理行 dim 1 說明是處理列 keepdim true 保留處理的行 列的特徵 keepdim false 不保留處理的行 列的特徵 網上流傳的版本有很多,但是我們根據結果來說話。我的理解是哪個維度發生了變化就是處理的是哪個維度。if name main 模型引數初始...

對numpy中軸與維度的理解

numpy s main object is the homogeneous multidimensional arr程式設計客棧ay.it is a table of elements usually numbers all of the same type,indexed by a tuple ...