当前位置:网站首页>教你自己训练的pytorch模型转caffe(三)
教你自己训练的pytorch模型转caffe(三)
2022-07-05 20:41:00 【FeboReigns】
这一节是用caffe推理得到pytorh一样的结果
参考:使用Caffe的Python接口进行推理 - 简书 (jianshu.com)
#coding = utf-8
import numpy as np
import sys, os
sys.path.insert(0, caffe_root + 'python')
import caffe
os.chdir(caffe_root)
#caffe.set_device(0)
#caffe.set_mode_gpu()
####下面三行根据自己的路径修改
net_file = './dock_googlenet_dog.prototxt'
caffe_model = './dock_googlenet_dog.caffemodel'
imagenet_labels_filename = './class_names.txt'
# load model
net = caffe.Net(net_file, caffe_model, caffe.TEST)
#resize
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
#通道数拿到前面来 变为【1,3 224,224】
transformer.set_transpose('data', (2, 0, 1))
# # 调用均值文件
# # transformer.set_mean('data', np.load(mean_file).mean(1).mean(1))
#python中将图片存储为[0, 1],而caffe中将图片存储为[0, 255],所以需要一个转换
# transformer.set_raw_scale('data', 255)
#caffe中图片是RGB格式,而网络格式BGR,要转化
# transformer.set_channel_swap('data', (2, 1, 0))
###根据自己的路径更改
im = caffe.io.load_image('./cat.2.jpg')
net.blobs['data'].data[...] = transformer.preprocess('data',im)
# net.blobs['data'].data[...] =
out = net.forward()
print (net.blobs['data'].data.shape)
print (net.blobs['data'].data.dtype)
print (net.blobs[net.blobs.keys()[-1]].data.shape)
print (net.blobs[net.blobs.keys()[-1]].data.dtype)
labels = np.loadtxt(imagenet_labels_filename, str, delimiter='\t')
top_k = net.blobs[net.blobs.keys()[-1]].data[0].flatten().argsort()[-1:-6:-1]
for i in np.arange(top_k.size):
print (top_k[i], labels[top_k[i]])
#打印最后得分
print (net.blobs[net.blobs.keys()[-1]].data[0])
./class_names.txt就是
0 dog
1 cat
注意我训练是没有使用normlize,
而且我的格式是RGB的,所以预处理我有几个没用
caffe的caffe.io.load_image('./cat.2.jpg')是RGB的
我的也是RBG的
如果你用老哥的docker环境跑我的代码会报三个错
###got an unexpected keyword argument ‘as_grey‘
https://blog.csdn.net/hjxu2016/article/details/113541609
###TypeError: 'float' object cannot be interpreted as an integer
https://blog.csdn.net/qq_28634403/article/details/81224291
###dict_keys‘ object is not subscriptable
https://blog.csdn.net/le___le/article/details/103617431
我用的自己配置的caffe,我的caffe没有ceil mode参数,用round_mode代替的,如果ceil mode为true 则round_mode为0,否则反之。准确度基本不会影响Pytorch maxpool的ceil_mode及与caffe中maxpool的比较_zl3090的博客-CSDN博客
如何自己配caffe看我另一个博客:
边栏推荐
- 欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
- Informatics Olympiad 1338: [example 3-3] hospital setting | Luogu p1364 hospital setting
- 全国爱眼教育大会,2022第四届北京国际青少年眼健康产业展会
- Hongmeng OS' fourth learning
- 小程序项目结构
- 2.8、项目管理过程基础知识
- When JS method passes long type ID value, precision loss will occur
- Graph embedding learning notes
- Abnova丨 MaxPab 小鼠源多克隆抗体解决方案
- Duchefa丨S0188盐酸大观霉素五水合物中英文说明书
猜你喜欢
重上吹麻滩——段芝堂创始人翟立冬游记
Leetcode (695) - the largest area of an island
Chemical properties and application instructions of prosci Lag3 antibody
How to form standard interface documents
解析五育融合之下的steam教育模式
14、Transformer--VIT TNT BETR
Abnova丨 MaxPab 小鼠源多克隆抗体解决方案
CTF reverse Foundation
Specification of protein quantitative kit for abbkine BCA method
【愚公系列】2022年7月 Go教学课程 004-Go代码注释
随机推荐
mongodb文档间关系
鸿蒙os第四次学习
Dry goods navigation in this quarter | Q2 2022
[UE4] unrealinsight obtains the real machine performance test report
Kubernetes resource object introduction and common commands (V) - (configmap & Secret)
【愚公系列】2022年7月 Go教学课程 004-Go代码注释
[Yugong series] go teaching course in July 2022 004 go code Notes
Y57. Chapter III kubernetes from entry to proficiency -- business image version upgrade and rollback (30)
Enter the parallel world
2022北京眼睛健康用品展,护眼产品展,中国眼博会11月举办
重上吹麻滩——段芝堂创始人翟立冬游记
插值查找的简单理解
How to renew NPDP? Here comes the operation guide!
鸿蒙系统控制LED的实现方法之经典
mysql全面解析json/数组
ProSci LAG3抗体的化学性质和应用说明
Duchefa丨低熔点琼脂糖 PPC中英文说明书
CADD course learning (7) -- Simulation of target and small molecule interaction (semi flexible docking autodock)
Nprogress plug-in progress bar
小程序页面导航