编写检测深度模型测试程序python
参考:https://blog.csdn.net/haoji007/article/details/81035565?utm_source=blogxgwz9
首先从网上下载imagenet训练好的模型,模型下载地址
http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel
可以把模型放入/caffe-master/models/bvlc_googlenet/目录下
bvlc_googlenet目录就是官方提供的googlenet模型,可以训练或者直接使用googlenet模型。
可以在这个文件夹中新建一个image文件夹,存放要检测的照片。
然后就是编写一个test.py测试程序,程序如下:
#coding=utf-8
import numpy as np
import matplotlib.pyplot as plt
import os
import PIL
from PIL import Image
caffe_root = '/home/grid/caffe-master/'
import sys
sys.path.insert(0,caffe_root+'python')
import caffe
MODEL_FILE =caffe_root+'models/bvlc_googlenet/deploy.prototxt'
PRETRAINED =caffe_root+'models/bvlc_googlenet/bvlc_googlenet.caffemodel'
#cpu模式
caffe.set_mode_cpu()
#定义使用的神经网络模型
net = caffe.Classifier(MODEL_FILE,PRETRAINED,
mean=np.load(caffe_root +'python/caffe/imagenet/ilsvrc_2012_mean.npy').mean(1).mean(1),
channel_swap=(2,1,0),
raw_scale=255,
image_dims=(224, 224))
imagenet_labels_filename = caffe_root +'data/ilsvrc12/synset_words.txt'
labels =np.loadtxt(imagenet_labels_filename, str, delimiter='\t')
#对目标路径中的图像,遍历并分类
for root,dirs,files inos.walk("/home/grid/caffe-master/models/bvlc_googlenet/image/"):
for file in files:
#加载要分类的图片
IMAGE_FILE = os.path.join(root,file).decode('gbk').encode('utf-8');
input_image = caffe.io.load_image(IMAGE_FILE)
#预测图片类别
prediction = net.predict([input_image])
print 'predicted class:',prediction[0].argmax()
# 输出概率最大的前5个预测结果
top_k = net.blobs['prob'].data[0].flatten().argsort()[-1:-6:-1]
print labels[top_k]
然后执行程序python test.py
输入预测结果:
编写检测深度模型测试程序python的更多相关文章
- Kelp.Net是一个用c#编写的深度学习库
Kelp.Net是一个用c#编写的深度学习库 基于C#的机器学习--c# .NET中直观的深度学习 在本章中,将会学到: l 如何使用Kelp.Net来执行自己的测试 l 如何编写测试 l ...
- dlib人脸关键点检测的模型分析与压缩
本文系原创,转载请注明出处~ 小喵的博客:https://www.miaoerduo.com 博客原文(排版更精美):https://www.miaoerduo.com/c/dlib人脸关键点检测的模 ...
- 编写高质量代码–改善python程序的建议(二)
原文发表在我的博客主页,转载请注明出处! 建议七:利用assert语句来发现问题断言(assert)在很多语言中都存在,它主要为调试程序服务,能够快速方便地检查程序的异常或者发现不恰当的输入等,可防止 ...
- NNs(Neural Networks,神经网络)和Polynomial Regression(多项式回归)等价性之思考,以及深度模型可解释性原理研究与案例
1. Main Point 0x1:行文框架 第二章:我们会分别介绍NNs神经网络和PR多项式回归各自的定义和应用场景. 第三章:讨论NNs和PR在数学公式上的等价性,NNs和PR是两个等价的理论方法 ...
- 编写高质量代码--改善python程序的建议(六)
原文发表在我的博客主页,转载请注明出处! 建议二十八:区别对待可变对象和不可变对象 python中一切皆对象,每一个对象都有一个唯一的标识符(id()).类型(type())以及值,对象根据其值能否修 ...
- 编写高质量代码--改善python程序的建议(八)
原文发表在我的博客主页,转载请注明出处! 建议四十一:一般情况下使用ElementTree解析XML python中解析XML文件最广为人知的两个模块是xml.dom.minidom和xml.sax, ...
- 编写高质量代码改善python程序91个建议学习01
编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐 ...
- TensorFlow文本与序列的深度模型
TensorFlow深度学习笔记 文本与序列的深度模型 Deep Models for Text and Sequence 转载请注明作者:梦里风林Github工程地址:https://github. ...
- pytorch中检测分割模型中图像预处理探究
Object Detection and Classification using R-CNNs 目标检测:数据增强(Numpy+Pytorch) - 主要探究检测分割模型数据增强操作有哪些? - 检 ...
随机推荐
- HiBench成长笔记——(4) HiBench测试Spark SQL
很多内容之前的博客已经提过,这里不再赘述,详细内容参照本系列前面的博客:https://www.cnblogs.com/ratels/p/10970905.html 和 https://www.cnb ...
- sftp 多用户安装与配置
sftp 是 Secure File Transfer Protocol 的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH 的一部分,由于这种传输方式使用了加密/解 ...
- stm32串口收发导致的死机
stm32串口收发导致的死机 很久以前有偶尔遇到过串口死机的情况,那是当时的我写出来的代码自己都觉得有问题,也就没注意.用了stm32做项目以后也就没遇到过了,今天做了个高压测试,每5ms定时发送一次 ...
- 2、MYSQL 基本数据库命令及约束
[注]sql语句注意不要忘了后面的 “ : ”,表示结束符 1.如何登陆数据库服务器 C:\Users\zhg>mysql -uroot -p Enter password: ****** ...
- 06 MySQL运算符
算数运算符 + - * / DIV % MOD 比较运算符 = <> != <=>(安全等于,NULL ...
- Charles抓包(HTTP)
一.电脑抓包: 安装Charles,打开Charles即可 二.手机抓包: 设置手机WiFi配置代理即可:(确保电脑和手机在同一个网络) 三.拦截请求: 四.修改请求/返回: 打上断点后,刷新页面,在 ...
- 觉醒 闭包/this
两条非常重要的知识点 首先上题 var a = '322' var preview = function() { var a = '123' console.log(a, this, this.a) ...
- 不能安装64位office提示已安装32位如何处理
不能安装64位office提示已安装32位如何处理? 1 2 3 4 5 6 当你遇到提示说[无法安装64位版本的office,以为在您的PC上找一下32位程序......]时如果你还想安装64位 ...
- 154. 寻找旋转排序数组中的最小值 II
转跳点:--\(˙<>˙)/-- 原本打算大年三十十一起写完的,结果这篇拖到了年初一…… 这道题比刚刚那道,麻烦一点,因为有重复,所以我们需要考虑重复的情况,就是刚刚的两种情况变成了三种: ...
- 每天一点点之vue框架开发 - @click-native-prevent
1.在封装好的组件上使用,所以要加上.native才能click 2.prevent就相当于..event.preventDefault() 所以@click.native.prevent是用来阻止默 ...