【问题标题】:Training using object detection api is not running on GPUs in AI Platform使用对象检测 API 进行的训练未在 AI Platform 中的 GPU 上运行
【发布时间】:2021-06-18 22:16:20
【问题描述】:

我正在尝试在 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 模型。

【问题讨论】:

    标签: tensorflow object-detection object-detection-api gcp-ai-platform-training google-ai-platform


    【解决方案1】:

    无法加载动态库“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 版本(CUDAcuDNN)和tf 版本有一些不匹配,你应该先在你的工作环境中检查它们。此外,请确保正确更新 Cuda 路径。根据给出的错误信息,您需要确保以下设置正确。

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64/
    

    【讨论】:

    • 我想你误会了。 tensorflow object detection api在google ai平台上有自己的配置(我认为是google cloud团队搭建的docker镜像)。这意味着我无权访问代码。我没有在我自己的本地机器上运行培训。在云虚拟机上都没有。我正在使用 google ai 平台,基本上我所要做的就是使用 gcloud 在终端中运行命令。
    • 我明白了,对不起,它对你没有帮助。只是想提供一些可能对您有所帮助的信息。
    • 感谢您的回答因纳特。不幸的是,这对我也不起作用!因为建议的解决方案是创建您自己的自定义 docker 镜像,该镜像可以在 GPU 上运行训练。我知道该怎么做。但我面临的问题与谷歌云团队构建和维护的 docker 镜像有关。所以我无法修改它,因为我无权访问它!
    猜你喜欢
    • 2018-06-11
    • 2018-05-28
    • 2020-06-17
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 2018-03-03
    相关资源
    最近更新 更多