删除和修改caffe模型中任意最后一层或者任意层数网络的参数的方法
2016-12-05 09:13
696 查看
1、删除方法
在caffe中,很多训练完的模型只提取特征,然后比较两个特征的相似度,而不是分类。这个情况,可以删除caffe模型中的最后一层全连接层,这样可以大大减小模型,因为全连接层的参数非常多,方法如下:
net = caffe.Net('XX_deploy.prototxt', 'XX.caffemodel', 'test');
net.save('XX_remove_the_last_fc.caffemodel');
其实可以扩展到删除任意最后几层的参数,只需要在XX_deploy.prototxt中删除你需要删除层即可,呵呵,就这么简单。
2、修改方法
加载模型;net = caffe.Net('XX_deploy.prototxt', 'XX.caffemodel', 'test');
修改:net.layers('names').params(1).set_data(w);
net.layers('names').params(2).set_data(b);
保存模型net.save('XX.caffemodel');
在caffe中,很多训练完的模型只提取特征,然后比较两个特征的相似度,而不是分类。这个情况,可以删除caffe模型中的最后一层全连接层,这样可以大大减小模型,因为全连接层的参数非常多,方法如下:
net = caffe.Net('XX_deploy.prototxt', 'XX.caffemodel', 'test');
net.save('XX_remove_the_last_fc.caffemodel');
其实可以扩展到删除任意最后几层的参数,只需要在XX_deploy.prototxt中删除你需要删除层即可,呵呵,就这么简单。
2、修改方法
加载模型;net = caffe.Net('XX_deploy.prototxt', 'XX.caffemodel', 'test');
修改:net.layers('names').params(1).set_data(w);
net.layers('names').params(2).set_data(b);
保存模型net.save('XX.caffemodel');
相关文章推荐
- Ubuntu14.04搭建Caffe(仅CPU)详解教程
- Some Notes of Caffe Installation
- Some Notes of Python Interfaces Pycaffe (Caffe)
- TensorFlow人工智能引擎入门教程之十二 Caffe转换tensorflow并 跨平台调用
- TensorFlow人工智能引擎入门教程所有目录
- 自己动手写一个印钞机 第三章
- 自己动手写一个印钞机 第五章
- 爬取百度图片各种狗狗的图片,使用caffe训练模型分类
- 安装caffe过程记录
- 用于对象识别的最好的多级结构是什么?(What is the Best Multi-Stage Architecture for Object Recognition)
- deep learning 在各对象数据集上的识别率比较
- py-faster-rcnn训练笔记(ubuntu14.04+cuda7.5+cuDNNv3+Python2.7)
- cs231n学习笔记 note1 image classification:data-driven,knn,train/val/test splits
- 深度学习的一些教程
- 准确率, 召回率,mAP
- ubuntu 14.04上配置无GPU的Caffe(A卡机适用)
- caffe term: epoch, itr
- ssd训练500x500的数据
- ssd训练500x500的数据
- caffe ubuntu 14.04 install