PyTorch-模型验证

news2024/11/25 13:08:57

目的:利用已经训练好的网络模型,输入数据进行测试。(相当于将其运用于真实场景中)

Cifar-10分类:

test1:放入一张狗狗的图片

进行验证:test.py

import torch
import torchvision
from PIL import Image
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear

img_path = './imgs/1.png'
img = Image.open(img_path)
# print(img)  # <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=153x153 at 0x24C0AA94820>
# 注意:png是四个通道,除了RGB外还有一个透明通道。
img = img.convert('RGB')
transform = torchvision.transforms.Compose([
    torchvision.transforms.Resize((32, 32)),
    torchvision.transforms.ToTensor()
])
img = transform(img)
# print(img.shape)  # torch.Size([3, 32, 32])
model = torch.load('./model_save/myModule_0.pth')
print(model)
img = torch.reshape(img, (1, 3, 32, 32))
model.eval()
with torch.no_grad():
    output = model(img)
print(output)
print(output.argmax(1))

MyModule(
  (model): Sequential(
    (0): Conv2d(3, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
    (1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
    (2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
    (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
    (4): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
    (5): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
    (6): Flatten(start_dim=1, end_dim=-1)
    (7): Linear(in_features=1024, out_features=64, bias=True)
    (8): Linear(in_features=64, out_features=10, bias=True)
  )
)
tensor([[-1.8267, -0.0232,  0.6100,  0.9207,  0.7240,  1.2317,  0.8643,  0.2022,
         -2.3572, -1.3339]])
tensor([5])

Process finished with exit code 0

预测结果:正确 

test2:放入一张飞机的图片

tensor([[ 0.1496,  0.5647,  0.4304,  0.0127, -0.0547, -0.0984, -0.3994,  0.4792,
         -0.1503,  0.4344]])
tensor([1]) 

预测结果:错误

因为我们加载的是“myModule_0.pth”,还没有进行太多轮训练。

可以使用训练过多轮后的模型,再进行加载。

test.py

import torch
import torchvision
from PIL import Image
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear

img_path = './imgs/2.png'
img = Image.open(img_path)
# print(img)  # <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=153x153 at 0x24C0AA94820>
# 注意:png是四个通道,除了RGB外还有一个透明通道。
img = img.convert('RGB')
transform = torchvision.transforms.Compose([
    torchvision.transforms.Resize((32, 32)),
    torchvision.transforms.ToTensor()
])
img = transform(img)
# print(img.shape)  # torch.Size([3, 32, 32])
model = torch.load('./model_save/myModule_9.pth')
print(model)
img = torch.reshape(img, (1, 3, 32, 32))
model.eval()
with torch.no_grad():
    output = model(img)
print(output)
print(output.argmax(1))

tensor([[ 3.3083, -2.0488,  2.3623, -0.2181,  1.3219,  0.0711, -3.2308,  0.4749,
         -0.5960, -1.3306]])
tensor([0])

预测结果:正确 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/587782.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gaussDB的schema创建查询,及其查询下面的表列

pg_catalog.pg_namespace来查看当前数据库中全部的Schema select oid,* from pg_catalog.pg_namespace; 创建schema create schema gs_dqms 显示当前使用的schema SHOW search_path; 切换当前schema SET search_path TO gs_dqms; 查看Schema---- dgp_sd下所有表的大小&…

2023年软件设计师上午试题及参考答案

2023年上半年 软件设计师 上午试卷 加粗为参考答案,不一定能全对 &#xff08;考试时间9:00~11:30共150分钟&#xff09; 请按下述要求正确填写答题卡 1.在答题卡的指定位置上正确填写你的姓名和准考证号&#xff0c;并粘贴考生条形码。 2.本试卷的试题中共有75个空格&#…

蓝牙资讯|2023 年 Q1 全球智能音频设备出货量8672万部

市场调研机构 Canalys 公布了 2023 年第一季度全球个人智能音频设备出货量报告。 报告显示 2023 年第一季度全球个人智能音频设备出货量跌至 8672 万部&#xff0c;同比下降 15%。其中 TWS 真无线耳机出货量下滑至 6158 万部&#xff0c;同步下降 10%。其中&#xff0c;苹果&…

基础知识铺垫

目录 一、HTTP 1.http协议 2.http协议的工作原理 3.http的请求 请求行 请求头 请求体 4.http的响应 响应行 5.get和post请求方法 6.get和post的区别 回退 请求响应速度 二、MYSQL 1.创建数据库 2.创建表 3.添加数据 4.删除数据 5.更新数据 6.查询数据 7.常…

Vue3+express实现element-plus组件upload上传图片携带data

需求背景&#xff1a;有多个轮播图需要单独上传&#xff0c;需要用data去区分上传的是哪一个轮播图 添加轮播图页面如下图所示&#xff1a; 实现效果&#xff1a; 实现思路及需要了解一下信息 ①每一个轮播图应在数据库中有相对应的字段&#xff0c;如下所示&#xff1a; 需…

【数据仓库】即席查询

文章目录 定义特点OLTP、OLAP、即席查询(ad hoc query)区别与联系相关框架Kylin来源 定义 即席查询&#xff08;Ad Hoc&#xff09;是用户根据自己的需求&#xff0c;灵活的选择查询条件&#xff0c;系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不…

CompletableFuture的简单使用

原文地址&#xff1a;CompletableFuture原理与实践-外卖商家端API的异步化 CompletableFuture的介绍&#xff1a; CompletableFuture是Java 8中引入的一种基于Future的异步编程机制。与传统的Future相比&#xff0c;CompletableFuture提供了更多的操作链支持&#xff0c;并且…

skywalking 9.x入门(二) skywalking全链路tid追踪

这里是weihubeats,觉得文章不错可以关注公众号小奏技术&#xff0c;文章首发。拒绝营销号&#xff0c;拒绝标题党 背景 继上次我们对skywalking整体架构作了一些了解&#xff0c;然后就是学习了spring boot项目如何基于agent接入skywalking 这次我们要实现的是spring boot项目…

USB | 查询usb设备占用带宽

USB | 查询usb设备占用带宽 请教一下windows下有什么工具能查询usb设备占用带宽吗&#xff1f;Linux上有usbtop&#xff0c;windows有类似工具吗 DeviceMonitoringStudio设备监控工具的使用

好用的自动化框架-Allure

概述 报告主要包含总览、类别、测试套件、图表、时间刻度、功能、包等7大部分&#xff0c;支持自定义诸多信息&#xff0c;包括附件添加、缺陷链接、案例链接、测试步骤、Epic、Feature、Story、Title、案例级别等&#xff0c;相当强大。 allure与pytest的结合使用可以呈现完…

华为OD机试真题B卷 Java 实现【求小球落地5次后所经历的路程和第5次反弹的高度】,附详细解题思路

一、题目描述 假设一个球从任意高度自由落下&#xff0c;每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时&#xff0c;共经历多少米?第5次反弹多高&#xff1f; 数据范围&#xff1a;输入的小球初始高度满足 1 \le n \le 1000 \1≤n≤1000 &#xff0c;且保证是一…

Mysql存储过程的递归调用及数据量过大group_concat()显示不全的问题

业务场景 使用mysql group_concat()函数&#xff0c;对查询的数据进行字符串连接操作。 由于查询的结果较多&#xff0c;连接后的结果很长导致不能完全显示。 第一种解决方案&#xff08;不需要重启Mysql, 如果mysql重启后设置会失效&#xff0c;需重新设置&#xff09; 执行…

代码随想录-哈希表

学习《代码随想录》 基础知识哈希函数哈希碰撞三种哈希结构 有效的字母异位词两个数组的交集两数之和暴力法Map 四数相加三数之和哈希解法双指针法 四数之和 基础知识 哈希表是一种根据关键码的值直接访问数据的数据结构。一般用来快速判断一个元素是否出现在集合中。 哈希函…

【AUTOSAR】Com通讯栈配置说明(二)---- CanIf模块

CanIf模块 CanIfCtrlDrvCfgs CanIfCtrlDrvBusOffNotification:busoff 发生后的callback函数 CanIfCtrlDrvWakeupNotification: wakeup 发生后的callback函数 CanIfCtrlId: 逻辑Canif id CanIfWakeupSupport:是否支持唤醒 CanIfMaxDlc:最大报文长度 CanIfCtrlCanCtrlRef: 关联…

我们是如何管理蓝精灵协会 PFP 集合的程序性生成的?

自从 Cryptopunks 和 Bored Apes 发布以来&#xff0c;大多数蓝筹 NFT 系列都在其创意基准中使用了相同的反复出现的概念&#xff1a;一幅插图肖像&#xff08;也称为 PFP&#xff0c;用于个人资料图片或证明图片&#xff09;通过使用随机分布的定制层而被改变成几千种略有不同…

【回顾经典AI神作】理解和实现ResNeXt(比ResNet最先进的图像分类模型)

与 ResNet 相比好在哪里? 相同的参数个数,结果更好:一个 101 层的 ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半 论文参考:https://arxiv.org/pdf/1611.05431.pdf 以下三篇是介绍和改进残差网络的论文: 用于图像识别的深度残差学习(链接…

ELECTRA模型简单介绍

目录 一、整体概要 二、生成器 三、判别器 四、模型训练 五、其它改进 一、整体概要 ELECTRA&#xff08;Efficiently Learning an Encoder that Classifies Token Replacements Accurately&#xff09;采用了一种“生成器——判别器”结构&#xff0c;其与生成式对抗网络…

报表服务器Stimulsoft Server v2023.2亮点:支持PostgreSQL、选项卡

Stimulsoft Server&#xff08;原Stimulsoft Reports.Server&#xff09;是一款完善的商业智能解决方案&#xff0c;采用C/S架构&#xff0c;提供报告和分析功能。前端用来展现数据&#xff0c;后台用来处理和存储数据。Stimulsoft Server&#xff08;原Stimulsoft Reports.Ser…

IDEA性能优化设置(解决卡顿问题)

在我们日常使用IDEA进行开发时&#xff0c;可能会遇到许多卡顿的瞬间&#xff0c;明明我们的机器配置也不低啊&#xff1f;为什么就会一直卡顿呢&#xff1f; 原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限&#xff08;通常很小&#xff09;&#xff0c;这就…

成都远石无人机航测服务的具体内容

成都远石拥有多年西南地区无人机航测作业经验&#xff0c;现具备DEM、DSM、DOM、三维实景模型及机载激光雷达全套数据成果的生产能力&#xff0c;致力于为各个行业提供准确的数据支持。现在&#xff0c;小编就来给大家介绍成都远石无人机航测服务的具体内容。 1、数字高程模型…