如何安装正确版本的 Tensorflow、cuda、cuDNN 和 TensorRT

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

这里是新手, 我有一个

NVIDIA GeForce GTX 1650 Ti
ubuntu-22.0.4 LTS 机器,安装了 Nvidia 驱动程序版本
530.41.03
。 这个版本的驱动程序建议我应该在系统上使用 cuda 12.1,首先我从 nvidia 网站 安装 cuDNN 8.6.0 从这个 website 加上 TensorRT

我用命令测试了所有库

nvidia-smi, nvcc --version

一切似乎都安装好了。

使用

pip install tensorflow=2.12
安装 TensorFlow 后,我得到了预期的错误,
could not find cuda drivers ...

长话短说,我也用过 pipenv,失败了,然后我卸载了所有东西,只剩下 nvidia 驱动程序,然后我访问了这个site 安装 tensorflow、cuda、cudnn 包,这给了我希望。 我用命令测试:

import re
import tensorflow as tf

# Check if GPU is available
print("GPU available:", tf.config.list_physical_devices("GPU"))

# Check TensorFlow's GPU device name
device_name = tf.test.gpu_device_name()
print("TensorFlow GPU device name:", device_name)

# Check if TensorFlow is using CUDA
print("TensorFlow is using CUDA:", tf.test.is_built_with_cuda())

# Get CUDA version
cuda_version = re.search(r"[\d.]+", device_name).group()
print("CUDA version:", cuda_version)

除了 cuda 版本,我得到了预期的结果。

然而,当我到达

model.fit()

的地步时,我无法训练我的模型

我一直收到这个错误

[truncted]
Epoch 1/100
2023-05-15 14:05:33.551569: I tensorflow/compiler/xla/service/service.cc:169] XLA service 0x7f2378ae98f0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2023-05-15 14:05:33.551598: I tensorflow/compiler/xla/service/service.cc:177]   StreamExecutor device (0): NVIDIA GeForce GTX 1650 Ti, Compute Capability 7.5
2023-05-15 14:05:33.556902: I 
...
tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/gpu_backend_lib.cc:274] libdevice is required by this HLO module but was not found at ./libdevice.10.bc
2023-05-15 14:05:33.978597: W tensorflow/core/framework/op_kernel.cc:1830] OP_REQUIRES failed at xla_ops.cc:362 : INTERNAL: libdevice not found at ./libdevice.10.bc

此外,我不得不将这一行添加到我的笔记本

import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'

但是由于 conda 的错误,我无法通过 1/100 纪元,尽管我无法使用 pipenv 做到这一点

请帮助并建议我如何克服这个问题

我尝试从下面的选项中搜索和更改 LIBDEVICE 的路径,但失败了 搜索路径:

find / -name libdevice.10.bc 2>/dev/null
/home/alpha/miniconda3/envs/Third/lib/libdevice.10.bc
/home/alpha/miniconda3/pkgs/cudatoolkit-11.8.0-h37601d7_11/lib/libdevice.10.bc
/home/alpha/miniconda3/pkgs/cudatoolkit-11.8.0-h6a678d5_0/lib/libdevice.10.bc

变化

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib:/home/alpha/miniconda3/envs/Third/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

import os

os.environ['LIBDEVICE_PATH'] = '/home/alpha/miniconda3/envs/Third/lib/libdevice.10.bc'
# or
os.environ['LIBDEVICE_PATH'] = '/home/alpha/miniconda3/pkgs/cudatoolkit-11.8.0-h37601d7_11/lib/libdevice.10.bc'
# or
os.environ['LIBDEVICE_PATH'] = '/home/alpha/miniconda3/pkgs/cudatoolkit-11.8.0-h6a678d5_0/lib/libdevice.10.bc'

# Rest of  code
model.fit(x_train, y_train, epochs=100)
tensorflow cuda conda nvidia
© www.soinside.com 2019 - 2024. All rights reserved.