pytorch 中的dim的作用范圍詳解
dim簡介
pytorch中對tensor的很多操作都涉及到dim(維度的設(shè)置),但是,我們總是搞不清楚每個(gè)維度代表什么,到底設(shè)置幾維,比如sum(求和)、softmax、max(最大值)。
下面看下pytorch 中的dim的作用范圍。
1. 二維矩陣時(shí)
不同的運(yùn)算, dim 的作用域都是一樣的思想;
當(dāng)數(shù)據(jù)是二維矩陣時(shí), 可以按照下面的思想理解
:
對于矩陣:
dim=0 按列操作(沿列向下)。
dim=1 按行操作(跨行)。
解釋如下:
dim=0 :這是指張量的第一個(gè)維度,通常被視為行。如果您沿此維度應(yīng)用函數(shù),它將按列處理數(shù)據(jù)。換句話說,該函數(shù)獨(dú)立地應(yīng)用于每一列。
dim=1 :這是指張量的第二維,通常被視為列。當(dāng)您沿此維度應(yīng)用函數(shù)時(shí),它會按行處理數(shù)據(jù)。也就是說,該函數(shù)獨(dú)立地應(yīng)用于每一行。
1.1 求和
>> a = torch.Tensor([[1,2,3], [4,5,6]]) >> print(a.shape) torch.Size([2, 3]) >> print(torch.sum(a, dim=0)) tensor([5., 7., 9.]) >> print(torch.sum(a, dim=1)) tensor([ 6., 15.])
1.2 softmax
dim = 0) #對每一列進(jìn)行softmax;
dim =1) #對每一行進(jìn)行softmax;
import torch import torch.nn.functional as F x= torch.Tensor( [ [1,2,3,4],[1,2,3,4],[1,2,3,4]]) y1= F.softmax(x, dim = 0) #對每一列進(jìn)行softmax print(y1) y2 = F.softmax(x,dim =1) #對每一行進(jìn)行softmax print(y2) x1 = torch.Tensor([1,2,3,4]) print(x1) y3 = F.softmax(x1,dim=0) #一維時(shí)使用dim=0,使用dim=1報(bào)錯(cuò) print(y3)
(deeplearning) userdeMBP:pytorch user$ python test.py tensor([[0.3333, 0.3333, 0.3333, 0.3333], [0.3333, 0.3333, 0.3333, 0.3333], [0.3333, 0.3333, 0.3333, 0.3333]]) tensor([[0.0321, 0.0871, 0.2369, 0.6439], [0.0321, 0.0871, 0.2369, 0.6439], [0.0321, 0.0871, 0.2369, 0.6439]]) tensor([1., 2., 3., 4.]) tensor([0.0321, 0.0871, 0.2369, 0.6439])
2. 三維張量時(shí)
當(dāng)dim=0時(shí), 是對每一維度相同位置的數(shù)值進(jìn)行softmax運(yùn)算,和為1
當(dāng)dim=1時(shí), 是對某一維度的列進(jìn)行softmax運(yùn)算,和為1
當(dāng)dim=2時(shí), 是對某一維度的行進(jìn)行softmax運(yùn)算,和為1
import torch import torch.nn.functional as F input= torch.randn(2,2,3)) print(input)
dim= 0,
dim=1,
dim =2
到此這篇關(guān)于pytorch 中的dim 的作用范圍的文章就介紹到這了,更多相關(guān)pytorch dim內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python發(fā)送以整個(gè)文件夾的內(nèi)容為附件的郵件的教程
這篇文章主要介紹了Python發(fā)送以整個(gè)文件夾的內(nèi)容為附件的郵件的教程,普通我們在運(yùn)營商免費(fèi)郵箱中發(fā)附件通常只能發(fā)文件而不能發(fā)文件夾,而該腳本則可以實(shí)現(xiàn)文件夾的發(fā)送(自己動(dòng)手編程的強(qiáng)大之處:D),需要的朋友可以參考下2015-05-05python線程池的實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了python線程池的實(shí)現(xiàn)方法,代碼簡單實(shí)用,供大家參考使用2013-11-11django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)方法
這篇文章主要介紹了django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08flask實(shí)現(xiàn)python方法轉(zhuǎn)換服務(wù)的方法
flask是一個(gè)web框架,可以通過提供的裝飾器@server.route()將普通函數(shù)轉(zhuǎn)換為服務(wù),這篇文章主要介紹了flask實(shí)現(xiàn)python方法轉(zhuǎn)換服務(wù),需要的朋友可以參考下2022-05-05python通過socket實(shí)現(xiàn)多個(gè)連接并實(shí)現(xiàn)ssh功能詳解
這篇文章主要介紹了python通過socket實(shí)現(xiàn)多個(gè)連接并實(shí)現(xiàn)ssh功能詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11Python數(shù)據(jù)可視化實(shí)現(xiàn)漏斗圖過程圖解
這篇文章主要介紹了Python數(shù)據(jù)可視化實(shí)現(xiàn)漏斗圖過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07python序列化與數(shù)據(jù)持久化實(shí)例詳解
這篇文章主要介紹了python序列化與數(shù)據(jù)持久化,結(jié)合實(shí)例形式詳細(xì)分析了Python序列化與數(shù)據(jù)持久化相關(guān)原理、實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-12-12