当前位置: 首页 > 编程日记 > 正文

caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片

经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。

我们从mnist数据集的test集中随便找一张图片,用来进行实验。

#coding=utf-8import caffe
import numpy as np
root='/home/xxx/'   #根目录
deploy=root + 'mnist/deploy.prototxt'    #deploy文件
caffe_model=root + 'mnist/lenet_iter_9380.caffemodel'   #训练好的 caffemodel
img=root+'mnist/test/5/00008.png'    #随机找的一张待测图片
labels_filename = root + 'mnist/test/labels.txt'  #类别名称文件,将数字标签转换回类别名称

net = caffe.Net(deploy,caffe_model,caffe.TEST)   #加载model和network#图片预处理设置
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})  #设定图片的shape格式(1,3,28,28)
transformer.set_transpose('data', (2,0,1))    #改变维度的顺序,由原始图片(28,28,3)变为(3,28,28)
#transformer.set_mean('data', np.load(mean_file).mean(1).mean(1))    #减去均值,前面训练模型时没有减均值,这儿就不用
transformer.set_raw_scale('data', 255)    # 缩放到【0,255】之间
transformer.set_channel_swap('data', (2,1,0))   #交换通道,将图片由RGB变为BGR

im=caffe.io.load_image(img)                   #加载图片
net.blobs['data'].data[...] = transformer.preprocess('data',im)      #执行上面设置的图片预处理操作,并将图片载入到blob中#执行测试
out = net.forward()labels = np.loadtxt(labels_filename, str, delimiter='\t')   #读取类别名称文件
prob= net.blobs['Softmax1'].data[0].flatten() #取出最后一层(Softmax)属于某个类别的概率值,并打印
print prob
order=prob.argsort()[-1]  #将概率值排序,取出最大值所在的序号 
print 'the class is:',labels[order]   #将该序号转换成对应的类别名称,并打印

最后输出 the class is : 5

分类正确。

如果是预测多张图片,可把上面这个文件写成一个函数,然后进行循环预测就可以了。

相关文章:

Android应用程序消息处理机制(Looper、Handler)分析(2)

我们再回到NativeMessageQueue的构造函数中,看看JNI层的Looper对象的创建过程,即看看它的构造函数是如何实现的,这个Looper类实现在frameworks/base/libs/utils/Looper.cpp文件中: Looper::Looper(bool allowNonCallbacks) : …

以下一些使用ASP.NET和VISUAL STUDIO.NET2003的经验和技巧

作者:未知 请作者速与本人联系1,不要在VS里直接复制ASPX文件,因为复制的时候,两个文件会使用同一个类文件,要复制的话,应该建空文件,然后复制页面和代码2,发在项目完工的时候,要想得到一个干净的,仅有必需文件的项目,可以用复制…

微软推出智能语音评测服务,注重解决四大技术障碍

今年5月,在微软开发者大会上,他们宣布推出智能语音评测服务。基于Azure云的认知服务平台,该服务涵盖语音识别、语音合成等技术,主要应用于各种教师评估、作业练习和语言学习等教学场景。 通过市场调研和反馈,他们将语…

这些编程语言程序员工资最高!Java才第四

在众多行业中,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位。 高薪的诱惑和充满挑战性的工作,令程序员一直成为备受欢迎的职业。在今年年初,Glassdoor发布的一份调查报告指出&#xff…

仔细选择会话状态提供程序

ASP.NET 为存储应用程序的会话数据提供了三种不同的方法:进程内会话状态、作为 Windows 服务的进程外会话状态和 SQL Server 数据库中的进程外会话状态。每种方法都有自己的优点,但进程内会话状态是迄今为止速度最快的解决方案。如果只在会话状态中存储少…

10.VMware View 4.6安装与部署-view clint和view for ipad连接测试

安装基于 Windows 的 View Client,最终用户需要从物理机打开 View Client 来连接其虚拟桌面。您可以运行基于 Windows 的安装程序文件来安装 View Client 的所有组件。如果 View 管理员启用了某些显示选项,那么除了通过 View Client 访问虚拟桌面外,最终…

免费直播:主流深度框架对比:总有一款适合你~

常常有小伙伴在后台反馈:想了解深度学习该怎么学?自学难度大又没有效果,该怎么办?CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播【一节课掌握深度学习必备框架】。本次直播将带大家了解在开始深度学…

