基于Pytorch深度学习神经网络CNN花朵图像识别系统

该代码示例展示了使用PyTorch进行图像分类的过程,包括导入必要的库,对训练数据进行预处理,构建模型网络,以及执行预测并计算正确率和混淆矩阵。测试部分包含了网络评估和结果可视化。
部署运行你感兴趣的模型镜像

第一步:导入头文件

import torch
import torchvision
import torchvision.transforms as transforms
import torch.nn as nn
import torch.nn.functional as F
from torch.autograd import Variable
import torch.optim as optim

第二步:数据预处理

def loadtraindata():
    # 路径
    path = "data\\train"
    trainset = torchvision.datasets.ImageFolder(path, transform=transforms.Compose([
        # 将图片缩放到指定大小(h,w)或者保持长宽比并缩放最短的边到int大小
        transforms.Resize((32, 32)),
        transforms.ToTensor()])
                                                )
    trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)
    return trainloader

第三步:构建模型网络

开源网络结构

第四步:预测(提供正确率,混淆矩阵结果)

def test():
    net = reload_net()
    net.eval()
    testloader = loadtestdata()
    sum = 0
    num = 0
    labels_list = []
    predicted_list = []
    for images, labels in testloader:
        sum += 1
        outputs = net(Variable(images))
        _, predicted = torch.max(outputs.data, 1)
        if labels == predicted:
            num += 1

        labels_list.append(labels.numpy()[0])
        predicted_list.append(predicted.numpy()[0])
    print('正确率: ' + str(num*1.0 / sum))
    cm = confusion_matrix(labels_list, predicted_list)
    print(cm) #打印混淆矩阵的值
    plot_confusion_matrix(cm, classes, "Confusion Matrix")
    plt.show()

结果:

1)代码结构

7539f2fcdacabfda13cb8af4480abf3c.png

2)预测的一些结果

810ecca6e97630f571504211471e1dc9.png

3)带界面运行结果

ad2580066c9a48f6ceb26ed26e697bbb.png

 

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.7

PyTorch 2.7

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值