如何在ubuntu上使用tensorflow并成功调用GPU,踩了特别多的坑

部署运行你感兴趣的模型镜像

1. 确保安装对应的CUDA Toolkit而不是cudatoolkit

通过 Runfile 安装

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

chmod +x cuda_11.8.0_520.61.05_linux.run
sudo ./cuda_11.8.0_520.61.05_linux.run

运行完以上三条后处出现两个界面

输入accept即可

移动到install 按Enter键

出现这个页面就算安装成功,Driver那里虽然显示没有选择,只要输入

nvidia-smi      # 确认驱动版本与 GPU 状态

显示驱动版本和安装的cuda相对应即可

验证

export PATH="/usr/local/cuda-11.8/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH" 

nvcc -V

输入三条指令后出现cuda 11.8等字符就说明安装成功

注意:conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia

类似这种代码只会安装cudatoolkit并不会安装CUDA Toolkit 并且会安装cuDNN集成到pytorch中,但是tf没办法用,所以必须安装cudnn

2. 安装cuDNN

https://developer.nvidia.com/rdp/cudnn-archive
官网下载

会有好多选项,一般时选择Linux x86_64

然后cd到下载的位置 /mnt/c/Users/Administrator/Desktop(注意要改成ubuntu对应的路径)

使用sudo tar -xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz解压后

sudo cp /mnt/c/Users/Administrator/Desktop/cudnn-linux-x86_64-8.7.0.84_cuda11-archive/include/* /usr/local/cuda-11.8/targets/x86_64-linux/include/

sudo cp /mnt/c/Users/Administrator/Desktop/cudnn-linux-x86_64-8.7.0.84_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/targets/x86_64-linux/lib/

从cuDNN的两个地址copy到cuda-11.8下两个地址,注意cuda不同版本lib和include地址可能不同,多找一找

3. 安装tensorflow

从2.10开始,tf不支持在win上调用GPU,所以只能用ubuntu(我的是wsl+ubuntu),并且从2.10.0开始不存在tensorflow[gpu],cpu和gpu都是tensorflow

pip install tensorflow=2.12.0

在终端输入

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))  # 应返回 GPU 设备列表

列表中包含GPU则代表可以正常使用

4. 通过 .bashrc 文件永久配置地址

当下次打开终端输入nvcc -V时发现没有出现cuda 11.8

需要重新输入

export PATH="/usr/local/cuda-11.8/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH" 

才可以

可以通过下面的方法,永久配置

nano ~/.bashrc

找到.bashrc文件地址

在记事本中打开并在末尾添加并保存下面两个指令

export PATH="/usr/local/cuda-11.8/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH" 

在终端输入source ~/.bashrc

之后每次打开新终端时,环境变量会自动加载

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值