当前位置:网站首页>教你自己训练的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看我另一个博客:
边栏推荐
- Analyze the knowledge transfer and sharing spirit of maker Education
- National Eye Care Education Conference, 2022 the Fourth Beijing International Youth eye health industry exhibition
- Applet event binding
- Which securities is better for securities account opening? Is online account opening safe?
- 欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
- Interpreting the daily application functions of cooperative robots
- Informatics Olympiad 1337: [example 3-2] word search tree | Luogu p5755 [noi2000] word search tree
- 小程序项目结构
- Graph embedding learning notes
- 【刷题记录】1. 两数之和
猜你喜欢
Practical demonstration: how can the production research team efficiently build the requirements workflow?
14、Transformer--VIT TNT BETR
Abnova e (diii) (WNV) recombinant protein Chinese and English instructions
Informatics Orsay all in one 1339: [example 3-4] find the post order traversal | Valley p1827 [usaco3.4] American Heritage
2.8、项目管理过程基础知识
Use of form text box (II) input filtering (synthetic event)
IC popular science article: those things about Eco
Fundamentals - configuration file analysis
小程序全局配置
1、强化学习基础知识点
随机推荐
Mongodb/ document operation
Abnova DNA marker high quality control test program
全国爱眼教育大会,2022第四届北京国际青少年眼健康产业展会
3.3、项目评估
Abnova丨 CD81单克隆抗体相关参数和应用
Duchefa d5124 md5a medium Chinese and English instructions
go 文件路径操作
Specification of protein quantitative kit for abbkine BCA method
Wanglaoji pharmaceutical's public welfare activity of "caring for the most lovely people under the scorching sun" was launched in Nanjing
CVPR 2022 | common 3D damage and data enhancement
Practical demonstration: how can the production research team efficiently build the requirements workflow?
E. Singhal and numbers (prime factor decomposition)
渗透创客精神文化转化的创客教育
Ros2 topic [01]: installing ros2 on win10
Is it safe to open a stock account by mobile phone? My home is relatively remote. Is there a better way to open an account?
Leetcode (695) - the largest area of an island
Classic implementation of the basic method of intelligent home of Internet of things
解析创客教育的知识迁移和分享精神
Dry goods navigation in this quarter | Q2 2022
Hongmeng OS' fourth learning