從這張圖來看,我們可以知道零維張量是純量、一維張量是向量…
所以張量在不同軸(維度),會呈現出不同型態,在還沒使用張量擴充的時候,只能針對相同形狀的張量做運算,因為張量在計算的過程中是需要對每個數值的位置的,但現在我們如過要做不同張量之間的運算,可以透過Broadingcasting(張量擴張)來讓不同形狀的張量相匹配。
而張量在運算過程中時常會因為擴張等等的因素,造成軸跟軸之間要對應會比較困難,所以才會需要取名字。
將第零軸命名
named = torch.tensor([0.21, 0.70, 0.08], names=['test'])
將倒數三軸命名
img = img_t.refine_names(..., 'test', 'rows', 'columns') #超過三軸的張量
batch = batch_t.refine_names(..., 'test', 'rows', 'columns')
print("img named:", img.shape, img.names)
print("batch named:", batch.shape, batch.names)