Pytorch:torch.diag()創(chuàng)建對(duì)角線張量方式
Pytorch torch.diag()創(chuàng)建對(duì)角線張量
torch.diag()
torch.diag是PyTorch中的一個(gè)函數(shù),用于從給定的矩陣中提取對(duì)角線元素,或者構(gòu)造一個(gè)以給定對(duì)角線元素為值的對(duì)角矩陣。這個(gè)函數(shù)對(duì)于矩陣分解和轉(zhuǎn)換等操作非常重要。
如果輸入是一個(gè)向量(1D張量),torch.diag會(huì)返回一個(gè)以該向量為對(duì)角線元素的2D方陣。如果輸入是一個(gè)矩陣(2D張量),則返回一個(gè)包含輸入矩陣對(duì)角線元素的1D張量。
torch.diag還允許你指定對(duì)角線的位置,通過參數(shù)diagonal實(shí)現(xiàn)。如果diagonal=0,則為主對(duì)角線;如果diagonal>0,則為位于主對(duì)角線之上的對(duì)角線;如果diagonal<0,則為位于主對(duì)角線之下的對(duì)角線。
語法:
input (Tensor):輸入張量。diagonal (int, optional):指定的對(duì)角線。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ì)角線元素,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ì)角線元素,輸出為 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)文章
pandas創(chuàng)建series的三種方法小結(jié)
這篇文章主要介紹了pandas創(chuàng)建series的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法
今天小編就為大家分享一篇使用python搭建服務(wù)器并實(shí)現(xiàn)Android端與之通信的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python xlwt如何設(shè)置單元格的自定義背景顏色
這篇文章主要介紹了python xlwt如何設(shè)置單元格的自定義背景顏色,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Python模塊_PyLibTiff讀取tif文件的實(shí)例
今天小編就為大家分享一篇Python模塊_PyLibTiff讀取tif文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
在Python中實(shí)現(xiàn)字典反轉(zhuǎn)案例
這篇文章主要介紹了在Python中實(shí)現(xiàn)字典反轉(zhuǎn)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Python使用enum模塊獲取枚舉成員索引號(hào)的四種方法詳解
在 Python 中,可以使用 enum 模塊創(chuàng)建枚舉類型,并通過遍歷枚舉成員來獲取其索引號(hào),本文介紹了常用的四種方法,大家可以根據(jù)自己的需要進(jìn)行選擇2026-04-04

