YOLO文本检测训练遇libcudart.so.11.0缺失问题求助
解决YOLO文本检测训练中的libcudart.so.11.0缺失问题
问题概述
使用TrainYourOwnYOLO仓库训练YOLO模型做文本检测时,运行权重下载转换脚本触发TensorFlow错误:
Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or dir
已执行操作:
- 运行
sudo apt-get update和sudo apt install nvidia-cuda-toolkit - 尝试
sudo find / -name 'libcudart.so*'但收到权限拒绝提示
需求:
- 确认CUDA 11安装方案的安全性
- 获取其他解决该库缺失问题的方法
- 寻找基于VoTT标注图像运行YOLO的更简便流程
方案一:安全安装CUDA 11(新手友好)
你参考的Ubuntu 20.04安装CUDA 11的方案是安全的,只要严格按步骤执行:
- 先检查NVIDIA驱动兼容性:运行
nvidia-smi查看驱动版本,CUDA 11.0要求驱动≥450.80.02,版本不够先更新驱动 - 卸载冲突的旧工具包:
sudo apt-get purge nvidia-cuda-toolkit - 添加NVIDIA官方源(避免apt默认的旧版本),按教程步骤执行即可
- 安装CUDA 11.0时选择自定义安装,取消勾选与现有驱动重复的选项
- 配置环境变量:
在~/.bashrc末尾添加:
运行export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}source ~/.bashrc使配置生效 - 验证安装:运行
nvcc -V查看CUDA版本,find /usr/local/cuda-11.0/lib64 -name 'libcudart.so*'确认库存在
方案二:临时用CPU模式运行脚本
如果只是测试流程,不想折腾CUDA,可以强制TensorFlow使用CPU:
- 运行脚本前设置环境变量:
export CUDA_VISIBLE_DEVICES=-1 - 或者在Python代码开头添加:
import os os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
注意:该方法训练速度极慢,仅适合小数据集测试。
方案三:更简便的VoTT+YOLO训练流程
推荐使用YOLOv8,官方支持VoTT标注格式,流程更简洁:
- 安装依赖库:
pip install ultralytics - 导出标注:VoTT可直接导出YOLO格式的标注文件,无需额外转换
- 创建数据集配置文件(
your_dataset.yaml),示例内容:train: ./train/images val: ./val/images nc: 1 # 文本检测为单类别,根据你的标注调整 names: ['text'] - 启动训练:
yolo train data=your_dataset.yaml model=yolov8n.pt epochs=50
YOLOv8会自动适配CUDA环境,无需手动配置复杂依赖,新手友好度更高。
内容的提问来源于stack exchange,提问作者Anna M
相关产品推荐
相关产品推荐

