python caffe 训练自己的模型_python接口调用已训练好的caffe模型测试分类方法
训练好了model后,可以通过python调用caffe的模型,然后进行模型测试的输出。
本次测试主要依靠的模型是在caffe模型里面自带训练好的结构参数:~/caffe/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel,以及结构参数
:~/caffe/models/bvlc_reference_caffenet/deploy.prototxt相结合,用python接口进行调用。
训练的源代码以及相应的注释如下所示:
# -*- coding: UTF-8 -*-
import os
import caffe
import numpy as np
root='/home/zf/caffe/'#指定根目录
deploy=root+'models/bvlc_reference_caffenet/deploy.prototxt'#结构文件
caffe_model=root + 'models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel'
#已经训练好的model
dir =root+'examples/images/'#保存测试图片的集合
filelist=[]
filenames=os.listdir(dir)
for fn in filenames:
fullfilename = os.path.join(dir,fn)
filelist.append(fullfilename)
#filelist.append(fn)
def Test(img):
#加载模型
net = caffe.Net(deploy,caffe_model,caffe.TEST)
# 加载输入和配置预处理
transformer = caffe.io.Transformer({'data':net.blobs['data'].data.shape})
transformer.set_mean('data', np.load('/home/zf/caffe/python/caffe/imagenet/ilsvrc_2012_mean.npy').mean(1).mean(1))
transformer.set_transpose('data', (2,0,1))
transformer.set_channel_swap('data', (2,1,0))
transformer.set_raw_scale('data', 255.0)
#注意可以调节预处理批次的大小
#由于是处理一张图片,所以把原来的10张的批次改为1
net.blobs['data'].reshape(1,3,227,227)
#加载图片到数据层
im = caffe.io.load_image(img)
net.blobs['data'].data[...] = transformer.preprocess('data', im)
#前向计算
out = net.forward()
# 其他可能的形式 : out = net.forward_all(data=np.asarray([transformer.preprocess('data', im)]))
#预测分类
print out['prob'].argmax()
#打印预测标签
labels = np.loadtxt("/home/zf/caffe/data/ilsvrc12/synset_words.txt", str, delimiter='\t')
top_k = net.blobs['prob'].data[0].flatten().argsort()[-1]
print 'the class is:',labels[top_k]
f=file("/home/zhengfeng/caffe/examples/zf/label.txt","a")
f.writelines(img+' '+labels[top_k]+'\n')
labels_filename=root +'data/ilsvrc12/synset_words.txt'
#循环遍历文件夹root+'examples/images/'下的所有图片
for i in range(0,len(filelist)):
img=filelist[i]
Test(img)
ps:主要有以下的文件需要说明
待测试的文件夹里面的图片数据为:
最后的输出结果如下:
以下是本人定义的label.txt文件写入的预测的数据:
如果在编译的时候出现import caffe error的话,说明没有导入caffe
Export PYTHONPATH=$PYTHONPATH:/home/zf/caffe/python,如果还是不行,可能是你的caffe的python接口未编译,cd /home/zf/caffe,然后执行make pycaffe,接着再测试。
以上这篇python接口调用已训练好的caffe模型测试分类方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
python caffe 训练自己的模型_python接口调用已训练好的caffe模型测试分类方法相关推荐
- python简单例子lof_Python的净值数据接口调用示例分享
代码描述:基于python的净值数据接口调用代码实例 关联数据:净值数据 接口地址:https://www.juhe.cn/docs/api/id/25 #!/usr/bin/python # -*- ...
- python变量类型是动态的_Python 学习 第四篇:动态类型模型
Python的变量不用声明,赋值之后就可以直接使用,类型是在运行过程中自动确定的,这就是动态类型模型.该模型把变量和对象设计成两个不同的实体,对象是存储数据的地方,对象的类型是由初始值自动决定的,而变 ...
- python测试之道电子pdf下载_Python接口自动化测试 PDF 下载
相关截图: 资料简介: 本书主要介绍如何用Python实现接口自动化测试.全书主要内容包括接口基础.接口手工测试.编程前的准备.用Python处理MySQL数据库.用Python发送HTTP请求.用P ...
- python接口测试框架与自动化实战_Python接口自动化从设计到开发,测试框架实战与自动化进阶视频课程...
Python接口自动化从设计到开发,测试框架实战与自动化进阶视频课程21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,黑盒测试,白 ...
- python调用接口查询_基于Python的苹果序列号官网查询接口调用代码实例
1.[代码][Python]代码 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import ur ...
- 苹果手机查看python代码_[代码全屏查看]-基于Python的苹果序列号官网查询接口调用代码实例...
[1].[代码] [Python]代码 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import ...
- python 图像压缩后前端解压_Python在后台自动解压各种压缩文件的实现方法
1.需求描述 编写一个 Python 程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点: os 模块综合应用 glob 模块综合应用 利用 g ...
- python中的引用法总结_python模块调用总结
1.模块的定义 本质上就是.py结尾的python文件,用来从逻辑上组织python代码(变量,函数,类,逻辑),为了实现一个功能. 2.模块的调用方法 首先编写一个模块文件: 1 name='Tao ...
- python判断ip能否ping通_Python实现检测服务器是否可以ping通的2种方法
好想在2014结束前再赶出个10篇博文来,~(>_ python检测服务器是否ping通的2种方法 1.第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百 ...
最新文章
- 在Hive中执行DDL之类的SQL语句时遇到的一个问题
- 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门
- DBController心得之一:利用DMO对象对SQL2005数据库进行Backup和restore的操作
- Luggage Lock 偏移,bfs,预处理(2021.11.沈阳)
- Win10下使用HDFView查看hdf5文件
- SAP AET 框架是如何判断一个 SAP CRM UI 能否被扩展
- link引入html5,CSS引入方式 | link和@import的区别 — 生僻的前端考点
- Discuz网警过滤关键词库
- [转载] Java笔试题集锦
- 一文搞懂三种工厂模式
- matlab用pathy语言,2018 年度编程语言 -- Python
- 【数学建模算法汇总】
- 计算机成人本科学历,计算机专业成人本科
- Drools规则引擎
- robocode机器人案例
- cad快速选择命令快捷键_CAD快捷键,命令大全
- 电子邮件邮箱怎么设置签名?手机邮箱签名设置攻略
- 39 What Determines the Kind of Person You Are ?是什么决定了你是哪种内型的人 ?
- SteamVR自定义手部抓取姿势
- Powershell运行脚本异常:无法加载文件...因为在此系统上禁止运行脚本
热门文章
- React的source code init时会自动检测Chrome dev tool的react extension装了没
- Marketing Cloud的contact merge机制
- SAP OData的CSRF校验开关
- Workflow Administration
- SAP C4C客户主数据重复检查和清洗实现
- echo和pwd获取文件路径的区别对比
- 物化视图是否可以exp导出_物化视图导出导入可能导致物化视图日志的失效
- java实时汇率的接口_汇率-免费API,收集所有免费的API
- 树状数组基础原理与模板
- python怎样把两个图画到一起_python实现两张图片拼接为一张图片并保存