每次我想将GPU与Tensorflow(WSL)一起使用时都必须导出CUDNN_PATH

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

我遇到的问题是,在安装最新版本的 Tensorflow (2.16.1) 时,它没有使用 GPU。

仅在运行以下命令后,它才能识别 GPU(如本文中所建议的无法 dlopen 某些 GPU 库。跳过注册 GPU 设备):

export CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))
export LD_LIBRARY_PATH=${CUDNN_PATH}/lib

但是,每次重新启动终端时我都需要重新运行这些。有没有办法解决这个问题,这样我就不必一直重新运行它?或者我应该在 .bashrc 文件的底部添加这两行?

从 nvcc -V 我得到:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

从 nvidia-smi 我得到:

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.76.01              Driver Version: 552.44         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3070        On  |   00000000:01:00.0  On |                  N/A |
| 49%   50C    P8             25W /  240W |    1303MiB /   8192MiB |      3%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A        44      G   /Xwayland                                   N/A      |
+-----------------------------------------------------------------------------------------+

我也有点困惑,这些的 CUDA 版本不匹配。 nvidia-smi 返回“CUDA 版本:12.4”,而 nvcc -V 返回“V12.0.140”。

tensorflow cuda
1个回答
0
投票

我实际上刚刚找到了解决方案,因为。起初我尝试将

~/.bash_profile
添加为永久环境变量,但它一直抛出错误:

ModuleNotFoundError: No module named 'nvidia'

我认为这是由于 anaconda 使用了不同的路径。

我最终做了以下事情。

创建以下内容并导航到那里:

mkdir -p $CONDA_PREFIX/etc/conda/activate.d
cd $CONDA_PREFIX/etc/conda

打开它:

sudo nano /.activate.d

然后粘贴到那里:

export LD_LIBRARY_PATH=$LS_LIBRARY_PATH:$CONDA_PREFIX/lib/

现在每次测试此命令时我都可以看到我的 GPU:

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
© www.soinside.com 2019 - 2024. All rights reserved.