怎么用tensorRT跑训练好的caffe
1、TensorRT简介TensorRT目前基于gcc4.8而写成,其独立于任何深度学习框架。对于caffe而言,TensorRT是把caffe那一套东西转化后独立运行,能够解析caffe模型的相关工具叫做NvCaffeParser,它根据prototxt文件和caffemodel权值,转化为支持半精度的新的模型。
2、以Jetson TX1为例,看看官方自带的例程是如何运行的。自带例程的地址是:/usr/src/gie_samples/samples,我们打开文件夹。其中,data文件夹存放LeNet和GoogleNet的模型描述文件和权值,giexec文件夹是TensorRT通用接口的源代码,剩下的文件夹是特定网络的接口源代码。Makefile是配置文件,在gie_sample文件夹位置打开终端,输入sudo make就能完成编译,生成一系列可执行文件,存放在bin文件夹中,那我们就来看看bin文件夹的内容。
3、首先,在打patch之前需要做两件事,一个是确认未打patch之前训练测试是没有问题的,二最好先做好备份,以防止打patch过程中出现问题无法修复。以下是几个重要步骤:1. cd到caffe根目录下,执行命令make clean,将之前编译好的build等文件删除2. 用git am $PATH/fpga.8-bit..patch命令尝试是否能进行打patch.
4、3. 如果不能通过上一个命令打,报这个错误:Patch format detection failed,那直接用patch命令:’patch -p1 < fpga.8-bit.train.2017-11-07.patch’4. 如果得到以下输入,则说明大部分成功了, 有两处失败;(图片在youdaoimage笔记里)
5、5. 需要手咿蛙匆盗动改一下 src/caffe/proto/caffe.proto ,在message LayerParameter { }的最后加上如下3行. // FPGA Qua荏鱿胫协ntization Parameter optional QuantizationParameter quantization_param = 6000; // add by liyupeng03 手动把src/caffe/proto/caffe.proto.rej 里的东西加到caffe.proto6. 把Makefile.config.rej里的东西加到Makefile.config中7. 然后切到caffe的根目录下,重新make all编译