【深度学习】Pytorch零基础入门教程,一小时带你快速掌握

Pytorch官网有非常优秀的教程,其中有几篇小短文属于名为DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ这个小专栏的内容,考虑到大家阅读英文文献有点困难,笔者打算花些时间做一下翻译,同时结合自己的理解做一些内容调整,原文链接贴在这里点此跳转。承接之前的内容,点此跳转到第三部分。好的我们开始第四部分,这也是最后一个部分。这一部分的内容让我们结合之前的知识进行简单的实战,学完这一部分就可以自己使用pytorch进行简单的模型搭建了,我们就直接开始了。现在你已
摘要由CSDN通过智能技术生成

Pytorch官网有非常优秀的教程,其中有几篇小短文属于名为DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ

比如现在你已经具备一定的基础(还没太了解的小伙伴加下方微信获取人工智能配套学习资料包先去学习),当你知道了如何定义神经网络了,能够同时计算loss值并且更新神经网络的权重值。现在想请你思考一下。

数据是什么?

通常情况下,当你不得不去处理图片、文本、音频和视频数据时,你能使用标准的python包将数据导入到numpy数组中。然后你能够将数组转化为pytorch的tensor类型。

(1)对于图片,有Pillow,OpenCV的包可以使用。

(2)对于音频,有scipy和librosa的包可以使用。

(3)对于文本,无论是基于原始Python或Cython的加载,使用NLTK和SpaCy都是可以使用的

特别的对于视觉的处理,我们已经创建一个包叫做torchvision,可以用于对公共数据集的数据加载程序,例如ImageNet, CIFAR10, MNIST等等。对于图片的数据转化工具包括torchvision.datasets和torch.utils.data.DataLoader。

这写工具为我们提供了很大的便利,避免了写过多的重复代码,便于相关人员的使用。

对于这篇教程,我们将会使用CIFIA10的数据集。它包含各个种类,比如‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’.。这些在CIFIA中的图片是3*32*32的大小的,3个(RGB)通道的32*32尺寸的图片。

cifar10

介绍完毕,接下来进行实战训练。

训练一个图片分类器

我们将按照步骤进行如下的操作:

(1)使用torchvision导入并且规范化CIFIA10的训练数据和测试数据;

(2)定义一个卷积神经网络;

(3)定义一个损失(loss)函数;

(4)在训练数据集上训练一个神经网络;

(5)在测试集上测试网络的效果。

1.导入并且规范化CIFIA10的数据集

import torch
import torchvision
import torchvision.transforms as transforms

 torchvision的数据集输出的范围是[0,1]。我们将他们转化为规范化的tensor格式范围区间是[-1,1]。

transform = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
 
batch_size = 4
 
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size,
                                          shuffle=True, num_workers=2)
 
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                       download=True, transform=transform)
testloa
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值