PyTorch教程(五):Broadcasting
生活随笔
收集整理的這篇文章主要介紹了
PyTorch教程(五):Broadcasting
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Broadcasting可以自動進行維度的擴展,而且不需要拷貝數據。
例如:
import torcha = torch.rand(3,4) # tensor([[0.0422, 0.9152, 0.5486, 0.8753], # [0.3918, 0.6056, 0.0634, 0.9498], # [0.4444, 0.2209, 0.8165, 0.1533]]) b = torch.rand(4) # tensor([0.4145, 0.2913, 0.1655, 0.3705]) a + b # tensor([[0.4567, 1.2065, 0.7141, 1.2458], # [0.8064, 0.8969, 0.2289, 1.3203], # [0.8589, 0.5122, 0.9819, 0.5238]])上面的例子可以看到,雖然a和b的shape不同,但是依然可以進行相加操作,原因就是PyTorch自動做了Broadcasting。但不是任何兩個tensor都可以進行Broadcasting。
如果兩個Tensor是broadcastable的,那么就可以對他倆使用支持broadcast的運算,比如直接加減乘除
而兩個向量要是broadcast的話,必須滿足以下兩個條件:
- 每個tensor至少是一維的
- 兩個tensor的維數從后往前,對應的位置要么是相等的,要么其中一個是1,或者不存在
總結
以上是生活随笔為你收集整理的PyTorch教程(五):Broadcasting的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「原创」吃莲雾有什么好处
- 下一篇: 工业平板电脑通电不显示怎么办工业平板电脑