Pytorch(笔记2)

广播机制

在某些情况下,即使形状不同,我们仍然可以通过调用 广播机制(broadcasting mechanism)来执行按元素操作。这种机制的工作方式如下:

  1. 通过适当复制元素来扩展一个或两个数组,以便在转换之后,两个张量具有相同的形状;
  2. 对生成的数组执行按元素操作。

你尝试对两个形状不匹配的张量进行元素级(element-wise)操作时,如加法、减法、乘法等,PyTorch会尝试进行广播(broadcasting)以使得这两个张量在形状上兼容。广播是一种强大的机制,它允许NumPy和PyTorch等库对形状不同的数组进行数值计算。

a = torch.arange(3).reshape((3, 1))
b = torch.arange(4).reshape((1, 4))
print(a+b)
tensor([[0, 1, 2, 3],
        [1, 2, 3, 4],
        [2, 3, 4, 5]]) 
# 注释总结:  
# a和b的形状分别是(3, 1)和(1, 4),但由于PyTorch的广播规则,我们可以将它们相加。  
# 结果是一个(3, 4)的张量,其中每个元素都是a和b中对应元素的和。

索引和切片

在任何其他Python数组中一样,张量中的元素可以通过索引访问。与任何Python数组一样:第一个元素的索引是0,最后一个元素索引是‐1;可以指定范围以包含第一个元素和最后一个之前的元素。

我们可以用[-1]选择最后一个元素,可以用[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值