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”,库也找不到该文件夹,因为它没有使用该变量或我尝试过的任何其他变量。这篇post有助于理解这个问题。我能找到的唯一解决方案就是复制所需的文件。
快速修复步骤:
这不是一个很好的解决方案,但在其他人发布答案之前,您至少可以运行您的代码。
将 CUDA nvvm 复制到虚拟环境所在的目录中。
如果您遵循官方
tensorflow
指南并使用tensorflow
+anaconda/miniconda
安装了pip
,这里是CUDA_DIR
的位置:
/root/miniconda3/{YOUR_ENVIRONMENT_NAME}
如果您正确安装了
CUDA
,此文件夹应包含子文件夹nvvm
,这正是tensorflow
为了找到libdevice
而要查找的内容。
编辑:
经过一些实验,发现有时即使设置
CUDA_DIR
路径也不起作用。事实证明,tensorflow
会在当前工作目录中寻找CUDA。
解决方案:
pwd
)libdevice.10.bc
文件复制到当前工作目录中。如果您如上所述使用 conda,您应该在此目录中找到该文件:/{path_to_your_conda_environment}/nvvm/libdevice/libdevice.10.bc
显然这是一个糟糕的解决方案,但是,嘿,5 小时后我不再关心了。 希望这有帮助
我在 Docker 安装中使用
tensorflow 2.14.0
时遇到了同样的错误。升级对我来说很有效:
pip install --no-cache-dir tensorflow==2.15.0 keras==2.15.0
希望这有帮助!