Ubuntu系统快速搭建Tensorflow+CUDA

摸索了两天两夜之后终于成功了,先上图

踩了无数坑,花费了大量时间装包卸包、重启系统、重装系统 ......因此,把摸索出来的正确步骤分享出来,供大家参考。

1. 软硬件要求

硬件:NVIDIA显卡

软件:Ubuntu18.04 LTS 或 Ubuntu20.04 LTS (我都测试过)

2. 安装显卡驱动(nvidia-driver-xxx)

如果在终端输入

nvidia-smi

后可以正常现实显卡信息,则可以跳过此步骤。否则,根据显卡型号,在NVIDIA官网

NVIDIA显卡驱动网站

找到对应的版本进行下载,例如,我的机器对应的驱动是NVIDIA-Linux-x86_64-550.100.run,用浏览器下载默认放在  ~/下载/ 路径里。下载完后,运行

sudo ./下载/NVIDIA-Linux-x86_64-550.100.run

然后按照提示进行安装,都选择yes即可。安装完后,用nvidia-smi命令测试可以成功显示显卡信息。

  • 注释1:如果仍然没有成功显示,可以先退出终端,然后重新打开进行测试。如果还不行,则重启机器即可。
  • 注释2:nvidia-smi命令得到的CUDA Version信息仅仅表示当前驱动能支持的CUDA Toolkit的最高版本,不代表已经安装了CUDA Toolkit

3. 安装CUDA(即CUDA Toolkit xxx)

安装前应根据编程需求先确定拟采用的tensorflow版本,然后找到匹配的cuda toolkit版本。例如,我要采用tensorflow==2.11.0版本,它不是较新的版本,那么可能不支持cuda toolkit 12.x系列。由此,我们判断出应安装cuda toolkit 11.x。

事实也的确如此,我安装了cuda toolkit 12后发现与tensorflow 2.11不匹配。所以又卸载重来,踩了很多坑!

为了安装cuda toolkit 11.x,首先访问NVIDIA网站

各个版本的CUDA Toolkit

我们选择11系列中的最高版本CUDA Toolkit 11.8,然后找到相应的命令并依次执行

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin

sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu1804-11-8-local_11.8.0-520.61.05-1_amd64.deb

sudo dpkg -i cuda-repo-ubuntu1804-11-8-local_11.8.0-520.61.05-1_amd64.deb

sudo cp /var/cuda-repo-ubuntu1804-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/

sudo apt-get update

sudo apt-get -y install cuda-11-8

这里需要特别注意的是,最后一行命令是我修改过的,而官网上给出的命令是sudo apt-get -y install cuda。经过测试,如果用官网的命令,则apt-get会自动把cuda toolkit 12系列的版本安装上,导致失败。所以一定要加上版本限定。

4. 重启与测试

安装完cuda toolkit后,一定要重启一下机器。然后用命令

nvidia-smi

nvcc -V

进行测试,如果都能正常显示则表明已安装成功。如果nvcc -V显示找到命令,那么说明之前没有配置过环境变量,此时打开 ~/.bashrc 文件

sudo vi ~/.bashrc 

在文件末尾添加两个语句

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

然后在命令行输入

source ~/.bashrc

即可完成环境配置,此时再运行nvcc -V命令即可正确显示。

最后,在安装了tensorflow的环境中,运行

import tensorflow as tf

tf.constant([1,2])

tf.config.list_physical_devices('gpu')

来测试tensorflow是否与cuda匹配。

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值