我收到有关错误的错误:Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice in tensorflow object_detection api

问题描述 投票:0回答:5

Windows版本:Windows 10 Pro 21H2 19044.1706 显卡:rtx2070

import tensorflow as tf
import torch
print(torch.__version__) #1.10.1+cu113
print(torch.version.cuda) #11.3
print(tf.__version__) #2.9.1

我跑步

python .\object_detection\builders\model_builder_tf2_test.py

我可以获得“在 18.279 秒内运行 24 次测试,OK(跳过 = 1)”结果;

但是当我想训练我的模型时,我使用

feature_extractor {
   type: 'faster_rcnn_inception_resnet_v2_keras'
}

在我的 pipeline_config 中,我运行

python .\object_detection\model_main_tf2.py --logtostderr --pipeline_config_path=LOCATION_OF_MY_PIPECONFIG --model_dir=LOCATION_OF_MY_MODEL_DIR

然后我收到以下错误 在我的系统环境变量中,'CUDA_DIR'是变量并且可以访问

python tensorflow cuda tensorflow2.0
5个回答
11
投票

我也遇到了同样的问题,刚刚解决了。即使您设置了“CUDA_DIR”,库也找不到该文件夹,因为它没有使用该变量或我尝试过的任何其他变量。这篇post有助于理解这个问题。我能找到的唯一解决方案就是复制所需的文件。

快速修复步骤:

  1. 找到 CUDA nvvm 的安装位置(对我来说是“C:\Program Files\NVIDIA GPU Compute Toolkit\CUDA 11.6”)。
  2. 找到脚本的工作目录(运行脚本的环境或目录)。
  3. 将整个 nvvm 文件夹复制到工作目录中,您的脚本应该可以工作。

这不是一个很好的解决方案,但在其他人发布答案之前,您至少可以运行您的代码。


1
投票

这是我解决同样问题的方法:

  1. 转到 CUDA 主文件夹路径及其 v10.x 或 v11.x 子文件夹。

    在我的例子中是来自目录路径: C:\Program Files\NVIDIA GPU 计算工具包\CUDA 11.7

  2. 复制nvmm整个文件夹。

  3. 将其粘贴到当前的Python工作目录中。

    在我使用 Pycharm 的情况下,它必须与 .idea__pycache__ 文件夹以及 venv 文件夹位于同一目录(照片中未显示)

  4. 再次运行您的程序/代码。它现在应该可以工作并且不会显示错误:无法找到 libdevice 目录 ${CUDA_DIR}/nvvm/libdevice 了。


0
投票

将 CUDA nvvm 复制到虚拟环境所在的目录中。


0
投票

解决方案1

如果您遵循官方

tensorflow
指南并使用
tensorflow
+
anaconda/miniconda
安装了
pip
,这里是
CUDA_DIR
的位置:

/root/miniconda3/{YOUR_ENVIRONMENT_NAME}

如果您正确安装了

CUDA
,此文件夹应包含子文件夹
nvvm
,这正是
tensorflow
为了找到
libdevice
而要查找的内容。

编辑:

解决方案2

经过一些实验,发现有时即使设置

CUDA_DIR
路径也不起作用。事实证明,
tensorflow
会在当前工作目录中寻找CUDA。

解决方案:

  1. 确定你当前的工作目录(只需执行
    pwd
  2. libdevice.10.bc
    文件复制到当前工作目录中。如果您如上所述使用 conda,您应该在此目录中找到该文件:
    /{path_to_your_conda_environment}/nvvm/libdevice/libdevice.10.bc

显然这是一个糟糕的解决方案,但是,嘿,5 小时后我不再关心了。 希望这有帮助


0
投票

我在 Docker 安装中使用

tensorflow 2.14.0
时遇到了同样的错误。升级对我来说很有效:

pip install --no-cache-dir tensorflow==2.15.0 keras==2.15.0

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.