PaddleLite学习<四>x86-Linux推理
2023-12-11 20:34:03
标签: paddle
作者: Sam(甄峰) sam_code@hotmail.com
Sam在使用Paddle训练出模型后,opt工具优化后,在Android 平台推理。
但一些测试集放到Android 平台(adb push)和取下(adb pull)结果比较麻烦。而直接在x86
Linux推理比较方便,所以想尝试在x86 Linux直接推理。
1.
paddle-lite x86库的获取:
可以选择下载预编译库,也可以自己编译。
1.1:下载预编译库:
https://www.paddlepaddle.org.cn/lite/develop/quick_start/release_lib.html
1.2:重新编译:
因为涉及到是否支持op, 也因为opt工具和paddle-lite最好版本对应,所以有时需要自己编译。
编译环境的安装,参考:https://blog.sina.com.cn/s/blog_602f87700102ynwz.html
修改build_linux.sh中设置:
./lite/tools/build_linux.sh --arch=x86
2.
编译例子代码:
3.确保设备支持:
Paddle Lite
当前支持 AVX
及 FMA
指令集的
X86 CPU。
可以使用:
cat /proc/cpuinfo
查看flags 项中有无AVX或FMA. 如果有,则表示可以支持。
4. 模型转换:
需要重新使用opt工具转换模型。添加上:
--valid_targets=x86
否则会报错:
Error: This model is not supported, because kernel for
'conv2d' is not supported by Paddle-Lite.
PaddleLite学习<四>x86-Linux推理
作者: Sam(甄峰) sam_code@hotmail.com
Sam在使用Paddle训练出模型后,opt工具优化后,在Android 平台推理。 但一些测试集放到Android 平台(adb push)和取下(adb pull)结果比较麻烦。而直接在x86 Linux推理比较方便,所以想尝试在x86 Linux直接推理。
1. paddle-lite x86库的获取:
可以选择下载预编译库,也可以自己编译。
1.1:下载预编译库:
https://www.paddlepaddle.org.cn/lite/develop/quick_start/release_lib.html
1.2:重新编译:
因为涉及到是否支持op, 也因为opt工具和paddle-lite最好版本对应,所以有时需要自己编译。
编译环境的安装,参考:https://blog.sina.com.cn/s/blog_602f87700102ynwz.html
修改build_linux.sh中设置:
./lite/tools/build_linux.sh --arch=x86
2. 编译例子代码:
3.确保设备支持:
Paddle Lite 当前支持
AVX
及FMA
指令集的 X86 CPU。可以使用:
cat /proc/cpuinfo
查看flags 项中有无AVX或FMA. 如果有,则表示可以支持。
4. 模型转换:
需要重新使用opt工具转换模型。添加上:
--valid_targets=x86
否则会报错:
Error: This model is not supported, because kernel for 'conv2d' is not supported by Paddle-Lite.