编写检测深度模型测试程序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

输入预测结果:

原文地址:https://www.cnblogs.com/shuimuqingyang/p/10102937.html

时间: 2024-11-05 11:17:37

编写检测深度模型测试程序python的相关文章

编写高质量代码–改善python程序的建议(二)

原文发表在我的博客主页,转载请注明出处! 建议七:利用assert语句来发现问题断言(assert)在很多语言中都存在,它主要为调试程序服务,能够快速方便地检查程序的异常或者发现不恰当的输入等,可防止意想不到的情况出现.其语法如下: assert expression1 ["," expression2] 其中expression1的值会返回True或者False,当值为False的时候会引发AssertionError,而expression2是可选的,常用来传递具体的异常信息. 不

TensorFlow文本与序列的深度模型

TensorFlow深度学习笔记 文本与序列的深度模型 Deep Models for Text and Sequence 转载请注明作者:梦里风林Github工程地址:https://github.com/ahangchen/GDLnotes欢迎star,有问题可以到Issue区讨论官方教程地址视频/字幕下载 Rare Event 与其他机器学习不同,在文本分析里,陌生的东西(rare event)往往是最重要的,而最常见的东西往往是最不重要的. 语法多义性 一个东西可能有多个名字,对这种re

编写高质量代码改善python程序91个建议学习01

编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐,简胜杂,杂胜乱,平胜陡,疏胜密 python定义 #python排序 def quicksort(arr): less=[];greater=[] if len(arr)<=1: return arr pivot=arr.pop() for x in arr: if x<=pivot: less

opencv_人脸检测、模型训练、人脸识别

人脸检测.模型训练.人脸识别 2018-08-15 今天给大家带来一套人脸识别一个小案例,主要是帮助小伙伴们解决如何入门OpenCV人脸识别的问题,现在的AI行业比较火热,AI技术的使用比较广泛.就拿现在的只能手机来说吧,现在很多智能手机都必须有人脸识别解锁.拍照自动美颜.拍照物体识别等等功能,这些都是AI技术的功劳.在此也不多说了,让我们来见证奇迹的发生. 1.首先我们先准备好跑代码的环境,这一点很重要,我在跑这个代码的时候就是环境配置搞了我半天的实际,很头疼.我使用的是python3.6.5

[Pytorch]深度模型的显存计算以及优化

原文链接:https://oldpan.me/archives/how-to-calculate-gpu-memory 前言 亲,显存炸了,你的显卡快冒烟了! torch.FatalError: cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1524590031827/work/aten/src/THC/generic/THCStorage.cu:58 想必这是所有炼丹师们最不想看到的错误,没有之一.

行人检测 深度学习篇

樊恒徐俊等基于深度学习的人体行为识别J武汉大学学报2016414492-497 引言 行为识别整体流程 前景提取 行为识别过程 实验分析 芮挺等 基于深度卷积神经网络的行人检测 计算机工程与应用 2015 引言 卷积神经网络结构与特点 行人检测卷积神经网络结构 实验对比总结 张 阳 基于深信度网络分类算法的行人检测方法J 计算机应用研究 20163302 总体来说大部分浏览下就行. 樊恒,徐俊等.基于深度学习的人体行为识别[J].武汉大学学报,2016,41(4):492-497. 0 引言 目

使用C语言为python编写动态模块(2)--解析python中的对象如何在C语言中传递并返回

楔子 编写扩展模块,需要有python源码层面的知识,我们之前介绍了python中的对象.但是对于编写扩展模块来讲还远远不够,因为里面还需要有python中模块的知识,比如:如何创建一个模块.如何初始化python环境等等.因此我们还需要了解一些前奏的知识,如果你的python基础比较好的话,那么我相信你一定能看懂,当然我们一开始只是介绍一个大概,至于细节方面我们会在真正编写扩展模块的时候会说. 关于使用C为python编写扩展模块,我前面还有一篇博客,强烈建议先去看那篇博客,对你了解Pytho

Django模型学习 --python的web开发

django是一个比较老牌而且功能也很强大的框架,虽然它有很多缺点,但还是决定先从这个框架入手学习.本系列是一个简单的学习笔记,供以后参考. 网站的后台原来是用PHP的CodeIgniter框架写的,数据库只有4个表,涉及最基本的产品的增删查改和切图等操作.现在换用django后,所有后台包括模板都得重写.虽然看起来工作量很大,但实际做起来也就花三天学了下django,然后再用三天把所有后台重写(不包括部署到蛋疼的SAE的繁琐过程),可见django的开发效率是如此之高. 1. 引言 1.1 简

Django模型开发 --python数据库连接

在Django中,视图负责处理一些业务逻辑,然后返回响应结果.在当代Web应用中,业务逻辑经常牵涉到与数据库的交互,在后台连接数据库服务器,从中取出一些数据,然后在Web页面用漂亮的格式展示这些数据.这个网站也可能会向访问者提供修改数据库数据的方法. 在这一篇博文中,我们将以MySQL数据库为例,先看看不使用Django模型的数据库查询方法,然后开始学习Django的模型. 1. 不使用模型的数据库查询方法 假如我们不采用Django的模型,如何从数据库中获取数据呢?通常的做法就是在视图(Vie