问题描述
我正在尝试在 tensorflow 2 对象检测 api 中运行一些模型的训练。
我正在使用这个命令:
gcloud ai-platform jobs submit training segmentation_maskrcnn_`date +%m_%d_%Y_%H_%M_%s` \
--runtime-version 2.1 \
--python-version 3.7 \
--job-dir=gs://${MODEL_DIR} \
--package-path ./object_detection \
--module-name object_detection.model_main_tf2 \
--region us-central1 \
--scale-tier CUSTOM \
--master-machine-type n1-highcpu-32 \
--master-accelerator count=4,type=nvidia-tesla-p100 \
-- \
--model_dir=gs://${MODEL_DIR} \
--pipeline_config_path=gs://${PIPELINE_CONfig_PATH}
训练作业已成功提交,但是当我在 AI 平台上查看我提交的作业时,我注意到它没有使用 GPU!
此外,在查看我的训练作业的日志时,我注意到在某些情况下无法打开 cuda。它会说这样的话:
Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib64
几个月前,我使用 AI 平台进行培训,并取得了成功。不知道现在有什么变化! 事实上,对于我自己的设置,没有任何改变。
为了记录,我现在正在训练 Mask RCNN。几个月前,我训练了 Faster RCNN 和 SSD 模型。
解决方法
无法加载动态库“libcudart.so.11.0”; dlerror: libcudart.so.11.0: 无法打开共享对象文件:没有那个文件或目录; LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib64
我不确定,因为我无论如何都无法测试。通过快速的谷歌搜索,似乎人们由于多种原因遇到了这个问题,解决方案是某种依赖。在 SO 中,询问了相同的查询,您可能以某种方式错过了它,请先检查它,here。
另外,检查下面发布的这个相关问题
在检查所有可能的解决方案后,问题仍然存在,然后用它更新您的查询。
我认为您的 Cuda 版本(CUDA
、cuDNN
)和 tf
版本存在一些不匹配,您应该首先在您的工作环境中检查它们。此外,请确保正确更新 Cuda 路径。根据给出的错误信息,您需要确保以下设置正确。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64/