【动手学学学】Pytorch里的小碎片

持续更新...

一些函数

  1. torch.ones() / torch.zeros,tensor全1或全0. 一般用于初始化
  2. torch.rand(*size, out=None) → 返回一个tensor,其中包含了从区间[0,1)的均匀分布中愁绪的一组随机数。
  3. torch.randn(*sizes, out=None) → 返回一个tensor,其中包含了从标准正态分布( μ \mu μ=0, σ \sigma σ=1,即高斯白噪声)中抽取的一组随机数。
  4. tensor.unsqueeze(dim=0) -> 1*10

Pytorch里Der乘法

torch.mm(x, y) - 矩阵相乘,叉乘,也可写为x.mm(y)   # x, y均为tensor
	矩阵大小应满足 x (i * n) × y (n * j)
torch.bmm(x, y) - 矩阵批处理乘法
torch.matmul(x, y) - 可以进行张量乘法,输入可以为高维的张量。当输入是二维时,结果和torch.mm相同

torch.bmm()是两个三维张量相乘, 两个输入tensor维度是( b × n × m b × n × m b×n×m)和( b × m × p b × m × p b×m×p) 第一维b代表batch size,输出为( b × n × p b × n × p b×n×p

点乘
对应点相乘,点乘不求和操作,又可称为Hadamard product
x*x 也可写为 x.dot(x)x.mul(y)

叉乘
矩阵乘法,可用torch.mm() / torch.matmul()
总结:
mul表示为两个数组对应位置相乘; mmmatmul表示两个数组进行矩阵乘法

Tensor的使用

Tensor:简单地说,它只是Pytorch中的一个n维数组。与数组不同的是它支持一些额外的操作。

/为什么不用数组要用tensor?/

除了使用CPU,tensor可以加载至GPU上进行更快的计算。在设置属性.requires_grad = True时,他们开始形成一个反向图,跟踪应用于他们的每个操作,使用所谓的动态计算图计算梯度。torch.Tensor能够跟踪历史并和Variable有一样的表现。

另外,根据Pytorch的设计,梯度只能计算浮点类型的张量。 so, `dtype=float32`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值