0. 简介
本文主要介绍了使用pytorch作为框架入门深度学习。
其中第1节(深度学习入门)内容较多,建议边看第1节边实践第2节(Pytorch入门)中的内容(主要是2.1和2.2)。
1. 深度学习入门
网上的资源非常多,这里重点推荐一个资源:斯坦福大学公开课 CS231N。
对应的中文翻译及视频资料等如下:CS231n 官方笔记及其中文译本。
学习建议:
- 读者把截图中两个模块中涉及的文档读懂(部分代码要自己对照着原文实践) 基本上就可以入门了(预计需要半个月到一个月时间)。
- 上述链接中的视频,作业等资料可选择性观看,主要看截图中给到的内容。笔者只看了截图中的英文资料,其他内容还没看:(, 如果读者觉得读英语效率低,可以参考对应的中文资料。
- 这里不再推荐其他资源,对于初学者只要精通了上述内容,基本上就可以读懂绝大多数深度学习的资料了,对于里面不懂的内容可自行查找资料补充。
2. Pytorch 入门
2.1. 安装软件
2.1.1 python
建议安装anaconda(里面集成了python解释器以及常用的python模块)。
由于官网下载比较慢,建议在清华大学镜像站下载安装。
2.1.2 pycharm(可选择)
这是一个IDE(软件开发环境,类似于Visual Studio), 建议读者使用。但是读者也可以使用Anaconda中自带的IDE,如Spyder。或者也可以使用其他编辑器,如Visual Studio Code。或者进阶的朋友可以考虑VIM编辑器(参考我的其他博客:学习vim: 常用命令, 学习vim: 配置python相关插件)
建议:IDE不一定用的多的就是最好的,请读者自行选择适合自己的IDE,并且精通一个即可。
2.1.3 cuda(可选择)
如果读者电脑上有nvidia GPU且未安装cuda,可以考虑下载并安装。这里给出建议的参考博客,不再详细介绍。
2.1.4 pytorch
如图,登陆pytorch官网,在下方选好对应的pytorch版本,系统会自动给出需要运行的命令。
Linux 下安装教程:
- 比如这里笔者选择satble(1.1)版本, 操作系统为Linux, 安装包使用Conda, python版本为3.6, cuda版本为9.0。
因此只需要在终端(Terminal)中输入如下命令:conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
注意:这里如果读者没有安装cuda,选择None
Windows 下安装教程:
2.2. pytorch的基本原理
这一节笔者主要看了pytorch的官方文档和教程,里面有很多很多例子,如果把这些例子全看完,足以满足日常使用的要求。如果时间不够充足,可以考虑先挑一些紧急的看,以后等到熟练了或者需要用到什么地方再反过头来看。
下面列举了一些建议先看的内容:
对应中文翻译:PyTorch 深度学习:60分钟快速入门
把上图中的五个部分读懂,大约需要一小时到两小时。这一部分主要介绍了
- 什么是pytorch?
- 什么是tensor?
- pytorch如何自动求导?
- 什么是神经网络,如何搭建神经网络?
- 如何从头到尾训练一个分类的神经网络模型?
- 数据并行机制?数据怎么在多个GPU上并行运算?
对应中文翻译:PyTorch:数据加载和预处理
这一节我认为是必看的,大约需要一到两小时读懂。读完这一节,你将学会:
- 读懂别人是怎么设计DataSet的
- 灵活地针对自己的数据定义训练过程中从磁盘上读取数据到网络中
这一节主要讲如何将训练好的模型加载到网络中,以及如何保存训练好的模型。
读完上述内容,基本上可以了解pytorch的原理。剩下的就是根据不同的需求看不同的内容。比如,如果读者想做迁移学习,或者强化学习,或者只是想用GAN网络,那么只需要找对应的内容即可。
2.3. Pytorch工具介绍 (可选择)
下面的链接介绍了笔者常用的一些pytorch工具,包括
3. 补充说明
-
上述关于pytorch的内容建议直接看英文文档,如果读者觉得看英语效率低,请自己找一下对应的中文翻译。这里笔者只找了部分内容供读者参考。
-
关于看书还是官方文档。每个人习惯不一样,笔者倾向于不看书。因为现有的关于pytorch的个人认为写的较为粗浅,甚至还不如官方教程细致;pytorch更新较快,官方教程也是每隔一段时间就会更新一下,而书很难跟上最新的更新。
-
如果读者想了解更多,除了看官方教程,还建议读一读源码。