Pytorch学习笔记D1

一、相比tensorflow,pytorch的优点:

1、占用内存空间小;

2、源码只有tensorflow的十分之一,方便阅读;

3、调试bug时,报错行一般便是错误所在,而tensorflow一般报错在Sesson.run,错误指示不明了;

4、pytorch进行深度学习,代码简洁易懂,与python语法相似,而tensorflow的代码需要占位等语句,不明晰;

5、在许多测评中,pytorch的速度表现强于tensorflow。

二、Tensor与Varible

1、Tensor是torch中重要的数据结构,与numpy类似

from __future__ import print_function
import torch as t

x = t.Tensor(5,3)

 

从接口上,对Tensor的操作可以分为两类:

(1)torch.function

(2)tensor.function

如torch.sun(a,b)与a.sum(b)操作等价。

从存储上,对Tensor的操作可以分为两类:

(1)不会修改自身的数据,如a.add(b)

(2)会修改自身的数据,如a.add_(b)

2、autograd.Variable是Autograd中的核心类,封装了Tensor,支持Tensor操作。

Variable主要包含三个属性,

data:保存Variable所包含的Tensor

grad:保存data对应的梯度,是Variable类,形状与data一致

grad_fn:指向一个Function对象,用来反向传播计算输入的梯度

variable数据结构

grad在反向传播过程中是累加的,每次反向传播之前,需要将梯度清零。

x.grad.data.zero_()#梯度归零
y.backward()#反向传播
x.grad#计算梯度

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值