PyTorch Tutorial
PyToch学习笔记
Chris_34
这个作者很懒,什么都没留下…
展开
-
PyTorch自动计算梯度
在PyTorch中,torch.Tensor类是存储和变换数据的重要工具,相比于Numpy,Tensor提供GPU计算和自动求梯度等更多功能,在深度学习中,我们经常需要对函数求梯度(gradient)。PyTorch提供的autograd包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。本篇将介绍和总结如何使用autograd包来进行自动求梯度的有关操作。1. 概念Tensor是这个pytorch的自动求导部分的核心类,如果将其属性.requires_grad=True,它将开始追踪(trac原创 2020-06-21 00:30:54 · 5425 阅读 · 0 评论 -
PyTorch中的clone(),detach()及相关扩展
clone() 与 detach() 对比Torch 为了提高速度,向量或是矩阵的赋值是指向同一内存的,这不同于 Matlab。如果需要保存旧的tensor即需要开辟新的存储地址而不是引用,可以用 clone() 进行深拷贝,首先我们来打印出来clone()操作后的数据类型定义变化:(1). 简单打印类型import torcha = torch.tensor(1.0, requires_grad=True)b = a.clone()c = a.detach()a.data *= 3b原创 2020-06-20 19:38:25 · 36290 阅读 · 9 评论 -
PyTorch中的拷贝和就地操作总结
PyTroch中我们经常使用到Numpy进行数据的处理,然后再转为Tensor,但是关系到数据的更改时我们要注意方法是否是共享地址,这关系到整个网络的更新。In-place操作pytorch中原地操作的后缀为_,如.add_()或.scatter_(),就地操作是直接更改给定Tensor的内容而不进行复制的操作,即不会为变量分配新的内存。Python操作类似+=或*=也是就地操作。(我加了我自己~)为什么in-place操作可以在处理高维数据时可以帮助减少内存使用呢,下面使用一个例子进行说明,定义以下原创 2020-06-16 06:05:30 · 11596 阅读 · 4 评论 -
PyTorch模块方法速查整理
Notes: PyTorch 常用的 modules 和 functions 快速查询1. Tensor Operations [Docs]torch├── (Tensor)│ ├── view(*shape) # e.g. x.view(-1, 3, 12) │ │ ## -1 automatically filled│ └── item() # get if Tensor is a scalar│├.原创 2020-06-13 17:45:08 · 934 阅读 · 0 评论 -
Python如何高效使用位运算符
Python位运算符按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:变量 a 为 60,b 为 13,二进制格式如下:a = 0011 1100;b = 0000 1101;运算符描述实例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释:...原创 2019-11-02 20:28:42 · 763 阅读 · 0 评论 -
Python和Numpy中——浅拷贝和深拷贝的详解
Python—浅拷贝和深拷贝的详解首先我们要了解一下浅拷贝和深拷贝的概念:1.浅拷贝定义:浅拷贝是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。注:仅仅拷贝的是目标变量的所在地址,目标变量的所在地址不发生任何变化。实际上,变量中并没有存储任何的值,它只是指向了一个内存地址,而这个地址里存储着具体的内容,例如把变量a赋值给变量b的时候,实际上是把a指向内存中某对象...原创 2019-07-18 15:28:00 · 1824 阅读 · 0 评论 -
Anaconda + pycharm+jupyter notebook虚拟环境的创建和使用
Anaconda + pycharm+jupyter notebook虚拟环境的创建和使用以tensorflow2.0为例:Anaconda支持交互界面设置,添加虚拟环境和更新库都很方便,但是有的时候新的版本库发布后要过一段时间才能集成进来,所以我们有必要学习如何在终端中使用命令行设置。1. 首先创建虚拟环境(在终端中)1.1 Anaconda下安装Tensorflow2.0anaco...原创 2019-07-19 17:32:52 · 15676 阅读 · 3 评论