我得到了一个关于错误错误:在tensorflow 对象检测API中找不到libdevice目录${CUDA_DIR}/nvvm/libdevice

xurqigkl  于 2023-02-16  发布在  其他
关注(0)|答案(3)|浏览(320)

Windows版本:Windows 10专业版21上半年19044.1706 GPU:实时传输x2070

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.279s内运行24次测试,正常(跳过= 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'是变量,可以访问

2wnc66cl

2wnc66cl1#

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

快速修复步骤:

1.找到CUDA nvvm的安装位置(对我来说是“C:\Program Files\NVIDIA GPU计算工具包\CUDA\v11.6”)。
1.查找脚本的工作目录(运行脚本的环境或目录)。
1.将整个nvvm文件夹复制到工作目录中,您的脚本应该可以工作。
这不是一个很好的解决方案,但是在别人给出答案之前,你至少可以运行你的代码。

9rnv2umw

9rnv2umw2#

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

jei2mxaa

jei2mxaa3#

下面是我解决同样问题的方法:
1.转到CUDA主文件夹路径及其v10.x或v11.x子文件夹。
在我的例子中是从目录路径:C:\程序文件\NVIDIA GPU计算工具包\CUDA\v11.7

1.复制nvmm整个文件夹。
1.将其粘贴到当前的python工作目录中。
在我使用Pycharm的情况下,它必须与***.idea***和***pycache***文件夹以及***venv***文件夹(图中未显示)

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

相关问题