1.1 PyTorch 简介与安装

PyTorch 的诞生

2017 年 1 月,FAIR(Facebook AI Research)发布了 PyTorch。PyTorch 是在 Torch 基础上用 python 语言重新打造的一款深度学习框架。Torch 是采用 Lua 语言为接口的机器学习框架,但是因为 Lua 语言较为小众,导致 Torch 学习成本高,因此知名度不高。

PyTorch 的发展

  • 2017 年 1 月正式发布 PyTorch。

  • 2018 年 4 月更新 0.4.0 版,支持 Windows 系统,caffe2 正式并入 PyTorch。

  • 2018 年 11 月更新 1.0 稳定版,已成为 Github 上增长第二快的开源项目。

  • 2019 年 5 月更新 1.1.0 版,支持 TensorBoard,增强可视化功能。

  • 2019 年 8 月更新 1.2.0 版,更新 Torchvision,torchaudio 和torchtext,支持更多功能。

  • 目前 PyTorch 有超越 Tensorflow 的趋势。

  • ...

PyTorch 优点

  • 上手快,掌握 Numpy 和基本深度学习概念即可上手。

  • 代码简洁灵活,使用 nn.Module 封装使得网络搭建更加方便 。基于动态图机制,更加灵活。

  • 资源多,arXiv 中新论文的算法大多有 PyTorch 实现。

  • 开发者多,Github 上贡献者(Contributors)已经超过 1100+

  • ...

PyTorch 实现模型训练的 5 大要素

  • 数据:包括数据读取,数据清洗,进行数据划分和数据预处理,比如读取图片如何预处理及数据增强。

  • 模型:包括构建模型模块,组织复杂网络,初始化网络参数,定义网络层。

  • 损失函数:包括创建损失函数,设置损失函数超参数,根据不同任务选择合适的损失函数。

  • 优化器:包括根据梯度使用某种优化器更新参数,管理模型参数,管理多个参数组实现不同学习率,调整学习率。

  • 迭代训练:组织上面 4 个模块进行反复训练。包括观察训练效果,绘制 Loss/ Accuracy 曲线,用 TensorBoard 进行可视化分析。

整个系列的学习都会围绕着这 5 个方面来展开。

安装

在开发过程中可能会有多个项目同时进行,不同项目之间使用的 Python 版本和一些库的版本不一样,这就会导致冲突。因此这里使用 Anaconda 来管理多个 Python 虚拟环境。Anaconda 是为了方便使用 Python 而建立的一个软件包,包含常用 的 250 多个工具包,多个版本的 Python 解释器和强大的虚拟环境管理工具。各个环境之间相互独立,可任意切换。

安装 Anaconda

  • 安装时记得勾选Add Anaconda to my PATH environment variable 添加到环境变量中。

  • 安装完成后打开cmd,输入conda回车出现如下信息,即为安装成功。

  • 接着添加中科大镜像或者清华镜像,在安装库的时候实现加速下载。

安装 PyTorch

  • 检查是否有支持 CUDA 的 GPU,若有,需要安装 CUDA 和CuDNN。

  • 进入 PyTorch 官方网站 https://pytorch.org/get-started/locally/选择自己需要安装的 PyTorch 对应的命令,在本地 cmd 中输入安装命令即可。这里我本机选择使用 conda 安装不支持 GPU 的 1.5 版本:conda install pytorch torchvision cpuonly -c pytorch

第一部分是 cuda 版本或者 cpu,第二部分是 PyTorch 版本号,第三部分是 Python 版本号,第四部分是操作系统。

cu92/torch-1.5.0%2Bcu92-cp37-cp37m-linux_x86_64.whl

Pycharm 使用 Anaconda 环境

在 Pycharm 中新建项目后,需要在 File -> Settings -> Project -> Python Interpreter 中选择 Anaconda 环境。

首先点击齿轮图标,点击弹出的add

参考资料

如果你觉得这篇文章对你有帮助,不妨点个赞,让我有更多动力写出好文章。

我的文章会首发在公众号上,欢迎扫码关注我的公众号张贤同学

最后更新于