学习参考项目:
https://github.com/fendouai/PyTorchDocs/tree/master
处于学习阶段,内容几乎全部上述文档,仅进行归纳整理与加上自己的部分理解,特此声明。
# 第一章 PyTorch 之简介与下载
# Pytorch 简介
要介绍 PyTorch
之前,不得不说一下 Torch
。 Torch
是一个有大量机器学习算法支持的科学计算框架,是一个与 Numpy
类似的张量( Tensor
)
操作库,其特点是特别灵活,但因其采用了小众的编程语言是 Lua
,所以流行度不高,这也就有了 PyTorch
的出现。所以其实 Torch
是 PyTorch
的前身,它们的底层语言相同,只是使用了不同的 上层包装语言
PyTorch
是一个基于 Torch 的 Python 开源机器学习库,用于自然语言处理等应用程序。
它主要由 Facebook
的人工智能小组开发,不仅能够实现强大的 GPU
加速,同时还支持动态神经网络,这一点是现在很多主流框架如 TensorFlow
都不支持的。
PyTorch
提供了两个高级功能:
具有强大的
GPU
加速的张量计算(如Numpy
)包含自动求导系统的深度神经网络
TensorFlow
和 Caffe
都是命令式的编程语言,而且是静态的,首先必须构建一个神经网络,然后一次又一次使用相同的结构,如果想要改变网络的结构,就必须从头开始。
但是对于 PyTorch
,通过反向求导技术,可以让你零延迟地任意改变神经网络的行为,而且其实现速度快。正是这一灵活性是 PyTorch
对比 TensorFlow
的最大优势。
所以,总结一下 PyTorch 的优点:
- 支持 GPU
- 灵活,支持动态神经网络
- 底层代码易于理解
- 命令式体验
- 自定义扩展
- 少量代码就能完成机器学习任务
缺点:对比 TensorFlow
,
- 其全面性处于劣势,目前 PyTorch 还不支持快速傅里叶、沿维翻转张量和检查无穷与非数值张量;
- 针对移动端、嵌入式部署以及高性能服务器端的部署其性能表现有待提升;
- 框架较新,社区没有那么强大,C 库大多数没有文档。
# Pytorch
环境搭建
# 1. 安装 Anaconda 3.5
Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux、Mac 和 Window 系统,提供了包管理与环境管理的功能,可以很方便地解决 Python 并存、切换,以及各种第三方包安装的问题。
# 下载:
可以直接从 Anaconda 官网下载,但因为 Anaconda 的服务器在国外,所以下载速度会很慢,这里推荐使用清华的镜像来下载。选择合适你的版本下载,我这里选择 Anaconda3-5.1.0-Windows-x86_64.exe
# 安装:
安装完成后,进行 Anaconda 的环境变量配置,打开控制面板 -> 高级系统设置 -> 环境变量 -> 系统变量找到 Path,点击编辑,加入三个文件夹的存储路径(注意三个路径之间需用分号隔开)
# 2. 安装 PyTorch & torchvision
# 命令获取
进入 PyTorch 官网,依次选择你电脑的配置(我这里已经下载了 python3.7),这里提供使用 pip 和 conda 两种环境下安装的步骤截图
(1) 使用 pip:windows+pip+python3.7+None
(2) 使用 conda:windows+conda+python3.7+None