1. Pytorch入门教程——总览

最近正式开始学习深度学习,而作为现在最流行的深度学习框架PyTorch,相信使用过的人都会被其轻便和快速等特点深深吸引,因此这个系列博客介绍了如何快速入门PyTorch。

学习一门新的语言或者框架最快速的方法自然是边看代码边看教程,于是我遍寻GitHub,终于找到了一个既简单又详细的PyTorch入门教程。该教程提供了完整的代码并添加了详细的注释,一步步循循善诱的引导读者快速入门PyTorch。但教程中有一些错误而且是全英文注释,因此我将此教程进行了翻译并重新整理,更详细的添加了自己理解的一些内容。最后我将原教程进行分拆,主要分为了8个内容,意图引导Pytorch初学者能够快速的入门,对Pytorch的基本操作有个全面的了解。

原教程github地址

本教程代码地址及需要的数据集
链接:https://pan.baidu.com/s/1CiZwfWrZqZSdx1c4MSaIHQ 密码:0izy

一、准备

在进入本教程前,需要有一些基本准备工作。

  • 熟悉python,尤其要熟悉Numpy和Pandas库的使用;
  • 最好有一些软件开发经验,如果有良好的编程背景,就能够很好的入门;
  • 安装含有Python 3.x的Anaconda和Jupyter notebook;
  • 最好有Nvidia GPU(比如GTX 1080),如果没有也没关系,但训练时间会变长。当然你也可以在网上租用服务器或者远程GPU服务器;
  • 读者应该对深度学习和神经网络的一些基本概念比较熟悉。比如线性函数,非线性函数(Relu等),反向传播,梯度和梯度下降算法,损失函数,以及神经网络的权重怎么更新。对于CNN来说,应了解基本的卷积和池化操作。我们的教程将覆盖Pytorch张量(Tensor),张量操作,以及迁移学习和Pytorch相关的所有概念。

二、Pytorch介绍

Pytorch是来自Facebook的一种相对比较新的深度学习框架,已经快速的在开发社区中流行开来。它的主要优点是它的灵活性和神经网络运行时更好的控制能力。另一个关键优势是它广泛使用了Python的编程习惯,入门比较简单,而不像Tensorflow定义了自己的语法和编程风格。

三、数据集

我们使用Cifar10数据集。该数据集包含了60000张图片,被分成10类。每张图片大小是28x28。由于这些图片比较小,较为模糊,导致成为分类任务中比较困难的数据集之一。该数据集的一些基准:
https://benchmarks.ai/cifar-10
有一个2014年的Cifar10竞赛,在
https://www.kaggle.com/c/cifar-10

四、目标

在学完该教程后,读者应该能够:

  • 使用Pytorch创建一个API(一组类和实用函数),来预处理和准备用于训练,验证和预测的图像数据集;
  • 构造并使用API有效地将Pytorch中的迁移学习应用于图像数据集进行分类;
  • 获取一些技巧,使用三种不同的预训练模型,通过有效地组合它们来实现比单个模型更高的精度,从而在Cifar10获得非常高的精度;
  • 了解如何使用Pytorch为深度学习任务创建自己的类,并将它们用作其他应用程序的组件。

五、教程大纲

本教程将按以下步骤进行:

  1. 创建Cifar10 Pytorch数据集;
  2. 数据集预处理,准备训练;
  3. 创建一个基类来构建一个基本的神经网络;
  4. 创建一个派生自基类的全连接类;
  5. 创建一个派生自基类的迁移学习类;
  6. 在Cifar10数据集上训练两个不同的预训练迁移模型;
  7. 使用单个模型和集成模型在数据集上进行验证,预测;
  8. 在Kaggle给出的更大的测试集进行预测。

注意:接下来所有代码都在jupyter notebook中运行

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值