Centos8.1安装NVIDIA显卡驱动及基于docker搭建tensorflow开发环境

一、系统版本及显卡

系统:centos-release-8.1-1.1911.0.8.el8.x86_64

显卡:gtx 960

# 查看系统版本
rpm -q centos-release


# 查看显卡驱动版本
nvidia-smi

二、显卡驱动安装过程

1. 下载驱动

从NVIDIA官网 https://www.geforce.cn/drivers 选择相应的驱动并下载,下载下来是.run文件,我这里选择NVIDIA-Linux-x86_64-440.82.run。

2. 安装依赖

安装显卡驱动需要装三个依赖:gcc、kernel-devel、dkms,kernel-devel的版本需要与当前Linux内核的版本一致,不然后面会出现找不到文件的情况。

# 查看内核版本
[root@myserver ~]# uname -r
4.18.0-147.el8.x86_64

# 查看可以安装的版本:
[root@myserver ~]# yum list | grep kernel-devel
kernel-devel.x86_64           4.18.0-147.el8                  @anaconda
kernel-devel.x86_64           4.18.0-147.8.1.el8_1            @BaseOS

# 安装kernel-devel
[root@myserver ~]# yum -y install kernel-devel


# 安装gcc dkms
[root@myserver ~]# yum -y install gcc dkms

安装dkms时如果出现:Error: Unable to find a match: dkms报错,先安装yum源优先级插件epel-release,安装完之后再安装即可。

yum install epel-release

3. 阻止 nouveau 模块的加载

修改/etc/modprobe.d/blacklist.conf 文件,如果存在blacklist.conf,添加blacklist nouveau,注释掉blacklist nvidiafb;

如果不存在,创建blacklist.conf文件:

echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf

4. 重新建立initramfs image文件

运行下面两条命令之后重启

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak 

dracut /boot/initramfs-$(uname -r).img $(uname -r)

 

5. 安装驱动

给运行文件赋权限,之后运行,注意替换成自己系统到内核版本

chmod u+x NVIDIA-Linux-x86_64-440.82.run
./NVIDIA-Linux-x86_64-440.82.run --kernel-source-path=/usr/src/kernels/4.18.0-147.el8.x86_64

 

安装过程中,选择accept,如果提示要修改xorg.conf,选择yes,安装完成重启即可。

 三、docker搭建tensorflow开发环境

 

  • 宿主机需要安装NVIDIA显卡驱动
  • 宿主机需要安装nvidia-container-runtime

1、安装nvidia-container-runtime

 

参考官方文档安装 Nvidia 容器工具包

 

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

sudo yum install -y nvidia-container-toolkit

sudo systemctl restart docker

2、下载启动Tensorflow容器

官方安装文档:https://tensorflow.google.cn/install/docker

根据需求选择docker镜像,我这里选择:tensorflow/tensorflow:2.0.1-gpu-py3-jupyter

 

docker pull tensorflow/tensorflow:2.0.1-gpu-py3-jupyter
docker run -u $(id -u):$(id -g) --gpus all -it --name tensorflow -p 8888:8888 -v  /home/zs/MachineLearning/tf_data:/tf tensorflow/tensorflow:2.0.1-gpu-py3-jupyter

 也可以通过命令行的方式进入:

docker exec -it tensorflow /bin/bash

在本地浏览器通过8888端口,就能访问容器内jupyter notebook

192.168.0.109:8888?token=342710c6eaf2c07adac2c2e1787b661770313ab3dac812c8

 

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值