pytorch学习笔记(一) autograd

学了大概一个月时间的pytorch和tensorflow,觉得pytorch写法比tf更简单,也更灵活。不需要通过session来run到结果,数据可以轻松地在cpu和gpu之间切换。

pytorch的一个最重要的机制就是autograd机制,通过这个机制你可以轻易的固定你的模型的部分参数,从而在训练中只是训练你希望训练的那部分计算图。

在pytorch中有两个类型的变量,一个是tensor,另外一个是variable。

tensor就相当于numpy中的ndarray,只是一个多维数组而已,有numpy矩阵的各种操作,也可以与numpy相互转换。

variable相当于一个功能加强版的tensor,其中不仅存放了变量本身的值,还存放了变量的其他属性,例如梯度(grad),是否需要求导(requires_grad)等。从variable所在的package也可以看出,它是在autogard中的类,所以variable是实现autograd的关键。

因此在创建variable时,你可以指定它的参数,requires_grad或者volatile。

requires_grad的特点是只要有一个输入变量是需要求导的,那么它们的输出也是requires_grad的。

例如这个官网的例子

>>> x = Variable(torch.randn(5, 5))
>>> y = Variable(torch.randn(5, 5))
>>> z = Variable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值