深入浅出Pytorch(二)

一、张量tensor

简介:

  • 0维张量:数字
  • 1维张量:向量
  • 2维张量:矩阵
  • 3维张量:公用数据存储在张量 时间序列数据 股价 文本数据 彩色图片(RGB)

基本用法:

创建tensor

from __future__ import print_function
import torch

一些操作

加法操作:

# 方式1
y = torch.rand(4, 3) 
print(x + y)

# 方式2
print(torch.add(x, y))

# 方式3 提供一个输出 tensor 作为参数
# 这里的 out 不需要和真实的运算结果保持维数一致,但是会有警告提示!
result = torch.empty(5, 3) 
torch.add(x, y, out=result) 
print(result)

# 方式4 in-place
y.add_(x) 
print(y)

索引操作(类似于numpy):

需要注意的是:索引出来的结果与原数据共享内存,也即修改一个,另一个会跟着修改。

y = x[0,:]
y += 1
print(y)
print(x[0, :]) # 源tensor也被更改

改变大小:如果你想改变一个 tensor 的大小或者形状,你可以使用 torch.view:

注意 view() 返回的新tensor与源tensor共享内存(其实是同一个tensor),也即更改其中的一个,另 外一个也会跟着改变。(顾名思义,view仅仅是改变了对这个张量的观察角度)

二、自动求导autograd

简介

autograd包是所有神经网络的核心,它为张量上的所有操作提供了自动求导机制。

属性功能
requires_gradtrue:追踪张量操作
backward()计算所有梯度
detach()阻止计算记录跟踪
grad_fn引用创建Tensor自身的Function

三、并行计算

分类

  • 网络结构分布到不同的设备中(Network partitioning)
  • 同一层的任务分布到不同数据中(Layer-wise partitioning)
  • 不同的数据分布到不同的设备中,执行相同的任务(Data parallelism)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值