caffe的python接口使用笔记
2017-02-15 19:18
295 查看
网络初始化:
model_def = 'D:/caffe/caffe-master/models/bvlc_reference_caffenet/deploy.prototxt'
model_pretrained = 'D:/caffe/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel'
meanFile = 'D:/caffe/caffe-master/python/caffe/imagenet/ilsvrc_2012_mean.npy'
mean_npy = np.load(meanFile)
mean = mean_npy.mean(1).mean(1)
net=caffe.Classifier(model_def,model_pretrained,mean=mean,
channel_swap=(2,1,0),#RGB通道与BGR
raw_scale=255 #把输入的img*255
)
数据准备:
im_path = 'cat.jpg'
img = caffe.io.load_image(im_path)
image = skimage.transform.resize(img,(227,227))
预测、提取中间数据:
prediction = net.predict([image],oversample=False)
feat = net.blobs['fc8'].data[0]
scores = prediction[0].argmax()#获取预测最大的下标
每张要预测的图片对应10张采样图片,
oversample是过采样选项,
为true时,
如果图片大小大于网络定义的图片大小,那么输入的图片是 四个边角和中心的采样 以及 他们的 左右仿射变换,一共10种(一种1张)
对应data为:net.blobs['fc8'].data [0]--[9],各不一样
如果图片大小和网络定义的图片大小一样,那么输入的图片是 中心采样以及它的仿射变换,一共2种(每种都是一样的五张。。。),
对应的data为:net.blobs['fc8'].data [0]和[5],其中[0-4]一样,[5-9]一样
为false时,
不管图片大小大于还是等于网络定义的大小,输入的图片都是 中心的采样 ,一共就是1种
对应data为:net.blobs['fc8'].data[0] (其他的[1-9]一样,不过不知道是什么东西)
如果图片大小小于网络定义的话,我也不知道。。。
所以我们要提取一张图片的特征时,直接像上面那样写就行了。
但是在文章http://blog.csdn.net/guoyilin/article/details/42886365中看到,net.predict()好像支持输入多样要预测的图片,比如net.predict([house,ship]),
然后net.blobs['fc8'].data的大小就超过了10,然而我试了不知为何不行
model_def = 'D:/caffe/caffe-master/models/bvlc_reference_caffenet/deploy.prototxt'
model_pretrained = 'D:/caffe/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel'
meanFile = 'D:/caffe/caffe-master/python/caffe/imagenet/ilsvrc_2012_mean.npy'
mean_npy = np.load(meanFile)
mean = mean_npy.mean(1).mean(1)
net=caffe.Classifier(model_def,model_pretrained,mean=mean,
channel_swap=(2,1,0),#RGB通道与BGR
raw_scale=255 #把输入的img*255
)
数据准备:
im_path = 'cat.jpg'
img = caffe.io.load_image(im_path)
image = skimage.transform.resize(img,(227,227))
预测、提取中间数据:
prediction = net.predict([image],oversample=False)
feat = net.blobs['fc8'].data[0]
scores = prediction[0].argmax()#获取预测最大的下标
每张要预测的图片对应10张采样图片,
oversample是过采样选项,
为true时,
如果图片大小大于网络定义的图片大小,那么输入的图片是 四个边角和中心的采样 以及 他们的 左右仿射变换,一共10种(一种1张)
对应data为:net.blobs['fc8'].data [0]--[9],各不一样
如果图片大小和网络定义的图片大小一样,那么输入的图片是 中心采样以及它的仿射变换,一共2种(每种都是一样的五张。。。),
对应的data为:net.blobs['fc8'].data [0]和[5],其中[0-4]一样,[5-9]一样
为false时,
不管图片大小大于还是等于网络定义的大小,输入的图片都是 中心的采样 ,一共就是1种
对应data为:net.blobs['fc8'].data[0] (其他的[1-9]一样,不过不知道是什么东西)
如果图片大小小于网络定义的话,我也不知道。。。
所以我们要提取一张图片的特征时,直接像上面那样写就行了。
但是在文章http://blog.csdn.net/guoyilin/article/details/42886365中看到,net.predict()好像支持输入多样要预测的图片,比如net.predict([house,ship]),
然后net.blobs['fc8'].data的大小就超过了10,然而我试了不知为何不行
相关文章推荐
- 深度学习Caffe实战笔记(12)Caffe 使用Python接口No module named google.protobuf.internal修复方案
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- [原]有关Caffe训练好的模型在Python接口下使用分类不准确的问题解决
- 【caffe学习笔记之5】Win10系统下Caffe的Python接口设置方法并绘制网络结构图
- 使用caffe的python接口实现内部参数可视化
- win7 caffe使用笔记——特征图可视化(matlab,python两种方式)
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程
- 深度学习Caffe实战笔记(10)Windows Caffe使用MATLAB接口提取和可视化特征
- caffe 使能python接口使用draw_net.py绘制网络结构图过程
- caffe 07 win10 使用caffe python接口定义网络配置文件
- caffe python 接口使用
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- caffe的python接口学习(9):Caffe在Python中使用内存数据(MemoryData)进行训练
- 有关Caffe训练好的模型在Python接口下使用分类不准确的问题解决
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- caffe学习笔记7-python接口绘制网络结构图