本文旨在记录自己学习pytorch所构建的第一个模型,后续将会写有关自然语言处理的相关分享,帮助其他和我一样深度学习领域的小白理解这项技术。
首先,我们学习深度学习不同与其他python扩展内容,深度学习所涉及到的一些专业知识需要有一定的数学和理论基础,不然在听实践课的时候,会一头雾水,这是博主的亲身经历,希望大家脚踏实地,好好学习基础,少走弯路。
下面的内容将围绕所构建的模型来阐述。
配置
博主用的是3.7的python和1.11.0的torch库。不要下载pytorch!注意是torch!
然后需要安装几个支持库和必须的库
numpy
six
pillow
torch-version(计算机视觉)
matplotlib
导入库
import torch.nn as nn
import torch
import torch.functional as F
import torchvision
import torch.optim as optim
import torchvision.transforms as trans
import matplotlib.pyplot as plt
import numpy as np
张量转换器
我们想要训练模型,那么我们就要知道,我们训练的到底是什么。我们使用tensorflow和pytorch时,模型训练的是张量,关于张量可能有不同的叫法,但本质上是矩阵。所以,一般情况下,我们自己构建数据集和模型时,一定要注意数据类型的转换。
trans = trans.Compose(
[trans.ToTensor(),
trans.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]
)
下载数据集
下载数据集大家肯定没问题的,下载完之后,可以把download的值改为False或者把download=Ture这段删掉,不影响后面训练的。
# 训练集导入
trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True,transform=trans)
# 训练集加载
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=0)
# 测试集导入
testset =