ubuntu配置用户,添加vnc桌面,配置TensorFlow PyTorch GPU环境

搞深度学习的同学肯定一直都在跟ubuntu服务器打交道,无论创建用户,配置远程桌面,远程调试,配置TF或者PT的GPU环境等等,很多都是重复繁琐的步骤,还有可能各种踩坑,笔者就把的一些配置经验整理一下分享给各位。

1 英伟达驱动安装

拿到一台新的ubuntu服务器,首先安装一下英伟达驱动,建议去官网下载对应GPU版本的驱动文件。这一步我不赘述,很多关于驱动安装的帖子。
安装好显卡驱动之后通过nvidia-smi可以看到驱动版本和CUDA版本,GPU各种详细信息。

nvidia-smi

ubuntu配置用户,添加vnc桌面,配置TensorFlow PyTorch GPU环境_第1张图片

2 关于CUDA 和CUDNN

我使用GPU环境主要还是为了使用TensorFlow或者PyTroch,我们配合Anaconda安装cudatoolkit和cudnn就不需要在系统层面手动安装cuda和cudnn了。所以这步不需要。

3 创建用户并添加到sudo组

sudo adduser xxx

sudo usermod -aG sudo xxx

# 删除用户
sudo userdel xxx
# -r 表示删除/home/xxx文件夹
sudo userdel -r xxx 

4 安装vnc4server xfce4

有时候一个单独的ssh黑窗口还是不能完全满足需求,这就需要用到远程桌面了。选择vnc4server和xfce4的组合。

(1) 安装vnc4server xfce4

sudo apt-get install xfce4 xfce4-goodies vnc4server

(2) 启动一次vnc4server,会提示设置密码

第一次默认启动5901端口

vnc4server

ubuntu配置用户,添加vnc桌面,配置TensorFlow PyTorch GPU环境_第2张图片
(3) 关闭5901端口的远程桌面

# 关闭5901 , 默认以5900开始 :n 即为5900+n
vnc4server  -kill :1

(4) 配置vnc,并重新启动带有xfce4的桌面环境

# 打开vnc启动配置文件,替换内容 vim:dd删除某一行
vim ~/.vnc/xstartup

替换为如下内容

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

重启一个vnc4server端口

# 以1920 x 1080分辨率启动在5905端口
vnc4server -geometry 1920x1080 :5

(5) 使用vnc桌面客户端连接,如Remmina、Vnc Viewer
ubuntu配置用户,添加vnc桌面,配置TensorFlow PyTorch GPU环境_第3张图片连接成功:
ubuntu配置用户,添加vnc桌面,配置TensorFlow PyTorch GPU环境_第4张图片

5 安装Anaconda

到官网下载Anaconda安装包并安装,例如:

bash Anaconda3-2020.07-Linux-x86_64.sh

6 利用Anaconda创建TensorFlow或PyTorch GPU虚拟环境

使用anaconda安装cudatoolkit和cudnn不需要我们在系统层上安装cuda,只需要保证这里安装的cuda是显卡驱动支持的版本就行,这样,我们可以在不同的虚拟环境中用不同的cudatoolkit版本,比如9.0 9.2 8.0 10.0都可以,个人觉得十分方便。

以pytorch为例

conda create -n PT python=3.6

conda activate PT

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

测试pytorch gpu环境是否可用

python -c "import torch;print(torch.cuda.is_available())"

# 打印True表示没问题

你可能感兴趣的:(配置类,linux,ubuntu,cuda,python)