pytorch工具——使用pytorch构建一个分类器

这篇具有很好参考价值的文章主要介绍了pytorch工具——使用pytorch构建一个分类器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类器任务和数据介绍

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

训练分类器的步骤

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python
pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

#1
import torch
import torchvision
import torchvision.transforms as transforms

transform=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))]) #三个部分的数据的均值,标准差都为0.5
trainset=torchvision.datasets.CIFAR10(root='./data1',train=True,download=True,transform=transform)
trainloader=torch.utils.data.DataLoader(trainset,batch_size=4,shuffle=True)
testset=torchvision.datasets.CIFAR10(root='./data1',train=False,download=True,transform=transform)
testloader=torch.utils.data.DataLoader(testset,batch_size=4,shuffle=True)

classes=('plane','car','bird','cat','deer','dog','frog','horse','ship','truck')

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

展示若干训练集图片
pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

#2
import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
    def __init__(self):
        super(Net,self).__init__()
        self.conv1=nn.Conv2d(3,6,5)
        self.conv2=nn.Conv2d(6,16,5)
        self.pool=nn.MaxPool2d(2,2)
        self.fc1=nn.Linear(16*5*5,120)
        self.fc2=nn.Linear(120,84)
        self.fc3=nn.Linear(84,10)
        
    def forward(self,x):
        x=self.pool(F.relu(self.conv1(x)))
        x=self.pool(F.relu(self.conv2(x)))
        x=x.view(-1,16*5*5)
        x=F.relu(self.fc1(x))
        x=F.relu(self.fc2(x))
        x=self.fc3(x)
        return x
    
net=Net()
print(net)

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

#3
import torch.optim as optim

criterion=nn.CrossEntropyLoss()
optimizer=optim.SGD(net.parameters(),lr=0.001,momentum=0.9)
#4
for epoch in range(2):
    running_loss=0.0
    #按批次迭代训练模型
    for i,data in enumerate(trainloader,0):
        inputs,labels=data
        optimizer.zero_grad()
        outputs=net(inputs)
        loss=criterion(outputs,labels)
        loss.backward()
        optimizer.step()
        #打印训练信息
        running_loss+=loss.item()
        if (i+1)%2000==0:
            print('[%d,%5d] loss:%.3f'%(epoch+1,i+1,running_loss/2000))
            running_loss=0
            
print('finished training')

#设定模型保存位置
PATH='./cifar_net.pth'
#保存模型的状态字典
torch.save(net.state_dict(),PATH)

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

#5
dataiter=iter(testloader)
images,labels=next(dataiter)
print('groundtrue:',' '.join('%5s'%classes[labels[j]] for j in range(4)))
#加载模型参数,在测试阶段
net.load_state_dict(torch.load(PATH))
#利用模型对图片进行预测
outputs=net(images)
_,predicted=torch.max(outputs,1)
print('predicted:',''.join('%5s'%classes[predicted[j]] for j in range(4)))

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

#5
#在整个测试集上测试模型准确率
correct=0
total=0
with torch.no_grad():
    for data in testloader:
        images,labels=data
        outputs=net(images)
        _,predicted=torch.max(outputs.data,1) #_是最大值,predicted是最大值下标
        total+=labels.size(0)
        correct+=(predicted==labels).sum().item()
        
print('accuracy of the network on the 10000 test images:%d %%'%(100*correct/total))

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

分别测试不同类别的模型准确率
pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python
pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python
pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python

在GPU上训练模型

pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python
pytorch工具——使用pytorch构建一个分类器,pytorch解决nlp,pytorch,人工智能,python文章来源地址https://www.toymoban.com/news/detail-599884.html

