深度学习基础2(运算、广播、索引、切片、内存节省、转换其他Python对象)

运算符

  • 如何在这些数据上执行数学运算,其中最简单且最有用的操作是按元素(elementwise)运算。
  • 它们将标准标量运算符应用于数组的每个元素。 对于将两个数组作为输入的函数,按元素运算将二元运算符应用于两个数组中的每对位置对应的元素。
  • 我们可以基于任何从标量到标量的函数来创建按元素函数。

在数学中,我们通过符号f:R→R 来表示一元标量运算符(只接收一个输入)。 这意味着该函数从任何实数映射到另一个实数。

​ 通过符号f:R,R→R 表示二元标量运算符 这意味着该函数接收两个输入,并产生一个输出

给定同一形状的任意两个向量𝐮和𝐯和二元运算符𝑓, 我们可以得到向量𝐜=𝐹(𝐮,𝐯)

计算方法是𝑐𝑖←𝑓(𝑢𝑖,𝑣𝑖)(其中ci、ui和vi分别是向量𝐜、𝐮和𝐯中的元素)

在这里通过将标量函数升级为按元素向量运算来生成向量值F:Rd,Rd→Rd。

对于任意具有相同形状的张量, 常见的标准算术运算符(**+ - * / ****)都可以被升级为按元素运算。

可以在同一形状的任意两个张量上调用按元素操作。 在下面的例子中,我们使用逗号来表示一个具有5个元素的元组,其中每个元素都是按元素操作的结果。

x = torch.tensor([1.0, 2, 4, 8])     
y = torch.tensor([2, 2, 2, 2])
x + y, x - y, x * y, x / y, x ** y  # 本质上是矩阵的基本运算

(tensor([ 3., 4., 6., 10.]),

tensor([-1., 0., 2., 6.]),

tensor([ 2., 4., 8., 16.]),

tensor([0.5000, 1.0000, 2.0000, 4.0000]),

tensor([ 1., 4., 16., 64.]))

“按元素”方式可以应用更多的计算,包括像求幂这样的一元运算符。

torch.exp(x)

tensor([2.7183e+00, 7.3891e+00, 5.4598e+01, 2.9810e+03])

把多个张量连结(concatenate)在一起

把它们端对端地叠起来形成一个更大的张量。 只需要提供张量列表,并给出沿哪个轴连结。 下面的例子分别演示了当沿行(轴-0,形状的第一个元素) 和按列(轴-1,形状的第二个元素)连结两个矩阵时,会发生什么情况。

0表示按行拼接,1表示按列拼接
X = torch.arange(12, dtype=torch.float32
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NDNPOMDFLR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值