QCon2016旧金山大会焦点分享者确认

QCon旧金山大会是由InfoQ举办的连续十年的最大的英语会议,它将在今年11月7-9日在旧金山湾区举行。\\在QCon大会涵盖了一系列深入的技术,架构师、资深开发者所关注的国际事件,聚焦创新领域和软件发展趋势,QCon大会每年在美国、中国…

Git 看这一篇就够了

作者 |码农田小齐责编 | Carol封图 | CSDN 下载自视觉中国今天简单讲下 Git 的实现原理,知其所以然才能知其然;并且梳理了日常最常用的 12 个命令,分为三大类分享给你。本文的结构如下:作者和开发原由Git 的数据模型常用命令资源推…

当不使用会话状态时禁用它

并不是所有的应用程序或页都需要针对于具体用户的会话状态&#xff0c;您应该对任何不需要会话状态的应用程序或页禁用会话状态。 若要禁用页的会话状态&#xff0c;请将 Page 指令中的 EnableSessionState 属性设置为 false。例如&#xff0c;<% Page EnableSessionState&…

jepg图像的存储 转

先把代码贴上&#xff1a; extern "C" { #include "jpeglib.h" #pragma comment(lib,"libjpeg.lib") //把无压缩的图像数据&#xff08;纹理&#xff09;存储成jepg bool appSaveJpegRGB(char *filepath,unsigned char * data,int width,int hei…

使用Spring进行统一日志管理 + 统一异常管理

统一日志和异常管理配置好后&#xff0c;SSH项目中&#xff0c;代码以往散落的log.info() 和 try..catch..finally 再也不见踪影&#xff01; 统一日志异常实现类&#xff1a; [java] view plaincopy package com.pilelot.web.util; import org.apache.log4j.Logger; impor…

避免到服务器的不必要的往返过程

虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能&#xff0c;但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。 通常&#xff0c;只有在检索或存储数据时&#xff0c;您才需要启动到服务器的往返过程。多数数据操作可在这些往返过程间的…

OPPO和微软合作,开放“召唤小冰”

6月24日&#xff0c;OPPO与微软共同宣布&#xff0c;OPPO手机智能助理Breeno语音开放“召唤小冰”能力一年之际&#xff0c;双方合作再次深化。微软小冰与OPPO Breeno团队加速合作&#xff0c;不断打造和更新更符合OPPO生态的AI技能&#xff0c;提升微软小冰在Breeno语音中的产…

如果你即将死去

如果你即将死去&#xff0c;你是否能够安息&#xff1b; 如果你即将死去&#xff0c;你是否还有事情不能放弃&#xff1b; 如果你即将死去&#xff0c;你的事业是否有人继续&#xff1b; 如果你即将死去&#xff0c;你的生平是否还有人惦记&#xff1b; 死亡是所有生命的终点&a…

设计模式(行为型模式)——备忘录模式(Memento)

2019独角兽企业重金招聘Python工程师标准>>> 本章讲讲第三类和第四类。 备忘录模式&#xff08;Memento&#xff09; 主要目的是保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象&#xff0c;个人觉得叫备份模式更形象些&#xff0c;通俗的讲下&#xf…

当你累了,准备放弃时,看看这个吧!!!

当你累了&#xff0c;准备放弃时&#xff0c;看看这个吧&#xff01;&#xff01;&#xff01; 在朋友空间看到这篇文章&#xff0c;送给所有还在坚持的朋友~~每个人都背负着一个沉重的十字架&#xff0c;在缓慢而艰难地朝着目的地前进。途中&#xff0c;有一个人忽然停了下来。…

只在必要时保存服务器控件视图状态

自动视图状态管理是服务器控件的功能&#xff0c;该功能使服务器控件可以在往返过程上重新填充它们的属性值&#xff08;您不需要编写任何代码&#xff09;。但是&#xff0c;因为服务器控件的视图状态在隐藏的窗体字段中往返于服务器&#xff0c;所以该功能确实会对性能产生影…

超越英伟达的,不会是另一款GPU!中国公司发布首款数据流AI芯片

2020年6月23日&#xff0c;鲲云科技在深圳举行产品发布会&#xff0c;发布全球首款数据流AI芯片CAISA&#xff0c;定位于高性能AI推理&#xff0c;已完成量产。鲲云通过自主研发的数据流技术在芯片实测算力上实现了技术突破&#xff0c;较同类产品在芯片利用率上提升了最高11.6…

