在搜尋了一部分資料後我發現對於張量的轉置並沒有明確的數學定義,但是通過一些工具可以得到我們想要的效果。懷揣著結果驅動過程的做法,這裡記錄一些對於張量轉置的理解
in [20]: x.shape
out[20]: (2, 3, 4, 5)
in [21]: x.transpose(1,0,2,3).shape
out[21]: (3, 2, 4, 5)
以上來自使用numpy對於轉置的維度輸出,通過矩陣維度的變換可以看出轉置只針對當前軸,而我們只需要拿到對應軸上的元素填表即可。
考慮有一張,三維的,長、寬、通道數,如果想要進行旋轉可以怎麼做,將其寬與長進行調換即可,而這個操作就屬於transpose
from pil import image
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
print(image.__version__) # 7.1.2
print(np.__version__) # 1.18.3
print(matplotlib.__version__) # 3.2.1
im.show()
img = np.array(im)
print(img.shape)
img_transpose1 = img.transpose([1, 0, 2]) # 轉置操作
print(img_transpose1.shape)
plt.imshow(img_transpose1)
plt.axis('off')
plt.show()
稀疏矩陣的轉置(矩陣轉置和快速轉置)
實現矩陣的轉置 1.將矩陣的行列值相互轉換。2.將每個三元組中的i和j交換。3.重排三元組之間的次序便可實現矩陣的轉置。void transposesmatrix tsmatrix m,tsmatrix t return transposesmatrix快速轉置的原理是 如果能預先確定矩陣m中每一列...
稀疏矩陣的轉置與快速轉置
假設在m n的矩陣中,有t個元素不為0。令稀疏因子s t m n 通常認為s 0.05時稱為稀疏矩陣。有時為了節省儲存空間,可以對這類矩陣進行壓縮儲存。所謂的壓縮儲存就是,為多個相同的值分配儲存在乙個空間,對零元不分配空間。而稀疏矩陣是只儲存有效值,無效值只分配乙個空間。在這裡我們用乙個順序表vec...
C 稀疏矩陣的普通轉置與快速轉置
因為稀疏矩陣的有效元素個數較少,所以以行優先的順序把有效元素的資訊封裝在乙個三元組中儲存在順序表裡 include includeusing namespace std define m 5 define n 6 struct tuple class sparsematrix datacount a...