赞
踩
参考:
《深度学习框架Pytorch:入门与实践》(陈云)
《深度学习入门之PyTorch》(廖星宇)
《深度学习之PyTorch实战计算机视觉 (2)》
PyTorch官方教程
import torch as t
x=t.Tensor(m,n) #创建一个m×n的矩阵,分配空间,未初始化 x=t.rand(m,n) #使用[0,1]随机初始化二维数组 print(x.size()) #查看x的形状 x.size()[1] x.size(1) #同上 x[:,1] #取一列 #-----------------------------加法-------------------------------- x+y t.add(x,y) result=t.Tensor(n,m) #预先分配 t.add(x,y,out=result) y.add(x) #y没有改变 y.add_(x) #inplace加法,y变了 #-----------------------------转换------------------------------ a=t.ones(n) #新建了一列n行全是1的Tensor b=a.numpy() #Tensor->Numpy a=np.ones(5) b=t.from_numpy(a) #Numpy->Tensor if t.cuda.is_available(): x=x.cuda() #Tensor可通过.cuda方法转化为GPU的Tensor,从而享受加速运算
深度学习算法本质上是通过反向传播求导数。
Autograd可以为Tensor上的操作自动微分,核心类是autograd.Variable,简单封装了Tensor, 并支持几乎所有Tensor的操作。
Tensor在被封装为Variable之后,可以调用它的 . backward实现反向传播,自动计算所有梯度。
Variable主要包含三个属性:
x=Variable(t.ones(2,2), requires_grad=True)
y=x.sum() #4
未完待续
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。