vim打开多窗口、多文件之间的切换

打开多个文件&#xff1a;一、vim还没有启动的时候&#xff1a;1.在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件2.vim已经启动输入:e file可以再打开一个文件&#xff0c;并且此时vim里会显示出file文件的内容。3.同时显示多个文件&#xff1a;:sp …

图灵奖得主Judea Pearl:从“大数据革命”到“因果革命”

整理 | 智源社区&#xff0c;龚鹤扬&高亦斌2020年6月21日&#xff0c;在第二届北京智源大会开幕式及全体会议上&#xff0c;图灵奖得主、贝叶斯网络奠基人Judea Pearl 做了名为《The New Science of Cause and Effect with reflections on data science and artificial int…

美国两政府网站被挂马 以性丑闻女星为诱饵

据安全厂商趋势科技称&#xff0c;美国两个政府网站近日发现被挂木马&#xff0c;这两家被挂马的网站都是以性丑闻女性为诱饵欺骗用户访问其它恶意网页。  圣伯纳迪诺县的宣传页面被发现感染了恶意木马&#xff0c;用户访问该网站时被重定向到域名Videosdivx.net下的一个网站…

除非有特殊的原因要关闭缓冲,否则使其保持打开

禁用 Web 窗体页的缓冲会导致大量的性能开销。

[React Native Android安利系列]搭建React Native Android环境

欢迎大家收看react-native-android系列教程&#xff0c;跟着本系列教程学习&#xff0c;可以熟练掌握react-native-android的开发&#xff0c;你值得拥有https://segmentfault.com/blog... (PS&#xff0c;和聊一聊系列写在一起也实在是没辙&#xff0c; 谁知道如何新建专栏&am…

继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误

点击打开链接 #ifndef QQUSERITEM_H就发生下列错误 #define QQUSERITEM_H #include <QTreeWidgetItem> class QQUserItem :public QTreeWidgetItem { Q_OBJECT public: explicit QQUserItem(QQUserItem *parent 0); signals: public slots: }; #endif // QQUSERITEM_H d…

使用 HttpResponse.Write 方法进行字符串串联

该方法提供非常有效的缓冲和连接服务。但是&#xff0c;如果您正在执行广泛的连接&#xff0c;请使用多个 Response.Write 调用。下面示例中显示的技术比用对 Response.Write 方法的单个调用连接字符串更快。 [C#] Response.Write("a"); Response.Write(myString); …

倒计时 8 天 | 完整议程大揭秘!来 20 个 AI 论坛,与百名大咖携手玩转人工智能...

2020年7月3—4日&#xff0c;由 CSDN 主办的第三届 AI 开发者大会&#xff08;AI ProCon 2020&#xff09;&#xff08;大会官网&#xff1a;https://aiprocon.csdn.net/&#xff09;将以线上直播的形式与大家相见。本次大会历时2天&#xff0c;一次性设立6大主题、20大精彩分论…

关于分页的解决方案收集

分页的html样式&#xff0c;可分为两种&#xff0c;pc和移动端 pc端的解决方案&#xff08;既有json版本又有get参数版本&#xff09;&#xff1a; http://laypage.layui.com/ 移动端的上拉刷新&#xff0c;下拉加载解决方案&#xff1a;(个人建议还是老实用会iscroll.js吧) ht…

MVC3+EF4.1学习系列(一)-------创建EF4.1 code first的第一个实例(强转)

文章索引和简介 基于EF4.1 code first 简单的CRUD 园子中已经有很多了 ~~ 真不想再写这个了 可是为了做一个完整的小demo 从开始 到后面的一些简单重构 还是决定认真把这个写出来 争取写些别人没写到的东西~~ 好了 开始~~ 这次要做的是个学校管理的demo&#xff08;通俗些&…

超越英伟达的,不会是另一款GPU?这家深圳公司发布全球首款数据流AI芯片

2020年6月23日&#xff0c;鲲云科技在深圳举行产品发布会&#xff0c;发布全球首款数据流AI芯片CAISA&#xff0c;定位于高性能AI推理&#xff0c;已完成量产。鲲云通过自主研发的数据流技术在芯片实测算力上实现了技术突破&#xff0c;较同类产品在芯片利用率上提升了最高11.6…