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