学习pytorch: 深度学习入门建议

2023-10-26

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

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 下安装教程:

  • 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工具,包括

tensorboardX

Augomentor

3. 补充说明

  • 上述关于pytorch的内容建议直接看英文文档,如果读者觉得看英语效率低,请自己找一下对应的中文翻译。这里笔者只找了部分内容供读者参考。

  • 关于看书还是官方文档。每个人习惯不一样,笔者倾向于不看书。因为现有的关于pytorch的个人认为写的较为粗浅,甚至还不如官方教程细致;pytorch更新较快,官方教程也是每隔一段时间就会更新一下,而书很难跟上最新的更新。

  • 如果读者想了解更多,除了看官方教程,还建议读一读源码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习pytorch: 深度学习入门建议 的相关文章

随机推荐

  • Java系列——封装、继承、多态初了解

    目录 一 前言 二 封装 1 什么是封装 2 封装的特点 3 封装的使用 三 继承 1 什么是继承 2 继承的特点 3 继承的优点 4 继承的使用 4 1 继承的格式 4 2 继承的演示 4 3 成员变量 4 4 成员方法 4 5 构造方法
  • Pyhton零售数据分析及产品关联分析

    一 项目背景 总结 项目背景 以购物篮分析为背景 分析某跨国棒球用品零售商的历史订单数据 为企业提供运营及销售策略 项目总结 一 本项目对企业历史订单数据进行以下角度的处理及分析 数据探索及清洗 对6w 订单数据进行探索及清洗处理 为数据构
  • 2022年最新前端面试题,持续更新

    js面试题 1 js数据类型 基本数据类型 Number String Boolean Null Undefined Symbol bigInt 引用数据类型 object Array Date Function RegExp 2 js变量
  • surf特征原理

    前言 也许我们使用过Uiautomator编写过自动化测试脚本 也许我们也使用过Monkey来测试过应用的稳定性 但在使用过程中总觉得有或多或小的问题 用Uiautomator写脚本 总觉得有时候控件没法识别 用Monkey来进行稳定性测试
  • Oracle SQL developer不显示dbms_output.put_line的输出内容

    1 调出dbms输出窗口 2 dbms选择对应的数据库连接 3 工作区SQL文件 定义一个触发器 create trigger newtmpdata 创建触发器newtmpdata 在tmp中添加新数据 after insert 插入操作之
  • yolo算法通俗易懂讲解

    参考 https blog csdn net briblue article details 103149407 depth 1 utm source distribute pc relevant none task utm source
  • .NET[C#]LINQ查询List集合中所有重复的元素如何实现?(转载)

    NET C LINQ查询List集合中所有重复的元素如何实现 转载 方案一 var query lst GroupBy x gt x Where g gt g Count gt 1 Select y gt y Key ToList 如果还需
  • C#,去除字符串指定的之字符,并去掉不可见的 “”一种方法。

    string str1 小王 心情 很 平 静 char chs1 new char 定义一个字符数组 存放上面字符串中不要的内容 和 string result1 str1 Split chs1 StringSplitOptions Re
  • 关于Adapter数据适配器

    适配器 什么是适配器 Android适配器是数据和视图之间的桥梁 以便于数据在View上显示 适配器就像显示器 把复杂的东西按人可以接受的方式来展现 Adapter数据适配器将各种数据以合适的形式绑定到控件上 像listview gridv
  • MyBatis框架——MyBatis执行SQL的两种方式(转载)

    本节主要介绍 MyBatis 执行 SQL 语句的两种方式和它们的区别 MyBatis 有两种执行 SQL 语句的方式 如下 通过 SqlSession 发送 SQL 通过 SqlSession 获取 Mapper 接口 通过 Mapper
  • ajax 无参请求,ajax无参请求学习

    ajax 点击 请求流程 test html代码流程 创建button按钮 为button绑定一个点击事件 函数 在函数内书写ajax代码 2 1 创建ajax对象 2 2 设置onreadystatechange属性 用来监听变化 如果有
  • 数据结构视频教程 -《数据结构视频教程 严蔚敏》

    整个视频打包下载地址 史上最全的数据结构视频教程系列分享之 数据结构视频教程 严蔚敏 转载请保留出处和链接 更多优秀资源请访问 我是码农 严蔚敏老师是清华大学计算机系教授 长期从事数据结构教学和教材建设 本教程是数据结构视频教程中的经典之作
  • Spring(十二):bean的加载——创建bean

    回顾 前面已经看了在加载Bean的时候 如何去解决循环依赖的问题 解决完循环依赖 就到创建Bean的步骤了 而创建bean的步骤是紧紧接着 创建Bean实例 Bean根据范围会分为几种 单例 原型 自定义范围 每种范围都会有自己不同的生命周
  • 【Altium designer】PCB 各层简介

    1 Signal Layer 信号层 主要用于放置元件和走线 Top Layer 顶层 Bottom Layer 底层 Mid Layer 中间信号层 2 Mechanical Layer 机械层 3 Keep Out Layer 禁止布线
  • Linux内核:内存管理——内存回收

    概述 当linux系统内存压力就大时 就会对系统的每个压力大的zone进程内存回收 内存回收主要是针对匿名页和文件页进行的 对于匿名页 内存回收过程中会筛选出一些不经常使用的匿名页 将它们写入到swap分区中 然后作为空闲页框释放到伙伴系统
  • c++学习之多态案例--电脑组装

    代码示例 include
  • Mysql事务隔离级别与锁机制

    文章目录 事务及其ACID属性 并发事务处理带来的问题 隔离级别 锁 表锁测试 行锁测试 仅限innodb 幻读测试 可重复读和java代码之间的问题 间隙锁 Gap Lock 和 临键锁 Next key Locks 意向锁 表级别的锁
  • linetime.css,时间线图绘制(time-line)

    效果 image png vue 单文件组件 v startTime substring 10 16 v startTime substring 5 10 v name v state v startTime export default
  • pandas将一列分割成多列

    示例数据 import pandas as pd from pandas import Series DataFrame consum pd read csv consum csv encoding ANSI consum 消费时间 要将
  • 学习pytorch: 深度学习入门建议

    0 简介 本文主要介绍了使用pytorch作为框架入门深度学习 其中第1节 深度学习入门 内容较多 建议边看第1节边实践第2节 Pytorch入门 中的内容 主要是2 1和2 2 1 深度学习入门 网上的资源非常多 这里重点推荐一个资源 斯