Pytorch:torch.diag()創(chuàng)建對(duì)角線(xiàn)張量方式
Pytorch torch.diag()創(chuàng)建對(duì)角線(xiàn)張量
torch.diag()
torch.diag
是PyTorch中的一個(gè)函數(shù),用于從給定的矩陣中提取對(duì)角線(xiàn)元素,或者構(gòu)造一個(gè)以給定對(duì)角線(xiàn)元素為值的對(duì)角矩陣。這個(gè)函數(shù)對(duì)于矩陣分解和轉(zhuǎn)換等操作非常重要。
如果輸入是一個(gè)向量(1D張量),torch.diag
會(huì)返回一個(gè)以該向量為對(duì)角線(xiàn)元素的2D方陣。如果輸入是一個(gè)矩陣(2D張量),則返回一個(gè)包含輸入矩陣對(duì)角線(xiàn)元素的1D張量。
torch.diag
還允許你指定對(duì)角線(xiàn)的位置,通過(guò)參數(shù)diagonal
實(shí)現(xiàn)。如果diagonal=0
,則為主對(duì)角線(xiàn);如果diagonal>0
,則為位于主對(duì)角線(xiàn)之上的對(duì)角線(xiàn);如果diagonal<0
,則為位于主對(duì)角線(xiàn)之下的對(duì)角線(xiàn)。
語(yǔ)法:
input (Tensor)
:輸入張量。diagonal (int, optional)
:指定的對(duì)角線(xiàn)。out (Tensor, optional)
:輸出張量。
舉例一:
import torch data = torch.tensor([1,2,3,4]) data_two = torch.diag(data,0) print(data_two)
結(jié)果:
舉例二:
import torch data = torch.tensor(float('inf')).cuda().repeat(3) data_two = torch.diag(data,0) print(data_two)
結(jié)果:
torch.diag()取矩陣對(duì)角線(xiàn)元素,torch.diag_embed()指定值變成對(duì)角矩陣
1、torch.diag()
import torch a = torch.randn(3, 3) print(a) tensor([[ 0.7594, 0.8073, -0.1344], [-1.7335, -0.4356, -0.0055], [ 1.8326, 0.3900, -0.9933]]) diag = torch.diag(a) # 取 a 對(duì)角線(xiàn)元素,輸出為 1*3 print(diag) tensor([ 0.7594, -0.4356, -0.9933])
2、torch.diag_embed()
import torch tensor([ 0.7594, -0.4356, -0.9933]) a_diag = torch.diag_embed(diag) # 由 diag 變?yōu)槿S 3*3 tensor([[ 0.7594, 0.0000, 0.0000], [ 0.0000, -0.4356, 0.0000], [ 0.0000, 0.0000, -0.9933]])
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python調(diào)用機(jī)器喇叭發(fā)出蜂鳴聲(Beep)的方法
這篇文章主要介紹了python調(diào)用機(jī)器喇叭發(fā)出蜂鳴聲(Beep)的方法,實(shí)例分析了Python調(diào)用winsound模塊的使用技巧,需要的朋友可以參考下2015-03-03編寫(xiě)Python腳本批量下載DesktopNexus壁紙的教程
這篇文章主要介紹了編寫(xiě)Python腳本批量下載DesktopNexus壁紙的教程,相較于普通的爬蟲(chóng)抓取,本文的下載壁紙教程還包括了設(shè)置所要下載的分辨率等功能的實(shí)現(xiàn),需要的朋友可以參考下2015-05-05pycharm2023.1配置python解釋器時(shí)找不到conda環(huán)境解決辦法
如果你已經(jīng)安裝了Anaconda或Miniconda,但是在PyCharm中找不到conda解釋器,可以試試本文介紹的方法,這篇文章主要給大家介紹了關(guān)于pycharm2023.1配置python解釋器時(shí)找不到conda環(huán)境的解決辦法,需要的朋友可以參考下2023-12-12python3啟動(dòng)web服務(wù)引發(fā)的一系列問(wèn)題匯總
由于行內(nèi)交付的機(jī)器已自帶python3 ,沒(méi)有采取自行安裝python3,但是運(yùn)行python腳本時(shí)報(bào)沒(méi)有tornado module,遇到這樣的問(wèn)題如何處理呢,下面小編給大家介紹下python3啟動(dòng)web服務(wù)引發(fā)的一系列問(wèn)題匯總,感興趣的朋友一起看看吧2023-02-02Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Pycharm中配置Jupyter環(huán)境的圖文教程
本文主要介紹了Pycharm中配置Jupyter環(huán)境的圖文教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07淺析Python 實(shí)現(xiàn)一個(gè)自動(dòng)化翻譯和替換的工具
這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)自動(dòng)化翻譯和替換的工具,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04Python+OpenCV實(shí)現(xiàn)旋轉(zhuǎn)文本校正方式
今天小編就為大家分享一篇Python+OpenCV實(shí)現(xiàn)旋轉(zhuǎn)文本校正方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python進(jìn)行Socket接口測(cè)試的實(shí)現(xiàn)
Python 提供了強(qiáng)大且易于使用的 socket 模塊,使開(kāi)發(fā)者能夠輕松地創(chuàng)建客戶(hù)端和服務(wù)器應(yīng)用,實(shí)現(xiàn)數(shù)據(jù)傳輸和交互,本文主要介紹了Python進(jìn)行Socket接口測(cè)試的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06