Ubuntu 20.04下CMake编译TensorFlow Lite崩溃,求解决建议
解决Ubuntu 20.04编译TensorFlow Lite崩溃的建议
1. 降低编译并行度
-j参数会自动调用所有CPU核心编译,高负载容易触发系统崩溃。尝试指定核心数量,比如保留2个核心不参与编译:
cmake --build . -j$(nproc --ignore=2)
也可以直接固定核心数,比如-j4(根据你的CPU实际核心数调整)。
2. 排查系统资源瓶颈
- 内存不足:编译TFLite需要大量内存,内存耗尽可能导致系统冻结。用
free -h查看剩余内存,若不足8G,建议关闭浏览器、IDE等占用内存的程序,或临时增加交换分区:sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile - CPU过热:高负载编译可能导致CPU温度过高,触发硬件保护机制。用
sensors命令查看温度,若温度异常,清理散热风扇或改善设备通风环境。
3. 改用预编译库替代源码编译
如果源码编译持续崩溃,可以跳过源码编译,直接使用TensorFlow Lite预编译C++库:
- 下载对应版本的预编译包,解压后将头文件和库文件复制到系统目录或项目目录
- 在VS Code的CMakeLists.txt中直接链接预编译库,无需再进行源码编译流程
4. 调整CMake编译选项
修改编译配置,关闭不必要的模块以降低资源占用:
- 重新运行CMake时添加参数,关闭测试和示例编译:
cmake ../tensorflow/tensorflow/lite/examples/minimal -DTFLITE_BUILD_TESTS=OFF -DTFLITE_BUILD_EXAMPLES=OFF - 切换到Release模式编译(默认Debug模式编译时间更长、资源消耗更高):
cmake ../tensorflow/tensorflow/lite/examples/minimal -DCMAKE_BUILD_TYPE=Release
5. 修复系统依赖和更新
- 确保系统和依赖包处于最新状态:
sudo apt update && sudo apt upgrade -y - 重新安装可能损坏的基础依赖:
sudo apt install --reinstall cmake libffi7 build-essential
内容的提问来源于stack exchange,提问作者Ruthger Righart
相关产品推荐
相关产品推荐