到了这里,关于pytorch工具——使用pytorch构建一个分类器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【人工智能概论】 PyTorch可视化工具Tensorboard安装与简单使用

    Tensorboard原本是Tensorflow的可视化工具,但自PyTorch1.2.0版本开始,PyTorch正式内置Tensorboard的支持,尽管如此仍需手动安装Tensorboard。否则会报错。 ModuleNotFoundError: No module named ‘tensorboard’ 进入相应虚拟环境后,输入以下指令即可安装。 输入以下指令,不报错即说明安装成功。

    2023年04月24日
    浏览(52)
  • 【NLP PyTorch】字符级RNN循环网络模型姓氏对应国家分类(项目详解)

    本文的任务主要来源于PyTorch的官方教程,即给定各国人名的数据集,你需要训练出一个RNN,它能够根据输入的人名来判断这个人来自哪个国家(分类任务)。 文中主要参考:

    2024年02月14日
    浏览(42)
  • 教你如何使用PyTorch解决多分类问题

    本文分享自华为云社区《使用PyTorch解决多分类问题:构建、训练和评估深度学习模型》,作者: 小馒头学Python。 当处理多分类问题时,PyTorch是一种非常有用的深度学习框架。在这篇博客中,我们将讨论如何使用PyTorch来解决多分类问题。我们将介绍多分类问题的基本概念,

    2024年02月05日
    浏览(54)
  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(62)
  • 人工智能(Pytorch)搭建模型1-卷积神经网络实现简单图像分类

    本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 目录 一、Pytorch深度学习框架 二、 卷积神经网络 三、代码实战 内容: 一、Pytorch深度学习框架 PyTorch是一个开源的深度学习框架,它基于Torch进行了重新实现,主要支持GPU加速计算,同时也可以在CPU上运行

    2024年02月03日
    浏览(66)
  • 人工智能在教育上的应用1-基于pytorch框架下模型训练,用于数学题目图形的智能分类

    大家好,今天给大家介绍一下人工智能在教育上的应用1-基于pytorch框架下模型训练,用于数学题目图形的智能分类,本文将利用CNN算法对数学题目中的图形进行自动分类和识别。这种应用可以帮助学生更好地理解和解决与数学相关的问题。基于CNN的数学题目图形智能分类功能

    2024年02月16日
    浏览(48)
  • 人工智能(Pytorch)搭建模型5-注意力机制模型的构建与GRU模型融合应用

    大家好,我是微学AI,今天给大家介绍一下人工智能(Pytorch)搭建模型5-注意力机制模型的构建与GRU模型融合应用。注意力机制是一种神经网络模型,在序列到序列的任务中,可以帮助解决输入序列较长时难以获取全局信息的问题。该模型通过对输入序列不同部分赋予不同的 权

    2024年02月12日
    浏览(65)
  • 人工智能(pytorch)搭建模型9-pytorch搭建一个ELMo模型,实现训练过程

    大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型9-pytorch搭建一个ELMo模型,实现训练过程,本文将介绍如何使用PyTorch搭建ELMo模型,包括ELMo模型的原理、数据样例、模型训练、损失值和准确率的打印以及预测。文章将提供完整的代码实现。 ELMo模型简介 数据

    2024年02月07日
    浏览(67)
  • 深度学习基础——通过PyTorch构建神经网络实现1维/2维序列分类

    通过PyTorch构建前馈神经网络,并对二维数据点进行分类。在该例子当中,所有的训练数据和测试数据都是通过高斯混合模型GMM生成的: 更换使用循环神经网络RNN模型,进行1维序列分类任务。 为了简化问题,我们假定: 序列的长度是固定的。我们将其长度设为T=4。 我们只有

    2024年02月11日
    浏览(44)
  • 人工智能(pytorch)搭建模型8-利用pytorch搭建一个BiLSTM+CRF模型,实现简单的命名实体识别

    大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型8-利用pytorch搭建一个BiLSTM+CRF模型,实现简单的命名实体识别,BiLSTM+CRF 模型是一种常用的序列标注算法,可用于词性标注、分词、命名实体识别等任务。本文利用pytorch搭建一个BiLSTM+CRF模型,并给出数据样例,

    2024年02月09日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包