首页 > 其他分享 >matplotlib展示预测图片结果,按Enter展示下一批

matplotlib展示预测图片结果,按Enter展示下一批

时间:2024-11-01 16:09:05浏览次数:4  
标签:plt torch 展示 labels matplotlib Enter images import

虽然  images,labels = next(iter(test_data))  可以每次1batch获取,但是超级慢,不推荐。

import torch
import platform
if platform.system() == 'Windows':
    import matplotlib
    matplotlib.use('TkAgg')
    import matplotlib.pyplot as plt
elif platform.system() == 'Linux':
    import matplotlib.pyplot as plt
   
#.pt的加载方式
model = torch.load(r'best_001_1.000000_model.pt')

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)    #模型转入GPU
model.eval()        #测试模式

# 查看前10batch的预测效果图
plt.figure(figsize=(12, 4))  # 创建窗口并指定大小(英寸)
for index,(images,labels) in enumerate(test_data):
    images,labels = images.cuda(),labels.cuda()  #样本转入GPU
    outputs = model(images) #预测1个batch
    _, predicted_labels = torch.max(outputs.data, 1)

    #显示1个batch的图像,title:预测标签-真实标签,预测错误title为红色
    for i in range(batch):
        images_cpu = images.cpu() #GPU转到CPU来进行显示
        img = images_cpu[i].squeeze(0).permute(1, 2, 0) #NCHW变为CHW再变为HWC
        img = (img+1)/2 #[-1,1]变为[0,1]。[0,1]或[0,255]都可以显示
        plt.subplot(1,4,i+1) #1行4列来排布
        plt.title('{}-{}'.format(classes[predicted_labels[i].item()], classes[labels[i].item()]), color='red' if classes[predicted_labels[i].item()]!=classes[labels[i].item()] else 'black')#1个batch里的图对应的标签为标题
        plt.imshow(img) #显示图像
        plt.axis('off') #不显示坐标轴
    # plt.show() #显示窗体并阻塞
    plt.ion() #显示窗口,不阻塞
    plt.pause(0.1) #阻塞0.1s,其实是让窗口一直驻留显示
    input('Press Enter to Continue {}'.format(index+1))
    if index==9:
        plt.close()
        break

 

标签:plt,torch,展示,labels,matplotlib,Enter,images,import
From: https://www.cnblogs.com/xixixing/p/18520490

相关文章

  • 【VMware by Broadcom】新闻:Broadcom 宣布恢复 VMware vSphere Enterprise Plus 许可
    VMware被Broadcom收购后,发生了非常多的变化,其中变化之一就是,将以前众多的产品组件打包成了“四”个套件进行销售,并且将永久授权改成了订阅模式,你可以通过以下链接了解具体详情:VMwareCloudFoundation(VCF)VMwarevSphereFoundation(VVF)VMwarevSphereStandard(VVS)VMwarevS......
  • 淘宝商品销量详情API接口代码展示
    taobao.item_get_sales-获取商品销量详情API接口返回值说明1.请求参数请求参数:num_iid=123456参数说明:num_iid:淘宝商品IDmonthly:1(获取月销量)2.请求示例   --请求示例url默认请求参数已经URL编码处理curl-i"https://api-vx.Taobaoapi2014.cn/taobao/ite......
  • Cesium + geoserver (wmts) 实现离线地图服务和展示
    急用前端代码的靓仔直接抄这个h5文件后端geoserverwmts服务搭建参考链接  快速搭建一个geoserver和wmts服务-CSDN博客'<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=devic......
  • Vue 展示word\excel\pdf 内容
    Vue展示word\excel\pdf内容1、前言项目使用的是若依框架,有一个审核的功能,审核弹窗中需要显示出上传的文件内容,而没有原生的组件可以实现该功能。2、遇到的问题使用iframe组件、不报错,但最后实现的效果是下载而不是展示出来项目是vue2的版本使用@vue-office,直......
  • ECHARTS-水球图按照结果展示不同颜色
    结果演示:<el-colstyle="height:100%"><divstyle="height:100%;padding-top:50px;padding-right:25px;&......
  • Matplotlib配置和样式表操作——Python实现
    今天在使用Python进行Matplotlib配置和样式表操作时候,发生如下报错:NameError:name'IPython_default'isnotdefined源代码如下:importnumpyasnpfrommatplotlibimportpyplotaspltplt.style.available[:5]defhist_and_lines():np.random.seed(0)fig,......
  • 1. Python 与 Matplotlib
    PyPlot绘图matplotlib的安装!pipinstallmatplotlibimportmatplotlibprint(matplotlib.__version__)#查看版本importmatplotlib.pyplotasplt#在图中从00到6250画一条直线默认绘制直线importnumpyasnpxpoints=np.array([0,6])#注意是两个x坐标......
  • Springboot世界美食风情展示系统211wo(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,美食类别,世界美食,美食攻略,美食订单开题报告内容一、项目背景与意义随着经济的快速发展和网络技术的进步,互联网已经深刻改变了人们的生活方式。电子商务......
  • Python包——Matplotlib
            Matplotlib是Python中一个广泛使用的绘图库,它能够生成高质量的图表和图形。它提供了一个类似于MATLAB的绘图框架,使得数据可视化变得简单和直观。下面是一些关于如何使用Matplotlib的基础知识和示例。1.常用API1.1绘图类型函数名称描述Bar绘制条形......
  • Vue3用户关注与粉丝列表展示
    文章目录说明功能描述:代码说明该组件主要是通过一个小抽屉进行用户粉丝与关注列表的展示前提:这里用了elementPlus的组件库所以需要配置好elementPlus的组件库环境这里采用的是根据传入的用户名进行查询。也可以修改为根据传入的用户id进行查询功能描述:抽屉窗:使......