1. 准备
源码可以在[2]上下在
编译方法跟caffe一样
2. squeezenet example举例
下载需要的模型文件,已经放在百度云盘,需要更改prototxt文件的数据位置
3.运行脚本
./examples/ristretto/00_quantize_squeezenet.sh
会动态定点模型,得分析好长时间,所以不用惊慌是不是错了
分析上面的图片,由于squeezenet不包括fc层,因此对他的结果可以忽略。只看最后几句,8bit的卷积和输出能达到0.550419的精度,
精度有所下降接下来就是对其进行finetune
4.finetune
finetune的前向采用的是8bit的值,然而反向update的时候就用的原始高精度32bit的值
运行脚本进行finetune训练,运行的工具是caffe自带的caffe train
./examples/ristretto/01_finetune_squeezenet.sh
5.benchmark
最后一步就是检测得到的定点模型的准确率,使用下面的命令
./examples/ristretto/02_benchmark_fixedpoint_squeezenet.sh
[1] caffe-ristretto
[2] github源码
[3] google用户组(需要FQ)