深度学习——自己的训练集——测试模型(CNN)

news2024/12/23 5:12:41

测试模型

    • 1.导入新图片名称
    • 2.加载新的图片
    • 3.加载图片
    • 4.使用模型进行预测
    • 5.获取最可能的类别
    • 6.显示图片和预测的标签名称
    • 7.图像加载失败输出

导入新的图像,显示图像和预测的类别标签。

1.导入新图片名称

new_image_path = '456.jpg'

2.加载新的图片

new_image = cv2.imread(new_image_path)

3.加载图片

# 检查图片是否成功加载
if new_image is not None:
    # 将图片转换为RGB格式
    new_image = cv2.cvtColor(new_image, cv2.COLOR_BGR2RGB)
    # 调整图片大小到模型期望的大小
    new_image = cv2.resize(new_image, (150, 150))
    # 将图片数组扩展一个维度,因为模型期望输入形状为 (None, 150, 150, 3)
    new_image = np.expand_dims(new_image, axis=0)

4.使用模型进行预测

	predictions = model.predict(new_image)

model:这是之前创建和编译的Keras模型。
predict:这是Keras模型中的一个方法,用于对新的输入数据进行预测。
new_image:这是要进行预测的图像数据,它是一个NumPy数组。

5.获取最可能的类别

	predicted_class_index = np.argmax(predictions[0])

predictions[0]:这是模型对new_image的预测结果,它是一个NumPy数组。由于模型通常会为每个输入生成一个预测结果,因此predictions是一个包含多个预测结果的列表,而predictions[0]表示对第一个输入的预测。
np.argmax(predictions[0]):这个函数调用用于找到predictions[0]中的最大值对应的索引。在多类分类任务中,这个索引表示模型认为最可能的类别。
predicted_class_index:这个变量存储了模型预测的最可能类别的索引。

	predicted_class = classes[predicted_class_index]

classes:这是一个包含所有可能类别的列表。
classes[predicted_class_index]:这个索引操作符用于根据predicted_class_index变量中存储的索引,从classes列表中获取对应的类别名称。
predicted_class:这个变量存储了模型预测的最可能类别的名称。

6.显示图片和预测的标签名称

	plt.imshow(new_image[0])
    plt.title(f"Predicted class: {predicted_class}")
    plt.axis('off')
	plt.show()

7.图像加载失败输出

else:
    "Image not loaded successfully."

运行结果:
在这里插入图片描述
我们还可以多导入几张图片进行测试,只需要把导入新图片名称改了就可以。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

SQL——SELECT相关的题目(力扣难度等级:简单)

目录 197、上升的温度 577、员工奖金 586、订单最多的客户 596、超过5名学生的课 610、判断三角形 620、有趣的电影 181、超过经理收入的员工 1179、重新格式化部门表(行转列) 1280、学生参加各科测试的次数 1965、丢失信息的雇员 1068、产品销售分…

【Rust日报】Rust 中的形式验证

文章 - 未来的愿景:Rust 中的形式验证 这篇文章回顾了形式化验证的基本概念,作者展示了如何使用 Hoare triples 来描述和推理程序的正确性,以及如何使用分离逻辑来解决验证的复杂性。文章还解释了为什么 Rust 适用于形式化验证,以…

实现网:评价较好的程序员招聘与接单平台

其实我一直很羡慕敲敲代码就能实现自己的人生梦想的程序员们,想当年,作为初级程序员的我阴差阳错没能走上专业码农的道路,至今仍引以为憾。当然做个程序员并不是件容易的事,今天给大家分享个可通过编程赚钱的靠谱平台——实现网&a…

python max_min标准化

python max_min标准化 max_min标准化sklearn实现max_min标准化手动实现max_min标准化 max_min标准化 Max-Min标准化(也称为归一化或Min-Max Scaling)是一种将数据缩放到特定范围(通常是0到1)的标准化方法。这种方法通过线性变换将…

没想到,一个小妙招让桌面运维效率翻倍

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 我的网工朋友大家好。 咱们都知道,电脑用久了,总会出些小毛病,比如桌面图标不显示了,C盘又满了&a…

LangChain技术解密:构建大模型应用的全景指南

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

5 个不错的开源 AI 网络爬虫工具

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。 如果我的分享对你有帮助,请关注我,一起向上进击。 简单地说,网络爬虫就是从网站上抓取数据和内容&#xff…

