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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对 torch 中 dim 的总结和理解

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对 torch 中 dim 的总结和理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pytorch 中,使用到 dim 參數的 api 都是跟集合有關的,比如 max(), min(), mean(), softmax() 等。當指定某個 dim 時,表示使用該維度的所有元素進行集合運算,一個 tensor 的 shape 為 (3, 4, 5),分別對應的 dim 如下所示

dimshape
03
14
25

當使用 max(dim=1) 時,表示使用第二個維度中全部四個元素中的每個元素參與求最大值計算,計算后的 shape 變為 (3,5),因為只從 四個中求得最大的那個作為結果。如果 shape 的長度為 3,則 dim 的取值只能在區間 [-3, 2],否則將報錯。

Example

>>> a = torch.randn(3,4,5) # 求得第二個維度的最大值 >>> torch.max(a,1) torch.return_types.max( values=tensor([[0.7700, 0.1390, 0.6952, 1.9428, 0.8477],[1.0085, 0.7961, 0.9462, 2.1287, 0.9356],[1.1520, 2.1478, 0.8291, 1.0854, 0.7780]]), indices=tensor([[1, 1, 2, 2, 0],[1, 2, 2, 3, 0],[0, 1, 3, 3, 3]]))# 第二個維度縮減為只有一個元素,即 (3,1,5),api 將維度為 1 的去掉了 >>> torch.max(a,1).values.shape torch.Size([3, 5])# 第三個維度縮減為只有一個元素,即 (3,4,1),api 將維度為 1 的去掉了 >>> torch.max(a,2).values.shape torch.Size([3, 4])# 超出 dim 范圍,報錯 >>> torch.max(a,3).values.shape Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: Dimension out of range (expected to be in range of [-3, 2], but got 3)

總結:
1、dim 是一種集合運算的參數,表示將某個維度的所有元素參與集合運算
2、dim 的取值和 shape 的長度密切相關,dim 的取值為 [-len(shape), len(shape)-1]

總結

以上是生活随笔為你收集整理的对 torch 中 dim 的总结和理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。