精华内容
下载资源
问答
  • # tensor 与 numpy import torch import numpy as np n1 = np.array([1., 2.]).astype(np.float32) t1 = torch.FloatTensor(n1) print(t1) # 使用 torch.FloatTensor(n1) 创建tensor,是深拷贝
  • PyTorch学习之六个学习率调整策略

    万次阅读 多人点赞 2018-12-24 22:06:38
    PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火...

    PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是

    a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。
    b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。
    c. 自定义调整:自定义调整学习率 LambdaLR。

    1 等间隔调整学习率 StepLR

    等间隔调整学习率,调整倍数为 gamma 倍,调整间隔为 step_size。间隔单位是step。需要注意的是, step 通常是指 epoch,不要弄成 iteration 了。

    torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1)
    

    参数:

    step_size(int)- 学习率下降间隔数,若为 30,则会在 30、 60、 90…个 step 时,将学习率调整为 lr*gamma。
    gamma(float)- 学习率调整倍数,默认为 0.1 倍,即下降 10 倍。
    last_epoch(int)- 上一个 epoch 数,这个变量用来指示学习率是否需要调整。当last_epoch 符合设定的间隔时,就会对学习率进行调整。当为-1 时,学习率设置为初始值。

    2 按需调整学习率 MultiStepLR

    按设定的间隔调整学习率。这个方法适合后期调试使用,观察 loss 曲线,为每个实验定制学习率调整时机。

    torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1)
    

    参数:

    milestones(list)- 一个 list,每一个元素代表何时调整学习率, list 元素必须是递增的。如 milestones=[30,80,120]
    gamma(float)- 学习率调整倍数,默认为 0.1 倍,即下降 10 倍。

    3 指数衰减调整学习率 ExponentialLR

    按指数衰减调整学习率,调整公式: lr=lrgammaepochlr = lr * gamma**epoch

    torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma, last_epoch=-1)
    

    参数:

    gamma- 学习率调整倍数的底,指数为 epoch,即 gamma**epoch

    4 余弦退火调整学习率 CosineAnnealingLR

    以余弦函数为周期,并在每个周期最大值时重新设置学习率。以初始学习率为最大学习率,以 2Tmax2*Tmax 为周期,在一个周期内先下降,后上升。

    torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1)
    

    参数:

    T_max(int)- 一次学习率周期的迭代次数,即 T_max 个 epoch 之后重新设置学习率。
    eta_min(float)- 最小学习率,即在一个周期中,学习率最小会下降到 eta_min,默认值为 0。

    5 自适应调整学习率 ReduceLROnPlateau

    当某指标不再变化(下降或升高),调整学习率,这是非常实用的学习率调整策略。
    例如,当验证集的 loss 不再下降时,进行学习率调整;或者监测验证集的 accuracy,当accuracy 不再上升时,则调整学习率。

    torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08)
    

    参数:

    mode(str)- 模式选择,有 min 和 max 两种模式, min 表示当指标不再降低(如监测loss), max 表示当指标不再升高(如监测 accuracy)。
    factor(float)- 学习率调整倍数(等同于其它方法的 gamma),即学习率更新为 lr = lr * factor
    patience(int)- 忍受该指标多少个 step 不变化,当忍无可忍时,调整学习率。
    verbose(bool)- 是否打印学习率信息, print(‘Epoch {:5d}: reducing learning rate of group {} to {:.4e}.’.format(epoch, i, new_lr))
    threshold_mode(str)- 选择判断指标是否达最优的模式,有两种模式, rel 和 abs。
    当 threshold_mode == rel,并且 mode == max 时, dynamic_threshold = best * ( 1 +threshold );
    当 threshold_mode == rel,并且 mode == min 时, dynamic_threshold = best * ( 1 -threshold );
    当 threshold_mode == abs,并且 mode== max 时, dynamic_threshold = best + threshold ;
    当 threshold_mode == rel,并且 mode == max 时, dynamic_threshold = best - threshold;

    threshold(float)- 配合 threshold_mode 使用。
    cooldown(int)- “冷却时间“,当调整学习率之后,让学习率调整策略冷静一下,让模型再训练一段时间,再重启监测模式。
    min_lr(float or list)- 学习率下限,可为 float,或者 list,当有多个参数组时,可用 list 进行设置。
    eps(float)- 学习率衰减的最小值,当学习率变化小于 eps 时,则不调整学习率。

    6 自定义调整学习率 LambdaLR

    为不同参数组设定不同学习率调整策略。调整规则为,

    lr=base_lrlmbda(self.last_epoch)lr = base\_lr *lmbda(self.last\_epoch)

    fine-tune 中十分有用,我们不仅可为不同的层设定不同的学习率,还可以为其设定不同的学习率调整策略。

    torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1)
    

    参数:

    lr_lambda(function or list)- 一个计算学习率调整倍数的函数,输入通常为 step,当有多个参数组时,设为 list。

    展开全文
  • PyTorch学习笔记1—PyTorch简介

    本篇是pytorch学习笔记系列第一篇,这一系列博客应该大多会来自于开源教程书:pytorch中文手册(pytorch handbook),其github网址为:https://github.com/zergtant/pytorch-handbook ,感兴趣的观众门可以去自行下载

    1.1 PyTorch的由来

    很多人都会拿PyTorch和Google的Tensorflow进行比较,这个肯定是没有问题的,因为他们是最火的两个深度学习框架了。但是说到PyTorch,其实应该先说Torch

    1.2 Torch是什么?

    Torch是一个与Numpy类似的张量(Tensor)操作库,与Numpy不同的是Torch对GPU支持的很好,Lua是Torch的上层包装。[1]

    PyTorch和Torch使用包含所有相同性能的C库:TH, THC, THNN, THCUNN,并且它们将继续共享这些库。[2]

    所以就很明确了,其实PyTorch和Torch都使用的是相同的底层,只是使用了不同的上层包装语言。

    注:LUA虽然快,但是太小众了,所以才会有PyTorch的出现。

    1.3 重新介绍 PyTorch

    PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。 它主要由Facebook的人工智能研究小组开发。Uber的"Pyro"也是使用的这个库。[3]

    PyTorch是一个Python包,提供两个高级功能:[4]

    • 具有强大的GPU加速的张量计算(如NumPy)
    • 包含自动求导系统的的深度神经网络

    基于 python的科学计算包,服务于一下两种场景:

    • 作为NumPy的替代品,可以使用GPU的强大计算能力
    • 提供最大的灵活性和速度深度学习研究平台

    1.4 对比PyTorch和Tensorflow

    没有好的框架,只有合适的框架, 这里有个简单的对比,所以这里就不详细再说了
    https://zhuanlan.zhihu.com/p/28636490
    并且技术是发展的,这里的对比也不是绝对的,比如Tensorflow在1.5版的时候就引入了Eager Execution机制实现了动态图,PyTorch的可视化,windows支持,沿维翻转张量等问题都已经不是问题了。

    1.5 再次总结

    • PyTorch算是相当简洁优雅且高效快速的框架
    • 设计追求最少的封装,尽量避免重复造轮子
    • 算是所有的框架中面向对象设计的最优雅的一个,设计最符合人们的思维,它让用户尽可能地专注于实现自己的想法
    • 大佬支持,与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新
    • 不错的的文档(相比FB的其他项目,PyTorch的文档简直算是完善了,参考Thrift),PyTorch作者亲自维护的论坛 供用户交流和求教问题
    • 入门简单

    本篇完…

    本系列已更新的学习笔记:
    PyTorch学习笔记1—PyTorch简介
    PyTorch学习笔记2—win10下pytorch-gpu安装以及CUDA安装记录
    PyTorch学习笔记3—PyTorch深度学习入门(一)—基本方法
    PyTorch学习笔记4—PyTorch深度学习入门(二)—自动求导
    PyTorch学习笔记5—PyTorch深度学习入门(三)—神经网络
    PyTorch学习笔记6—PyTorch深度学习入门(四)—入门实例

    展开全文
  • Pytorch学习笔记

    2019-07-30 20:35:03
    Pytorch学习笔记简介安装安装包方式源码方式构建文档问题与解决使用 简介 pytorch pytorch github 安装 安装包方式 很简单不多说 源码方式 官方参考: pytorch from source 参照官方说明安装即可。...

    简介

    pytorch 包含了很多子库, 包括:pytorch (torch), vision(torchvision), audio, text , 具体参见 https://github.com/pytorch .

    安装

    安装包方式

    在线安装

    参考 START LOCALLY <https://pytorch.org/get-started/locally/>_ , 选择环境, 执行安装命令即可.

    conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

    本地安装包安装

    1. Anaconda安装
    conda install --use-local ./pytorch-1.1.0-py3.7_cuda9.0.176_cudnn7.5.1_0.tar.bz2 -c pytorch
    conda install torchvision cudatoolkit=9.0 -c pytorch
    
    1. Python安装

    pypi <https://pypi.org/>_ 下载对应版本的安装包, 执行 pip install 命令安装即可, 如

        sudo pip3 install torch-1.1.0-cp35-cp35m-manylinux1_x86_64.whl
        sudo pip3 install torchvision
    

    源码方式

    参照官方说明安装即可。

    1. pytorch
    
    conda install numpy pyyaml mkl mkl-include setuptools cmake cffi typing
    
    # Add LAPACK support for the GPU if needed
    conda install -c pytorch magma-cuda90 # or [magma-cuda80 | magma-cuda91] depending on your cuda version
    
    git clone --recursive https://github.com/pytorch/pytorch
    cd pytorch
    
    export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
    python setup.py install
    
    1. torchvision
    python setup.py install
    

    这是各大DL平台中安装最为简单和顺利的安装体验了.

    构建文档

    1. pytorch

    Sphinx格式文档

    cd docs/
    pip install -r requirements.txt
    
    make html
    make epub
    
    1. torchvision
    cd docs/
    pip install -r requirements.txt
    
    make html
    make epub
    

    使用

    问题与解决

    公共

    安装

    PyQt

    ImportError: anaconda3/lib/python3.6/site-packages/PyQt5/../../../libQt5Core.so.5: version `Qt_5.9' not found (required by /home/liu/anaconda3/lib/python3.6/site-packages/PyQt5/QtCore.so)
    

    matplotlib

    pip install PyQt
    

    使用

    找不到 torch

    参照 这里,即安装没有问题, 在另一个不含torch的目录使用即可。

    python
    import torch
    # 提示如下错误信息
    ModuleNotFoundError: No module named 'torch._C'
    

    CUDA相关

    无论是通过Anaconda还是pip安装完毕PyTorch后, 在Python解释器中导入torch( import torch )均会报出如下错误

        from torch._C import * ImportError: libcurand.so.8.0: cannot open shared object file
    

    系统为 Ubuntu16.04LTS, Python3.5, Python3.7(Anaconda), CUDA9.0 和 CUDA8.0 共存. 安装前环境已经切换为 CUDA9.0, 上述错误提示找不到 CUDA8.0 相关文件, 因而怀疑一些编译的库使用的是CUDA8.0. 最终发现是之前安装的 caffe2 的影响, 导致 PyTorch 中的cafe2不能正确安装, 卸载之前安装的 caffe2, 问题解决.

    找不到 torchvision

    可能没安装或者安装失败,请注意环境,如果是 conda环境,要在相应环境下执行,如果不是,要退出conda环境。

    >>> import torch
    >>> import torchvision
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'torchvision'
    
    展开全文
  • PyTorch学习-pytorch0.4.1和torchvision安装教程,适用于ubuntu和Windows,安装同理可得

    文章与视频资源多平台更新

    微信公众号|知乎|B站|头条:AI研习图书馆

    深度学习、大数据、IT编程知识与资源分享,欢迎关注,共同进步~

    1. 下载对应的pytorch0.4.1

    以Windows系统为例,ubuntu安装同理,本机python 版本3.7,所以下载py37版本:

    下载网址:https://pytorch.org/get-started/previous-versions/

    路径:下载到指定的文件夹中,例如 D:\PyTorch下

    2.下载对应的torchvision版本

    https://pytorch.org/get-started/previous-versions/

    3. 打开命令行窗口

    4. 输入 cd d:\PyTorch , 进入PyTorch文件夹

    5. 安装torch

    输入 pip install torch-0.4.1-cp37-cp37m-win_amd64.whl

    6. 安装torchvision

    输入 pip install torchvision-0.2.1-py2.py3-none-any.whl

    7.检查是否安装成功

    命令行,输入python
    输入 import torch
    import torchvision

    不报错则安装成功

    您的支持,是我不断创作的最大动力~

    欢迎点赞关注留言交流~

    深度学习,乐此不疲~

    个人微信公众号,欢迎关注~
    在这里插入图片描述

    展开全文
  • PyTorch学习历程

    2017-05-10 17:11:51
    PyTorch学习历程
  • Pytorch学习导航页

    2020-06-14 16:11:06
    本博客中与pytorch学习相关的博文,方便查看。 1.Pytorch源码学习之一: torchvision.models.alexnet 2.Pytorch源码学习之二:torchvision.models.vgg 3.Pytorch源码学习之三:torchvision.models.resnet 4.Pytorch...
  • pytorch 学习资料

    2017-08-10 10:37:24
    pytorch 学习资料
  • pytorch学习视频,2.5个G。包括 深度学习初见/ 开发环境安装/ 回归问题/ pytorch基础教程/ pytorch进阶教程/ 随机梯度下降/ 神经网络与全连接层/ 过拟合/ 卷积神经网络CNN/ CIFAR10与resnet实战/ 循环...
  • 深度学习入门之PyTorch学习笔记绪论1 深度学习介绍2 深度学习框架2.1 深度学习框架介绍2.1.1 TensorFlow2.1.2 Caffe2.1.3 Theano2.1.4 Torch2.1.5 MXNet2.2 PyTorch介绍2.2.1 什么是PyTorch2.2.2 为何要使用PyTorch ...
  • pytorch学习: 构建网络模型的几种方法
  • 180611 Pytorch学习资源

    2018-06-11 15:10:55
    @(Pytorch)[Pytorch学习资源] Pytorch学习资源 - 学习资源 Pytorch英文官网 PyTorch 0.3.0 中文教程 PyTorch 0.4.0 英文教程 Pytorch中文网 Python优先的深度学习框架-Pytorch - 安装方式 180611 ...
  • pytorch学习率调整规则

    千次阅读 2019-05-30 20:08:14
    PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是 a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火...
  • PyTorch学习教程、手册

    2019-05-19 01:16:34
    文章目录PyTorch学习教程、手册PyTorch视频教程NLP&PyTorch实战CV&PyTorch实战PyTorch论文推荐PyTorch书籍推荐 PyTorch学习教程、手册 PyTorch英文版官方手册:对于英文比较好的同学,非常推荐该PyTorch...
  • 最后还是觉得陈云开源的pytorch学习资料最合适。深度学习框架入门PYtorch 最全,最合适初学pytorch的入门者。 现在各种博客有关pytorch的教学,大都依托于此。 相较他人总结之后的笔记,我更加推荐此资料,有相关...
  • pytorch学习笔记

    2020-10-24 21:59:19
    深度之眼的pytorch课程中学习并整理的学习笔记
  • 文章目录一、为什么学习PyTorch二、着重学习哪些知识三、如何学习与掌握PyTorch四、PyTorch学习路径 一、为什么学习PyTorch   PyTorch日益增长的发展速度与深度学习时代的迫切需要。 同时,PyTorch在Google搜索...
  • 新手必备 | 史上最全的PyTorch学习资源汇总

    千次阅读 多人点赞 2019-05-07 17:22:37
    PyTorch学习教程、手册 PyTorch视频教程 PyTorch项目资源 -NLP&PyTorch实战 -CV&PyTorch实战 PyTorch论文推荐 Pytorch书籍推荐 一、PyTorch学习教程、手册 (1)PyTorch英文...
  • PyTorch 学习笔记(一):让PyTorch读取你的数据集

    万次阅读 多人点赞 2018-12-19 20:15:08
    本文截取自《PyTorch 模型训练实用教程》,获取全文pdf请点击:https://github.com/tensor-yu/PyTorch_Tutorial 转载请注明出处:
  • 部分内容延续Pytorch 学习(四):Pytorch 实现 Softmax 回归实现方法 实现多层感知器(Multlayer Perceptron)同样遵循以下步骤: 数据集读取 模型搭建和参数初始化 损失函数和下降器构建 模型训练 方法一:从...
  • PyTorch学习笔记——图像处理 transforms.Normalize 归一化回顾 torchvision.ToTensor归一化 transforms.Normalize公式 回顾 torchvision.ToTensor 在看这一片博客之前,需要先浏览以下我的上一篇博客 PyTorch学习...
  • PyTorch学习笔记7—损失函数、梯度下降

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,103
精华内容 40,041
关键字:

pytorch学习