首页 > 其他分享 >28、完整的模型验证步骤

28、完整的模型验证步骤

时间:2023-02-27 21:22:45浏览次数:26  
标签:img nn 验证 步骤 torch 28 32 print model

利用已经训练好的模型,给它提供输入

 1 '''完整模型的验证'''
 2 import torch
 3 import torchvision
 4 from PIL import Image
 5 from torch import nn
 6 
 7 '''1、就是真实的应用场景:待预测的一张陌生图'''
 8 #先获取图像的路径,----用Image.open()打开图像,此时读取成PIL类型----保留通道颜色----转换成tensor数据类型
 9 img_path='../../dataset/Images/dog.png'
10 img=Image.open(img_path)
11 print(img)
12 
13 #####! png格式的图像是4通道的,RGB+alpha(透明度),所以要调用img=img.convert('RGB')保留其颜色通道,如果本身就是3通道,加了这句不变化
14 img=img.convert('RGB')
15 '''2、转换成tensor数据类型'''
16 transform=torchvision.transforms.Compose([torchvision.transforms.Resize((32,32)),       #compose是将几个变化合在一起,先改变尺寸大小,然后改变数据类型
17                                           torchvision.transforms.ToTensor()])         #注意数据类型前后输出保持一致
18 img=transform(img)
19 print(img.shape)
20 
21 '''3、网络模型'''
22 class class_net(nn.Module):
23     def __init__(self):
24         super().__init__()
25         self.modle=nn.Sequential(
26             nn.Conv2d(in_channels=3, out_channels=32, kernel_size=5,stride=1, padding=2),
27             nn.MaxPool2d(kernel_size=2),
28             nn.Conv2d(32,32,5,1,2),
29             nn.MaxPool2d(kernel_size=2),
30             nn.Conv2d(32,64,5,1,2),
31             nn.MaxPool2d(kernel_size=2),
32             nn.Flatten(),
33             nn.Linear(in_features=64*4*4,out_features=64),
34             nn.Linear(64,10)
35         )
36 
37     def forward(self,x):
38         x=self.modle(x)
39         return x
40 
41 '''4、加载训练好的模型'''
42 model=torch.load('tuidui_0.pth')
43 #model=torch.load('tuidui_29_gpu.pth',map_location=torch.device('cpu'))
44 # 不同环境下训练的模型在应用到不同的环境中不同,在GPU下的模型导入时要映射到CPU设备上来
45 print(model)
46 img=torch.reshape(img,(1,3,32,32))
47 #测试模式,测试的时候是不需要梯度的
48 
49 '''5、进行测试'''
50 model.eval()
51 with torch.no_grad():
52     output=model(img)
53 print(output)
54 
55 print(output.argmax(1))

 

标签:img,nn,验证,步骤,torch,28,32,print,model
From: https://www.cnblogs.com/ar-boke/p/17161961.html

相关文章

  • AtCoder Beginner Contest 280 A-F 题解
    比赛链接A-PawnonaGrid模拟。#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;constintN=15;intn,m,ans;chars[N];i......
  • 5_1表单验证案例
     验证要求:用户名不能为空用户名长度大于等于6用户名中不能有数字密码不少于5位两次密码必须一致邮箱格式正确必须有@和. 例如[email protected]实现效果:   <!DOCTY......
  • 5_1表单验证案例
    ​ 验证要求:用户名不能为空用户名长度大于等于6用户名中不能有数字密码不少于5位两次密码必须一致邮箱格式正确必须有@和. 例如[email protected]实现效果: ......
  • 5_1表单验证案例
    ​ 验证要求:用户名不能为空用户名长度大于等于6用户名中不能有数字密码不少于5位两次密码必须一致邮箱格式正确必须有@和. 例如[email protected]实现效果: ......
  • servlet响应一个随机四位验证码图片给客户端
    众所周知,在html中对于图片资源的加载,是通过访问其src的值进行一次请求。我们可以在Java中使用BufferedImage类创建一张图片,通过Graphics2D类进行图片的绘制,从而动态制作验......
  • iis7上部署netcore项目的步骤
    1、安装AspNetCoreModule托管模块(选择.NetCore3.1版本)AspNetCoreModule下载地址:https://dotnet.microsoft.com/download/dotnet-core1安装下面两个文件dotnet-sdk-3......
  • 一文搞懂weblogic CVE-2018-2628原理与利用
    参考:http://xxlegend.com/2018/06/20/CVE-2018-2628简单复现和分析/在CVE-2017-3248的利用中,我们用ysoserial生成了一个java.rmi.registry.Registry类型的proxy首先回......
  • NRF52832蓝牙芯片详细介绍及应用方案
    NRF52XX系列蓝牙Soc芯片选型表NRF52810-QFAA处理器:ARMCortexM4RAM:24kBFLASH:192kB支持协议:BLE、ANT、私有2.4G封装:QFN48尺寸(mm):6x6NRF52810-QCAA处理器:ARMCortexM4R......
  • acwing 281 硬币
    给定n种硬币,其中第i种硬币的面值为Ai,共有piCi个。从中选出若干个硬币,把面值相加,若结果为sS,则称“面值sS能被拼成”。求1∼M1~M之间能被拼成的面值有多少个。#i......
  • vue 运行步骤(使用cnpm)
    运行教程首先,列出来我们需要的东西:node.js环境(npm包管理器)vue-cli脚手架构建工具cnpmnpm的淘宝镜像从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以......