日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pytorch之tensor按索引赋值,三种方法!

發(fā)布時(shí)間:2024/4/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch之tensor按索引赋值,三种方法! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這里,我們介紹其中一種方法,即torch.scatter_()函數(shù)

import torch label = torch.zeros(3, 6) #首先生成一個(gè)全零的多維數(shù)組 print("label:",label) a = torch.ones(3,5)b = [[0,1,2],[0,1,3],[1,2,3]] #這里需要解釋的是,b的行數(shù)要小于等于label的行數(shù),列數(shù)要小于等于a的列數(shù) print(a) label.scatter_(1,torch.LongTensor(b),a) #參數(shù)解釋:‘1’:需要賦值的維度;‘torch.LongTensor(b)’:需要賦值的索引;‘a(chǎn)’:要賦的值 print("new_label: ",label)

輸出:
?

label: tensor([[0., 0., 0., 0., 0., 0.],[0., 0., 0., 0., 0., 0.],[0., 0., 0., 0., 0., 0.]]) tensor([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.]]) new_label: tensor([[1., 1., 1., 0., 0., 0.],[1., 1., 0., 1., 0., 0.],[0., 1., 1., 1., 0., 0.]])

可以實(shí)現(xiàn)相同功能的函數(shù)還有:index_fill_(dim, index, val) ;index_put_(indices, value)

2.index_fill_(dim, index, val)
dim:要填充的維度
index:要填充的索引
val:要填充的值
與上面的用法類似

3.index_put_(indices, value)
indices:要填充的索引,與上面不同的是,這里直接使用的是要填充值的行和列
value:要填充的值

用法:

a = torch.zeros([5,5]) index = (torch.LongTensor([0,1]),torch.LongTensor([1,2])#生成索引 value = torch.Tensor([1,1]) #生成要填充的值 a.index_put_(index), value)

這就是上述三種方法,歡迎大家留言交流!

總結(jié)

以上是生活随笔為你收集整理的pytorch之tensor按索引赋值,三种方法!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。