专栏目录:

第一章:PyTorch之简介与下载

  • PyTorch简介

  • PyTorch环境搭建

第二章:PyTorch之60min入门

  • PyTorch 入门

  • PyTorch 自动微分

  • PyTorch 神经网络

  • PyTorch 图像分类器

  • PyTorch 数据并行处理

第三章:PyTorch之入门强化

  • 数据加载和处理

  • PyTorch小试牛刀

  • 迁移学习

  • 混合前端的seq2seq模型部署

  • 保存和加载模型

第四章:PyTorch之图像篇

  • 微调基于torchvision 0.3的目标检测模型

  • 微调TorchVision模型

  • 空间变换器网络

  • 使用PyTorch进行Neural-Transfer

  • 生成对抗示例

  • 使用ONNX将模型转移至Caffe2和移动端

第五章:PyTorch之文本篇

  • 聊天机器人教程

  • 使用字符级RNN生成名字

  • 使用字符级RNN进行名字分类

  • 在深度学习和NLP中使用Pytorch

  • 使用Sequence2Sequence网络和注意力进行翻译

第六章:PyTorch之生成对抗网络

第七章:PyTorch之强化学习

第一章:PyTorch之简介与下载

1 PyTorch简介

要介绍PyTorch之前,不得不说一下Torch。Torch是一个有大量机器学习算法支持的科学计算框架,是一个与Numpy类似的张量(Tensor)操作库,其特点是特别灵活,但因其采用了小众的编程语言是Lua,所以流行度不高,这也就有PyTorch的出现。所以其实Torch是PyTorch的前身,它们的底层语言相同,只是使用了不同的上层包装语言。

PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。它主要由Facebookd的人工智能小组开发,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这一点是现在很多主流框架如TensorFlow都不支持的。PyTorch提供了两个高级功能:

  • 具有强大的GPU加速的张量计算(如Numpy)

  • 包含自动求导系统的深度神经网络

除了Facebook之外,Twitter、GMU和Salesforce等机构都采用了PyTorch。

TensorFlow和Caffe都是命令式的编程语言,而且是静态的,首先必须构建一个神经网络,然后一次又一次使用相同的结构,如果想要改变网络的结构,就必须从头开始。但是对于PyTorch,通过反向求导技术,可以让你零延迟地任意改变神经网络的行为,而且其实现速度快。正是这一灵活性是PyTorch对比TensorFlow的最大优势。

另外,PyTorch的代码对比TensorFlow而言,更加简洁直观,底层代码也更容易看懂,这对于使用它的人来说理解底层肯定是一件令人激动的事。

所以,总结一下PyTorch的优点:

  • 支持GPU

  • 灵活,支持动态神经网络

  • 底层代码易于理解

  • 命令式体验

  • 自定义扩展

当然,现今任何一个深度学习框架都有其缺点,PyTorch也不例外,对比TensorFlow,其全面性处于劣势,目前PyTorch还不支持快速傅里叶、沿维翻转张量和检查无穷与非数值张量;针对移动端、嵌入式部署以及高性能服务器端的部署其性能表现有待提升;其次因为这个框架较新,使得他的社区没有那么强大,在文档方面其C库大多数没有文档。

2 PyTorch简介

2.1 安装Anaconda 3.5

Anaconda是一个用于科学计算的Python发行版,支持Linux、Mac和Window系统,提供了包管理与环境管理的功能,可以很方便地解决Python并存、切换,以及各种第三方包安装的问题。

2.1.1 下载:

可以直接从 Anaconda官网下载,但因为Anaconda的服务器在国外,所以下载速度会很慢,这里推荐使用清华的镜像来下载。选择合适你的版本下载,我这里选择Anaconda3-5.1.0-Windows-x86_64.exe

2.1.2 安装

下载之后,点击安装即可,步骤依次如下:

选择你想要存放的位置

安装完成后,进行Anaconda的环境变量配置,打开控制面板->高级系统设置->环境变量->系统变量找到Path,点击编辑,加入三个文件夹的存储路径(注意三个路径之间需用分号隔开),步骤如下:

Anaconda3.5存储路径

Anaconda3.5\Library\bin存储路径

Anaconda3.5\Scripts存储路径

至此,Anaconda 3.5 windows版就安装设置好了,打开程序找到Anaconda Navigator,启动后可以看到:

Anaconda首页

2.2 安装PyTorch & torchvision

2.2.1 命令获取

进入 PyTorch官网,依次选择你电脑的配置(我这里已经下载了python3.7),这里提供使用pip和conda两种环境下安装的步骤截图

(1)使用pip:windows+pip+python3.7+None

拷贝给出的命令在cmd下运行

安装成功后检验是否安装成功,打开pycharm运行一个小demo:

检验pytorch是否安装成功

(2)使用conda:windows+conda+python3.7+None

拷贝给出的命令在cmd下运行

安装完毕后,验证是否安装成功,打开Anaconda的Jupyter新建python文件,运行demo:

