深度学习中的张量 - 使用PyTorch进行广播和元素级操作

深度学习中的张量 - 使用PyTorch进行广播和元素级操作

元素级是什么意思?

元素级操作在神经网络编程中与张量的使用非常常见。让我们从一个元素级操作的定义开始这次讨论。

一个_元素级_操作是在两个张量之间进行的操作,它作用于各自张量中的相应元素。

一个_元素级_操作在张量之间的相应元素上进行操作。

如果两个元素被认为在张量中占据相同的位置,那么这两个元素就被称为相应的元素。位置由用来定位每个元素的索引决定。

假设我们有以下两个张量:

> t1 = torch.tensor([
    [1,2],
    [3,4]
], dtype=torch.float32)

> t2 = torch.tensor([
    [9,8],
    [7,6]
], dtype=torch.float32)

这两个张量都是秩为2的张量,形状为2 x 2​。

这意味着我们有两个长度为二的轴。第一个轴的元素是数组,第二个轴的元素是数字。

> print(t1[0])
tensor([1., 2.])

> print(t1[0][0])
tensor(1.)

这是我们现在在这个系列中用来看到的东西。好了,让我们在此基础上进一步讨论。

我们知道,如果两个元素占据张量中的相同位置,那么它们就被认为是相应的元素,位置由用来定位每个元素的索引决定。让我们看看相应元素的例子。

> t1[0][0]
tensor(1.)

> t2[0][0]
tensor(9.)

这使我们能够看到,t1​中1​的相应元素是t2​中的9​。

通过索引定义的对应关系很重要,因为它揭示了元素级操作的一个重要特征。我们可以推断出,为了执行元素级操作,张量必须具有相同数量的元素。

我们将进一步限制这个陈述。为了在它们上执行元素级操作,两个张量必须具有相同的形状。

加法是一个元素级操作

让我们看看我们的第一个元素级操作,加法。别担心,它会变得更有趣。

> t1 + t2
tensor([[10., 10.],
        [10., 10.]])

这使我们能够看到,张量之间的加法是一个元素级操作。相应位置的每对元素都被加在一起,产生一个形状相同的新张量。

所以,加法是一个元素级操作,实际上,所有的算术操作,加、减、乘和除都是元素级操作。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值