码迷,mamicode.com
首页 > 其他好文 > 详细

PyTorch 1.0 中文文档:广播语义

时间:2019-02-03 16:45:35      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:numpy   参数   adc   tor   trail   存在   tensor   ocs   strong   

译者:冯宝宝

许许多多的PyTorch操作都支持NumPy Broadcasting Semantics

简而言之,如果PyTorch操作支持广播,那么它的Tensor参数可以自动扩展为相同的类型大小(不需要复制数据)。

一般语义

如果遵守以下规则,则两个张量是“可广播的”:

  • 每个张量至少有一个维度;
  • 遍历张量维度大小时,从末尾随开始遍历,两个张量的维度大小必须相等,它们其中一个为1,或者一个不存在。

例如:

>>> x=torch.empty(5,7,3)
>>> y=torch.empty(5,7,3)
# 相同形状的张量可以被广播(上述规则总是成立的)

>>> x=torch.empty((0,))
>>> y=torch.empty(2,2)
# x和y不能被广播,因为x没有维度

# can line up trailing dimensions
>>> x=torch.empty(5,3,4,1)
>>> y=torch.empty(  3,1,1)
# x和y能够广播.
# 1st trailing dimension: both have size 1
# 2nd trailing dimension: y has size 1
# 3rd trailing dimension: x size == y size
# 4th trailing dimension: y dimension doesn‘t exist

# 但是:
>>> x=torch.empty(5,2,4,1)
>>> y=torch.empty(  3,1,1)
# x和y不能被广播  (   )  

阅读全文/改进本文

PyTorch 1.0 中文文档:广播语义

标签:numpy   参数   adc   tor   trail   存在   tensor   ocs   strong   

原文地址:https://www.cnblogs.com/wizardforcel/p/10350590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!