【Qt】Qt框架文件处理精要:API解析与应用实例:QFile

文章目录 前言:1. Qt 文件概述2. 输入输出设备类3. 文件读写类3.1. 打开open3.2. 读read / readline/ readAll3.3. 写write3.4. 关闭close 4. 读写文件示例5. 文件件和目录信息类总结: 前言: 在现代软件开发中,文件操作是应用程序…

云计算-无服务器计算与AWS Lambda (Serverless Computing with AWS Lambda)

AWS Lambda 无服务器计算与AWS Lambda AWS Lambda支持无服务器计算,不需要任何预配置和管理,同时还能最大限度地降低成本。我们将看到如何创建一个简单的Lambda函数,以及如何将其与AWS事件映射。在现实生活中,任何托管在线的应用…

Eureka全面解析:轻松实现高效服务发现与治理!

一、引言 Eureka是Netflix开源的一款服务发现框架,它提供了一种高效的服务注册和发现机制,适用于大规模分布式系统。本文将详细介绍Eureka的相关知识。 二、Eureka简介 Eureka是一个基于REST的服务发现框架,它提供了一种简单的服务注册和发…

签到打卡页面如何设计?

设计一个UI签到打卡页面时,以下是一些建议和注意事项: 页面布局:将签到打卡按钮放置在页面的显眼位置,以便用户快速找到。可以考虑将其他相关信息,如签到日期、时间、地点等也显示在页面上,以增加用户的参…

Modbus工业网关

随着工业自动化程度的不断提高,设备之间的数据通信与交互变得至关重要。在这一背景下,Modbus协议凭借其简单、可靠、开放的特点,成为了工业自动化领域中最常用的通信协议之一。而HiWoo Box网关作为一款支持Modbus协议的工业网关设备&#xff…

C++ std::reference_wrapper:让引用更强大

std::reference_wrapper 的通俗易懂解释 一、简介二、std::reference_wrapper 的初衷三、常用示例3.1、与 make_pair 和 make_tuple 一起使用3.2、引用容器3.3、通过 std::thread 按引用传递参数给启动函数3.4、引用作为类成员3.5、按引用传递函数对象3.6、与绑定表达式一起使用…

Megatron-LM源码系列(八): Context Parallel并行

1. Context Parallel并行原理介绍 megatron中的context并行(简称CP)与sequence并行(简称SP)不同点在于,SP只针对Layernorm和Dropout输出的activation在sequence维度上进行切分,CP则是对所有的input输入和所有的输出activation在sequence维度上进行切分&…

「小明赠书活动」第四期《Java开发坑点解析:从根因分析到最佳实践》

⭐️ 赠书 - 《Java开发坑点解析:从根因分析到最佳实践》 这是一本帮助Java开发人员规避常见错误的书。从业务代码开发、项目技术设计、代码安全3个层面剖析150多个常见坑点。 业务代码开发层面,近20个方面的坑,涉及多线程、数据访问、池技术…

【VTKExamples::Utilities】第四期 CameraModifiedEvent

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例CameraModifiedEvent,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. CameraModifi…

521源码-免费音乐源码-最新流媒体在线音乐系统网站源码| 英文版源码| 音乐社区 | 多语言 | 开心版

免费音乐源码 一键自动安装:安装用翻译看提示操作即可 本源码下载地址:最新流媒体在线音乐系统网站源码| 英文版源码| 音乐社区 | 多语言 | 开心版 - 521源码 更多网站源码学习教程,请点击👉-521源码-👈获取最新资源…

APM2.8如何供电

APM2.8飞控供电有两种, 1.电流计供电, 2.带BEC(稳压功能)的电调供电 飞控有一个JP1,它是一个供电选择接口,当插入跳线帽时,飞控用带BEC电调供电,当不插入时,用电流计供…

基于springboot的论坛管理系统(含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的论坛管理系统3拥有两种角色 管理员:用户管理、公告管理、帖子管理、分类管理、留言管理、系统管理等 用户:登录注册、查看发布帖子等 1.1 背景…

深度学习论文: YOLOv10: Real-Time End-to-End Object Detection

深度学习论文: YOLOv10: Real-Time End-to-End Object Detection YOLOv10: Real-Time End-to-End Object Detection PDF: https://arxiv.org/pdf/2405.14458 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/PyTo…