import torch
import torchvision
from PIL import Image
from torch import nnimage_path="./test_img/dog.png"
image=Image.open(image_path)print(image) #size=406x479 所以需要转换# png格式是四个通道,除了RGB三通道外,还有一个透明度通道。
# 所以,我们调用image=image.convert(RGB)保留其颜色通道。
# 当然,如果图片本来就是三个颜色通道,经过此操作,不变。
# 加上这一步后可以适应png、jpg各种格式的图片。
image=image.convert('RGB')transform=torchvision.transforms.Compose([torchvision.transforms.Resize((32,32)),torchvision.transforms.ToTensor()])image=transform(image)image=image.cuda()print(image.shape)
# 搭建神经网络
class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.model = nn.Sequential(# Conv2d中##in_channels:输入的通道数目 【必选】##out_channels: 输出的通道数目 【必选】##kernel_size:卷积核的大小,类型为int 或者元组,当卷积是方形的时候,只需要一个整数边长即可,卷积不是方形,要输入一个元组表示 高和宽。【必选】##stride: 卷积每次滑动的步长为多少,默认是 1 【可选】##padding(手动计算):设置在所有边界增加值为0的边距的大小(也就是在feature map 外围增加几圈 0 ),##                 例如当 padding =1 的时候,如果原来大小为 3 × 3 ,那么之后的大小为 5 × 5 。即在外围加了一圈 0 。【可选】##dilation:控制卷积核之间的间距【可选】nn.Conv2d(3, 32, 5, 1, 2),# MaxPool2d中:# #kernel_size(int or tuple) - max pooling的窗口大小,# # stride(int or tuple, optional) - max pooling的窗口移动的步长。默认值是kernel_size# # padding(int or tuple, optional) - 输入的每一条边补充0的层数# # dilation(int or tuple, optional) – 一个控制窗口中元素步幅的参数# # return_indices - 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助# # ceil_mode - 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作nn.MaxPool2d(2),nn.Conv2d(32, 32, 5, 1, 2),nn.MaxPool2d(2),nn.Conv2d(32, 64, 5, 1, 2),nn.MaxPool2d(2),nn.Flatten(),# nn.Linear()是用于设置网络中的全连接层的,在二维图像处理的任务中,全连接层的输入与输出一般都设置为二维张量,形状通常为[batch_size, size]# 相当于一个输入为[batch_size, in_features]的张量变换成了[batch_size, out_features]的输出张量。nn.Linear(64*4*4, 64),nn.Linear(64, 10))def forward(self, x):x = self.model(x)return x# 加载网络模型
model=torch.load("tudui_0.pth", map_location=torch.device("cuda"))
# model=torch.load("tudui_0.pth", map_location=torch.device("cpu"))# Expected 4-dimensional input for 4-dimensional weight [32, 3, 5, 5],
# but got 3-dimensional input of size [3, 32, 32] instead
image=torch.reshape(image,(1,3,32,32))model.eval()with torch.no_grad():#提升性能output=model(image)
print(output)print(output.argmax(1))

【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法相关推荐

  1. 【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①

    import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWrit ...

  2. 【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②

    import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWrit ...

  3. 【Pytorch神经网络实战案例】21 基于Cora数据集实现Multi_Sample Dropout图卷积网络模型的论文分类

    Multi-sample Dropout是Dropout的一个变种方法,该方法比普通Dropout的泛化能力更好,同时又可以缩短模型的训练时间.XMuli-sampleDropout还可以降低训练集和 ...

  4. 【Pytorch神经网络实战案例】24 基于迁移学习识别多种鸟类(CUB-200数据集)

    1 迁移学习 在实际开发中,常会使用迁移学习将预训练模型中的特征提取能力转移到自己的模型中. 1.1 迁移学习定义 迁移学习指将在一个任务上训练完成的模型进行简单的修改,再用另一个任务的数据继续训练, ...

  5. 【Pytorch神经网络实战案例】40 TextCNN模型分析IMDB数据集评论的积极与消极

    卷积神经网络不仅在图像视觉领域有很好的效果,而且在基于文本的NLP领域也有很好的效果.TextCN如模型是卷积神经网络用于文本处理方面的一个模型. 在TextCNN模型中,通过多分支卷积技术实现对文本 ...

  6. 【Pytorch神经网络实战案例】28 GitSet模型进行步态与身份识别(CASIA-B数据集)

    1 CASIA-B数据集 本例使用的是预处理后的CASIA-B数据集, 数据集下载网址如下. http://www.cbsr.ia.ac.cn/china/Gait%20Databases%20cH. ...

  7. 【Pytorch神经网络实战案例】29 【代码汇总】GitSet模型进行步态与身份识别(CASIA-B数据集)

    1 GaitSet_DataLoader.py import numpy as np # 引入基础库 import os import torch.utils.data as tordata from ...

  8. 【Pytorch神经网络实战案例】18 最大化深度互信信息模型DIM实现搜索最相关与最不相关的图片

    图片搜索器分为图片的特征提取和匹配两部分,其中图片的特征提取是关键.将使用一种基于无监督模型的提取特征的方法实现特征提取,即最大化深度互信息(DeepInfoMax,DIM)方法. 1 最大深度互信信 ...

  9. 【Pytorch神经网络实战案例】20 基于Cora数据集实现图卷积神经网络论文分类

    1 案例说明(图卷积神经网络) CORA数据集里面含有每一篇论文的关键词以及分类信息,同时还有论文间互相引用的信息.搭建AI模型,对数据集中的论文信息进行分析,根据已有论文的分类特征,从而预测出未知分 ...

最新文章

  1. Python使用matplotlib可视化两个时间序列的交叉相关性图、交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot)
  2. EasyPR中文开源车牌识别系统 开发详解
  3. 2022年全球及中国圆机织针行业产能规模与运营前景战略分析报告
  4. Python基础知识点总结
  5. 【转载】静态时序分析
  6. python 之 string() 模块
  7. Python 系统管理利器Fabric
  8. 有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大的提升?
  9. xp系统从u盘启动计算机,一键u盘装xp系统,教您如何使用U盘装xp系统
  10. 山东省大学生软件设计大赛一等奖作品参赛视频
  11. 关于Fabric中shim包的问题
  12. dede - 栏目中判断
  13. abs、fabs、fabsf函数的用法区别
  14. 〖Python 数据库开发实战 - MySQL篇⑩〗- MySQL 中不同的数据类型
  15. ios客户端学习-被苹果开发者中心拒绝附件上传不上
  16. SRM587 (div2)
  17. Node.js 单页应用
  18. 八种炫酷纯CSS加载动画代码
  19. 三节课-产品视角养成
  20. 传智播客支持中国制造2025人才培养工程

热门文章

  1. thinkphp5运行原理_ThinkPHP5.1~5.2全版本远程代码执行高危漏洞预警
  2. 计算机风险评估管理程序,第5章 信息安全风险评估实施流程
  3. git第一次提交代码至远程仓库步骤
  4. AIML元素详细说明
  5. 关于用VS写C程序运行时出现烫字以及乱码的问题的原因
  6. ajax当页post请求,tag落地页--通过ajax-post请求数据
  7. java实现控件绑定数据源_控件(三)——TreeView控件以XmlDataSource控件为数据源实现简单的绑定...
  8. MS CRM 2011 RC中的新特性(9)—全新的工作流 脚本设计模式
  9. 【作品】超级玛丽射击版
  10. 《领域驱动设计》第二部分:模型驱动设计的构造块 第四章:分离领域 阅读笔记...