Vas*_*ras 3 python-3.x miniconda tensorflow cudnn
我已经在Windows 10中安装了WSL2 (Ubuntu 22.04 Kernel)、Tensorflow 2.12、Cuda Toolkit 11.8.0和cuDNN 8.6.0.163在 Miniconda 环境 (Python 3.9.16) 中,通常按照官方的tensorflow.org 推荐进行安装。我应该强调的是,我想使用 Tensorflow 2.12,因为使用相应的 Cuda Toolkit 11.8.0,它与 Ada Lovelace GPU(我的情况是 RTX4080)兼容。
当我去训练我的模型时,它给出了以下错误:
"Loaded cuDNN version 8600 Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so : cannot open shared object file: No such file or directory".
Run Code Online (Sandbox Code Playgroud)
有没有什么想法出了问题*?
路径配置如下:
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
Run Code Online (Sandbox Code Playgroud)
使用以下命令搜索引用我的错误的文件:
ldconfig -p | grep libcudnn_cnn但它什么也没返回,所以文件不存在,并且ldconfig -p | grep libcuda返回的地方libcuda.so.1 (libc6,x86-64) => /usr/lib/wsl/lib/libcuda.so.1另外,我尝试设置新的环境变量并将其包含在内,$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh但没有任何运气:
export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
*请注意,导入 Tensorflow 时,我收到以下警告:
TF-TRT Warning: Could not find TensorRTcould not open file to read NUMA node:
/sys/bus/pci/devices/0000:1c:00.0/numa_node Your kernel may have been built without NUMA support.
Run Code Online (Sandbox Code Playgroud)
此外,尝试遵循NVIDIA Documentation for WSL,具体在第 3 节 -> 选项 1 中,但这并不能解决问题。
Roy*_*rot 10
遇到这个问题并经过大量挖掘后找到了可行的解决方案。
首先,缺失libcuda.so可以通过这里提出的方法解决:https://github.com/microsoft/WSL/issues/5663#issuecomment-1068499676
本质上是重建 CUDA lib 目录中的符号链接:
> cd \Windows\System32\lxss\lib
> del libcuda.so
> del libcuda.so.1
> mklink libcuda.so libcuda.so.1.1
> mklink libcuda.so.1 libcuda.so.1.1
Run Code Online (Sandbox Code Playgroud)
(这是在管理员提升的命令提示符 shell 中完成的)
然后,当您遇到丢失设备的问题(毫无疑问您会遇到)时,请通过以下方式解决: https: //github.com/tensorflow/tensorflow/issues/58681#issuecomment-1406967453
归结为:
$ mkdir -p $CONDA_PREFIX/lib/nvvm/libdevice/
$ cp -p $CONDA_PREFIX/lib/libdevice.10.bc $CONDA_PREFIX/lib/nvvm/libdevice/
$ export XLA_FLAGS=--xla_gpu_cuda_data_dir=$CONDA_PREFIX/lib
Run Code Online (Sandbox Code Playgroud)
和
$ conda install -c nvidia cuda-nvcc --yes
Run Code Online (Sandbox Code Playgroud)
(通过 验证ptxas --version)
如果您在 VSCode 远程 WSL 中运行笔记本,那么您需要添加export XLA_FLAGS=--xla_gpu_cuda_data_dir=$CONDA_PREFIX/lib(/$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh无论如何,这是一个很好的做法)
| 归档时间: |
|
| 查看次数: |
7413 次 |
| 最近记录: |