0. 简介
本文主要介绍了使用pytorch作为框架入门深度学习。
其中第1节(深度学习入门)内容较多,建议边看第1节边实践第2节(Pytorch入门)中的内容(主要是2.1和2.2)。
1. 深度学习入门
网上的资源非常多,这里重点推荐一个资源:斯坦福大学公开课 CS231N。
对应的中文翻译及视频资料等如下:CS231n 官方笔记及其中文译本。
CS231N
学习建议:
- 读者把截图中两个模块中涉及的文档读懂(部分代码要自己对照着原文实践) 基本上就可以入门了(预计需要半个月到一个月时间)。
- 上述链接中的视频,作业等资料可选择性观看,主要看截图中给到的内容。笔者只看了截图中的英文资料,其他内容还没看:(, 如果读者觉得读英语效率低,可以参考对应的中文资料。
- 这里不再推荐其他资源,对于初学者只要精通了上述内容,基本上就可以读懂绝大多数深度学习的资料了,对于里面不懂的内容可自行查找资料补充。
2. Pytorch 入门
2.1. 安装软件
2.1.1 python
建议安装anaconda(里面集成了python解释器以及常用的python模块)。 由于清华大学镜像和中科院镜像的anaconda源未获得授权已经被关闭,因此这里给出的是官方版本,可能下载速度有点慢。读者可自行查找更快的下载方案,比如百度云。
Anaconda
- 建议安装python3.5以上版本
- windows 下安装教程:Windows下Anaconda的安装和简单使用
- Linux 下安装教程: Linux下安装Anaconda(64位)详细过程
2.1.2 pycharm(可选择)
这是一个IDE(软件开发环境,类似于Visual Studio), 建议读者使用。但是读者也可以使用Anaconda中自带的IDE,如Spyder。或者也可以使用其他编辑器,如Visual Studio Code。
- Windows 下的详细安装及使用教程请参考:Windows下Anaconda和PyCharm的安装与使用
- Linux下的安装教程请参考(请先读完Windows下如何配置Pycharm再读下面的安装方法,Linux下配置Pycharm和Windows下相同):
建议:IDE不一定用的多的就是最好的,请读者自行选择适合自己的IDE,并且精通一个即可。
2.1.3 cuda(可选择)
如果读者电脑上有nvidia GPU且未安装cuda,可以考虑下载并安装。这里给出建议的参考博客,不再详细介绍。
- windows: Windows 10,nvidia显卡, tensorflow-gpu cuda9.0安装(只看安装cuda部分即可)
- Linux: ubuntu16.04下安装GTX1080TI显卡驱动+安装CUDA
2.1.4 pytorch
如图,登陆pytorch官网,在下方选好对应的pytorch版本,系统会自动给出需要运行的命令。
Linux 下安装教程:
- Linux 下安装教程:Linux下便捷安装 Pytorch命令指南
- 比如这里笔者选择satble(1.1)版本, 操作系统为Linux, 安装包使用Conda, python版本为3.6, cuda版本为9.0。
因此只需要在终端(Terminal)中输入如下命令:conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
安装
注意:这里如果读者没有安装cuda,选择None
Windows 下安装教程:
- Windows 下安装教程:pytorch在windows10上安装使用
- 如果系统为windows,建议按照如下配置选择:
image.png
注意:这里如果读者没有安装cuda,选择None
2.2. pytorch的基本原理
这一节笔者主要看了pytorch的官方文档和教程,里面有很多很多例子,如果把这些例子全看完,足以满足日常使用的要求。如果时间不够充足,可以考虑先挑一些紧急的看,以后等到熟练了或者需要用到什么地方再反过头来看。
下面列举了一些建议先看的内容:
2.2.1 60分钟入门
60 min
对应中文翻译:PyTorch 深度学习:60分钟快速入门
把上图中的五个部分读懂,大约需要一小时到两小时。这一部分主要介绍了
- 什么是pytorch?
- 什么是tensor?
- pytorch如何自动求导?
- 什么是神经网络,如何搭建神经网络?
- 如何从头到尾训练一个分类的神经网络模型?
- 数据并行机制?数据怎么在多个GPU上并行运算?
2.2.2 pytorch的数据加载机制
DATA LOADING AND PROCESSING TUTORIAL
对应中文翻译:PyTorch:数据加载和预处理
这一节我认为是必看的,大约需要一到两小时读懂。读完这一节,你将学会:
- 读懂别人是怎么设计DataSet的
- 灵活地针对自己的数据定义训练过程中从磁盘上读取数据到网络中
2.2.3 模型加载和保存
这一节主要讲如何将训练好的模型加载到网络中,以及如何保存训练好的模型。
读完上述内容,基本上可以了解pytorch的原理。剩下的就是根据不同的需求看不同的内容。比如,如果读者想做迁移学习,或者强化学习,或者只是想用GAN网络,那么只需要找对应的内容即可。
2.3. Pytorch工具介绍 (可选择)
下面的链接介绍了笔者常用的一些pytorch工具,包括
-
Awesome-Pytorch-list,提供了pytorch的各种工具,代码,文档等
-
使用pytorch+tensorboardX进行数据可视化处理(初学者可以不用这个,不会影响结果)
tensorboardX
- 使用Augomentor进行数据的扩增处理
Augomentor
网友评论