「机器学习」截取caffe模型中的某层
通常情况下 , 训练好的caffe模型包含两个文件:
- prototxt:网络结构描述文件 , 存储了整个网络的图结构;
- caffemodel:权重文件 , 存储了模型权重的相关参数和具体信息
修改prototxt以Inception模型为例 , 如下图左则为使用Netron可视化的模型前3层及prototxt描述的内容 , 假设要截取第3层 , 修改后的模型如下图右则所示 , 修改方法为:
- 修改输入数据的维度为第2层的输出维度
- 删除第2层以及第3层后的所有层
- 修改第3层的bottom值为第一层的top值
文章插图
截取权重数据首先要下载caffe源码
git clone
然后使用caffe的python接口读取修改后的prototxt和原始的权重文件caffemodel , 接着重新推理 , 最后保存新的权重文件 。【「机器学习」截取caffe模型中的某层】
import syscaffe_root='/your/path/caffe'sys.path.insert(0, caffe_root + '/python')import caffenet = caffe.Net("Inception.prototxt", "Inception.caffemodel", caffe.TRAIN)res = net.forward()net.save('Inception_conv2d_2.caffemodel')
- 机器人|网络里面的假消息忽悠了非常多的小喷子和小机器人
- 跑腿|机器人“小北”上岗 让办事群众少跑腿
- 计算机学科|机器视觉系统是什么
- 机器人|外骨骼康复训练机器人助力下肢运动功能障碍患者康复训练
- 合并|Andre Cronje主导批量「合并」DeFi项目,是好事情吗?
- mini|电影、mini 与「当日完稿」工作流
- 教学|机器人教学的目标方案
- 字化转型|疫情重构经济,传统企业「数字化」的通关密码是什么?
- 体验|VR\/AR体验、3D打印、机器人“对决”……松江这所中学人工智能创新实验室真的赞
- 输送|新时达:“用于机器人码垛的输送系统”获发明专利