学习pytorch: 深度学习入门建议
0. 简介
本文主要介绍了使用pytorch作为框架入门深度学习。
其中第1节(深度学习入门)内容较多,建议边看第1节边实践第2节(Pytorch入门)中的内容(主要是2.1和2.2)。
1. 深度学习入门
网上的资源非常多,这里重点推荐一个资源:斯坦福大学公开课 CS231N。
对应的中文翻译及视频资料等如下:CS231n 官方笔记及其中文译本。
学习建议:
- 读者把截图中两个模块中涉及的文档读懂(部分代码要自己对照着原文实践) 基本上就可以入门了(预计需要半个月到一个月时间)。
- 上述链接中的视频,作业等资料可选择性观看,主要看截图中给到的内容。笔者只看了截图中的英文资料,其他内容还没看:(, 如果读者觉得读英语效率低,可以参考对应的中文资料。
- 这里不再推荐其他资源,对于初学者只要精通了上述内容,基本上就可以读懂绝大多数深度学习的资料了,对于里面不懂的内容可自行查找资料补充。
2. Pytorch 入门
2.1. 安装软件
2.1.1 python
建议安装anaconda(里面集成了python解释器以及常用的python模块)。
由于官网下载比较慢,建议在清华大学镜像站下载安装。
- 建议安装python3.5以上版本
- windows 下安装教程:Windows下Anaconda的安装和简单使用
- Linux 下安装教程: Linux下安装Anaconda(64位)详细过程
2.1.2 pycharm(可选择)
这是一个IDE(软件开发环境,类似于Visual Studio), 建议读者使用。但是读者也可以使用Anaconda中自带的IDE,如Spyder。或者也可以使用其他编辑器,如Visual Studio Code。或者进阶的朋友可以考虑VIM编辑器(参考我的其他博客:学习vim: 常用命令, 学习vim: 配置python相关插件)
- Windows 下的详细安装及使用教程请参考:Windows下Anaconda和PyCharm的安装与使用
- Linux下的安装教程请参考(请先读完Windows下如何配置Pycharm再读下面的安装方法,Linux下配置Pycharm和Windows下相同):
- Linux Ubuntu系统如何安装pycharm编辑器
- Ubuntu系统安装PyCharm教程(详细图文)
建议: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,建议按照如下配置选择:
注意:这里如果读者没有安装cuda,选择None
2.2. pytorch的基本原理
这一节笔者主要看了pytorch的官方文档和教程,里面有很多很多例子,如果把这些例子全看完,足以满足日常使用的要求。如果时间不够充足,可以考虑先挑一些紧急的看,以后等到熟练了或者需要用到什么地方再反过头来看。
下面列举了一些建议先看的内容:
2.2.1 60分钟入门
对应中文翻译:PyTorch 深度学习:60分钟快速入门
把上图中的五个部分读懂,大约需要一小时到两小时。这一部分主要介绍了
- 什么是pytorch?
- 什么是tensor?
- pytorch如何自动求导?
- 什么是神经网络,如何搭建神经网络?
- 如何从头到尾训练一个分类的神经网络模型?
- 数据并行机制?数据怎么在多个GPU上并行运算?
2.2.2 pytorch的数据加载机制
对应中文翻译:PyTorch:数据加载和预处理
这一节我认为是必看的,大约需要一到两小时读懂。读完这一节,你将学会:
- 读懂别人是怎么设计DataSet的
- 灵活地针对自己的数据定义训练过程中从磁盘上读取数据到网络中
2.2.3 模型加载和保存
这一节主要讲如何将训练好的模型加载到网络中,以及如何保存训练好的模型。
读完上述内容,基本上可以了解pytorch的原理。剩下的就是根据不同的需求看不同的内容。比如,如果读者想做迁移学习,或者强化学习,或者只是想用GAN网络,那么只需要找对应的内容即可。
2.3. Pytorch工具介绍 (可选择)
下面的链接介绍了笔者常用的一些pytorch工具,包括
Awesome-Pytorch-list,提供了pytorch的各种工具,代码,文档等
使用pytorch+tensorboardX进行数据可视化处理(初学者可以不用这个,不会影响结果)
- 使用Augomentor进行数据的扩增处理
3. 补充说明
上述关于pytorch的内容建议直接看英文文档,如果读者觉得看英语效率低,请自己找一下对应的中文翻译。这里笔者只找了部分内容供读者参考。
关于看书还是官方文档。每个人习惯不一样,笔者倾向于不看书。因为现有的关于pytorch的个人认为写的较为粗浅,甚至还不如官方教程细致;pytorch更新较快,官方教程也是每隔一段时间就会更新一下,而书很难跟上最新的更新。
如果读者想了解更多,除了看官方教程,还建议读一读源码。
学习pytorch: 深度学习入门建议相关推荐
- pytorch深度学习入门笔记
Pytorch 深度学习入门笔记 作者:梅如你 学习来源: 公众号: 阿力阿哩哩.土堆碎念 B站视频:https://www.bilibili.com/video/BV1hE411t7RN? 中国大学 ...
- PyTorch深度学习入门与实战(案例视频精讲)
作者:孙玉林,余本国 著 出版社:中国水利水电出版社 品牌:智博尚书 出版时间:2020-07-01 PyTorch深度学习入门与实战(案例视频精讲)
- PyTorch深度学习入门
作者:曾芃壹 出版社:人民邮电出版社 品牌:iTuring 出版时间:2019-09-01 PyTorch深度学习入门
- 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版
为什么说是极简教程,首先本书只涵盖了150页.内容比较精简,特别适合作为 PyTorch 深度学习的入门书籍.为什么这么说呢?因为很多时候,一份厚重的书籍往往会削弱我们学习的积极性,在学习一门新的语言 ...
- PyTorch 深度学习: 60 分钟极速入门
PyTorch 深度学习: 60 分钟极速入门 2019年年初,ApacheCN组织志愿者翻译了PyTorch1.2版本中文文档(github地址),同时也获得了PyTorch官方授权,我相信已经有许 ...
- pytorch深度学习和入门实战(四)神经网络的构建和训练
目录 1.前言 2.神经网络概述 2.1 核心组件包括: 2.2 核心过程 3.构建神经网络模型 3.1构建网络层(Layer ➨ Model) 3.2 torch.nn.Sequential的3大使 ...
- pytorch深度学习_深度学习和PyTorch的推荐系统实施
pytorch深度学习 The recommendation is a simple algorithm that works on the principle of data filtering. ...
- PyTorch深度学习-跟着小土堆学习
目录 学习视频链接 一些问题 P4:Python/PyTorch学习中两大法宝函数-dir().help() P5:PyCharm及Jupyter使用及对比 P6:PyTorch加载数据初认识 P7: ...
- pytorch深度学习_了解如何使用PyTorch进行深度学习
pytorch深度学习 PyTorch is an open source machine learning library for Python that facilitates building ...
- 【深度学习】深度学习之Pytorch基础教程!
作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...
最新文章
- CMake常见变量——Project和CMake相关信息
- VC++编译zlib
- 机器学习算法 --- Decision Trees Algorithms
- 以太坊、Hyperledger Fabric和Corda,哪个更好?
- 1.两个VLAN通过两个交换机与路由器的通信
- 数字信号处理-C语言数字信号的产生
- sql的加减乘除运算_SQL简单查询语、运算符学习和练习
- 网传不要升级.NET5的诸多原因,你赞同几个?
- 第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
- android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版
- Asset Store 下载的package存在什么地方?
- 资源管理器停止工作,自动重启
- 1063. 计算谱半径(20)-PAT乙级真题
- 立创EDA库导入AD库
- SPSS 数据的统计分析
- 【2019.05】腾讯防水墙滑动验证码破解 python + selenium + OpenCV
- 一个故事带你了解集线器、交换机与路由器
- 模拟量采集模块4-20ma0-10v0-5v转rs485modbus 2/4/8/16路电流电压输出输入
- 光伏最大功率点跟踪(MPPT)Simulink
- 浅谈用户体验与界面设计
热门文章
- 【转】显卡:ATI和NVIDIA两大主流显卡比较
- flex弹性盒子的兼容性写法
- 如何在windows平台下使用hsdis与jitwatch查看JIT后的汇编码
- 【kafka】生产者速度测试
- C# Oracle.DataAccess.dll 版本错误链接不上数据库
- VC++:如何将程序最小化到托盘 [转]
- AtCoder Regular Contest 076E Coneected?
- 洛谷 P1509 找啊找啊找GF(复习二维费用背包)
- Win7如何设置标准账号无法访问我的D盘
- 堆排序(python实现)