出现这个结果,那么恭喜你,至此PyTorch1.0 & Anaconda3.5已经安装成功。

欢迎关注磐创博客资源汇总站:

http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:

http://pytorch.panchuang.net/

PyTorch专栏(一)的更多相关文章

  1. PyTorch专栏(八):微调基于torchvision 0.3的目标检测模型

    专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60分钟入门 PyTorch入门 PyTorch自动微分 PyTorch神经网络 P ...

  2. PyTorch专栏(六): 混合前端的seq2seq模型部署

    欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/ 欢迎关注PyTorch官方中文教程站: http://pytorch.panchuang.net/ 专栏目录: 第一 ...

  3. PyTorch专栏(五):迁移学习

    专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60分钟入门 PyTorch入门 PyTorch自动微分 PyTorch神经网络 P ...

  4. PyTorch专栏(二)

    专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60min入门 PyTorch 入门 PyTorch 自动微分 PyTorch 神经 ...

  5. PyTorch专栏开篇

    目前研究人员正在使用的深度学习框架不尽相同,有 TensorFlow .PyTorch.Keras等.这些深度学习框架被应用于计算机视觉.语音识别.自然语言处理与生物信息学等领域,并获取了极好的效果. ...

  6. Pytorch中torch.autograd ---backward函数的使用方法详细解析,具体例子分析

    backward函数 官方定义: torch.autograd.backward(tensors, grad_tensors=None, retain_graph=None, create_graph ...

  7. 生产与学术之Pytorch模型导出为安卓Apk尝试记录

    生产与学术 写于 2019-01-08 的旧文, 当时是针对一个比赛的探索. 觉得可能对其他人有用, 就放出来分享一下 生产与学术, 真实的对立... 这是我这两天对pytorch深度学习->a ...

  8. Pytorch源码与运行原理浅析--网络篇(一)

    前言 申请的专栏开通了,刚好最近闲下来了,就打算开这个坑了hhhhh 第一篇就先讲一讲pytorch的运行机制好了... 记得当时刚刚接触的时候一直搞不明白,为什么自己只是定义了几个网络,就可以完整的 ...

  9. Pytorch的19种损失函数

    基本用法 12 criterion = LossCriterion() loss = criterion(x, y) # 调用标准时也有参数 损失函数 L1范数损失:L1Loss 计算 output ...

随机推荐

  1. Java入门教程六(内置包装类)

    Java 是一种面向对象的编程语言,Java 中的类把方法与数据类型连接在一起,构成了自包含式的处理单元.但在 Java 中不能定义基本类型对象,为了能将基本类型视为对象处理,并能连接相关方法,Jav ...

  2. 5,Hadoop中的文件

    1,文件结构 · bin:脚本和命令目录. · etc:配置文件目录. · sbin:命令目录,主要包含HDFS和YARN中各类服务的启动和关闭,依赖于bin中的脚本. · share:各个模块编译后 ...

  3. 《自拍教程35》段位二_Python面向过程函数

    Python批处理脚本只能处理较为简单的顺序执行的语句, 语句太多了,就有点乱...是时候升级一下了. 函数可以将多条语句分组封装,实现面向过程的,简单的模块化管理. 方便将语句实行"网格& ...

  4. 7-40 jmu-python-统计成绩 (15 分)

    输入一批学生成绩,计算平均成绩,并统计不及格学生人数. 输入格式: 每行输入一个数据,输入数据为负数结束输入 输出格式: 平均分=XX,不及格人数=XX,其中XX表示对应数据.如果没有学生数据,输出没 ...

  5. 将list集合按指定长度进行切分,返回新的List<List<??>>集合

    Lists.partition public class testList { @Test public void test(){ List<Integer> numList = List ...

  6. h5单页面布局

    前段时间做了一个PC端单页面应用 GitHub因为项目开始的比较仓促,加上本人前端经验特别少,虽然项目大体完成了,但是页面布局确成立它的硬伤...为了填补心里落差,专门做了一个h5的单页面布局,代码很 ...

  7. 容器内init进程方案

    背景 进程标识符 (PID) 是Linux 内核为每个进程提供的唯一标识符.熟悉docker的同学都知道, 所有的进程 PID都属于某一个PID namespaces, 也就是说容器具有一组自己的 P ...

  8. ZXingObjC二维码扫描

    #import "QRScanViewController.h" #import "AppDelegate.h" @interface QRScanViewCo ...

  9. django数据库分库migrate

    最近在研究微服务和分布式,设计到了数据库分库,记录一下 首先,创建多个数据库,如果是已经生成的数据库,可以分库,这里我是新创建的项目,刚好可以用来尝试 我是用docker创建的mysql数据库容器 拉 ...

  10. 原生js实现随着滚动条滚动,导航会自动切换的效果

    最近学习前端,把前面用原生js写的一段有关tab切换效果的代码贴上,实现的效果比较简陋,请大家见谅 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...