腾讯云服务器Linux机器学习初学环境配置指南
本文最后更新于 2024年1月27日 下午
腾讯云服务器Linux机器学习初学环境配置指南
服务器选购
腾讯云服务器对学生有首次购买优惠,对比华为云和阿里云,性价比相对更高。矩池云的学生优惠力度也比较大,但是学生优惠只能按照运行时间(卡时)计费,包月价格仍然较贵。
在如下页面:https://cloud.tencent.com/act/campus
购买学生服务器,购买之前需要在腾讯云个人账户信息页面完成实名认证。需要注意的是,每个学生账号对每类商品只能享受一次优惠,因此推荐购买时长较长(三个月或者包年)的配置。
点击购买后会弹出窗口选择配置,此处选择的操作系统为Ubuntu Server 18.04,配置如下图所示:
完成购买后,页面会自动跳转到控制台,选择刚才购买的服务器实例,对其开机后,点击右侧登陆即可进入该服务器内部。
点击登陆后有可能要求扫码登陆服务器,浏览器可能会拦截弹出的服务器实例窗口。
在弹出的服务器实例登陆窗口中,填写密码(购买服务器后密码在个人中心的消息中查看)
登陆后即可进入Ubuntu的bash界面:
Ubuntu 环境配置
apt
首次使用apt-get
时可能会出现如下报错: 1
>> Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
1
2sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/locksudo apt-get upgrade
命令更新apt源了,腾讯云服务器的Linux实例默认使用的apt源为腾讯云Linux镜像,因此无需进行换源操作。
在Linux中可以使用apt安装包管理程序安装应用,比如下载firfox浏览器:
1
sudo apt-get install firfox
1
2
3
4
5
6
7
8sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt install apt-transport-https
sudo apt update
sudo apt install code
gnome图形界面配置
虽然腾讯云支持直接使用VNC登陆,但是如此gnome可能会与Nvidia GPU驱动中自带的OpenGL冲突导致无法启动,推荐使用VNC软件连接。
安装gnome依赖库
初学者可能对Linux无图形界面的bash命令行感到陌生,可以安装gnome实现图形界面进行人机界面交互,基础版的gnome桌面需要使用apt下载如下两个包:
1
2sudo apt-get install ubuntu-desktop
sudo apt-get install gnome
1
sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop
配置VNC
在Ubuntu实例的bash中下载VNC:
1
sudo apt-get install vnc4server
1
sudo apt-get install vnc4server
使用VIM编辑VNC的配置文件:
1
vi ~/.vnc/**xstartup**
1
2
3
4
5#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
保存之后结束掉当前的VNC服务进程,然后重启桌面进程,
geometry
之后的参数为屏幕分辨率。
1
2vncserver -kill :1
vncserver -geometry 1920x1080
本机VNC软件设置
在本机上访问网站:https://www.realvnc.com/en/connect/download/viewer/,选择合适的操作系统下载VNC
Viewer安装包并在本机上安装。
在 VNC Viewer 软件中,输入 云服务器的公网IP地址:1,按 Enter。
在弹出的提示框中点Continue后输入之前设置的VNC的密码,单击OK后就可以使用图形化界面了。
设置本地账户
在gnome桌面的开箱设置中可以注册一个本地账户。
或者在bash终端中使用如下命令创建一个用户:
1
2
3sudo useradd -r -m -s /bin/bash userName #-r:建立系统账号;-m:自动建立用户的登入目录;-s:指定用户的默认使用shell
sudo passwd userName #根据提示输入新用户的密码即可
ls /home #出现新用户的目录说明创建成功su xxx
(xxx
是用户名)切换到该本地用户,此后的操作都在该本地账户上进行。
安装英伟达GPU驱动
检查依赖和环境
执行如下命令检查系统中是否已经安装dkms: 1
dpkg -l | grep -i dkms
>> ii dkms... Dynamic Kernel Module Support Framework
消息则表示安装成功,否则需要使用sudo apt-get install dkms
安装dkms。
执行如下命令检查系统中是否已经安装gcc和linux-kernel-headers:
1
2dpkg -l | grep -i gcc
dpkg -l | grep -i linux-headerssudo apt-get install gcc linux-kernel-headers
安装这两个包。
下载并安装驱动
在自己的电脑上前往英伟达官方驱动下载页面:Download Drivers 选择对应的产品和驱动。
当出现以下页面时,右键单击 AGREE&DOWNLOAD 并选择菜单中的复制链接地址。如下图所示:
使用wget
下载这个驱动(需要把链接最后的&lang=us&type=Tesla
删除,xxx
是下载的驱动的版本号):
1
wget https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/tesla/xxx.xxx/NVIDIA-Linux-x86_64-xxx.xxx-diagnostic.run
xxx
是下载的驱动的版本号):
1
chmod +x NVIDIA-Linux-x86_64-xxxx.run
--disable-nouveau --no-install-libglvnd
关闭veau验证等等:
1
sudo sh NVIDIA-Linux-x86_64-xxxx.run --ui=none --disable-nouveau --no-install-libglvnd --dkms -s
nvidia-smi
验证结果,出现下图则表示安装成功。
cudnn安装
英伟达在Linux版本的驱动内自带了CUDA,理论上是不需要自己安装CUDA的,因此直接开始安装cudnn。
需要注意的是,CUDA有两个API版本,一个是用nvidia-smi
查询到的驱动API(driver
API),另一个是可以用nvcc -V
查询到的运行API(runtime
API)。CUDA,cudnn,tensorflow-gpu的版本对应是针对于运行API而言的。
在Ubuntu实例中打开firfox浏览器(可以通过Ubuntu
gnome的应用商店或者apt-get install firfox
下载安装),并下载cudnn。
CUDA版本对应的cudnn可以在英伟达官网:https://developer.nvidia.com/rdp/cudnn-archive
上查询并且下载,但是需要注册英伟达开发者账号。
清华大学开源软件镜像站的Anaconda镜像中也包含了CUDA对应版本的cudnn,无需注册英伟达开发者账号即可下载.bz2
格式的压缩包:清华大学开源软件镜像站-Anaconda-Linux-64
。
通过firfox浏览器下载好的cudnn会储存在/home/username/Downloads/
文件夹下。打开文件浏览器访问这个目录,找到该压缩包并且解压。
然后将cudnn文件夹中的cudnn.h
文件复制到/usr/local/cuda/include/
文件夹下,并修改权限:
1
2sudo cp /usr/include/cudnn.h /usr/local/cuda/include
sudo chmod a+x /usr/local/cuda/include/cudnn.h1
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Tensorflow 安装
安装Git
使用apt-get
命令安装Git:
1
sudo apt-get install git
1
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3
在Github上找到对应的Bazel版本后,在Bash中使用wget下载
(<version>
是版本号),并执行如下命令:
1
2
3
4
5
6
7
8wget https://github.com/bazelbuild/bazel/releases/download/<version>/bazel-<version>-installer-linux-x86_64.sh #从Github上下载对应安装包
ls -l ./bazel-x.x.x-installer-linux-x86_64.sh
chmod a+x ./bazel-<version>-installer-linux-x86_64.sh
ls -l ./bazel-<version>-installer-linux-x86_64.sh
# 上述操作会将Bazel安装包解压到$HOME/bin处
# 运行安装程序
chmod +x bazel-<version>-installer-linux-x86_64.sh
./bazel-<version>-installer-linux-x86_64.sh --userBazel is now installed!
表明Bazel安装成功。
然后将Bazel添加到环境变量中,用VIM打开bashrc:
1
vim ~/.bashrc
1
export PATH="/home/yourname/.bazel/bin:$PATH"
:wq
保存退出。
执行如下命令让.bashrc生效:
1
source ~/.bashrc
bazel version
即可查看bazel版本。
使用PiP安装
检查Python开发环境
在Bash中使用如下指令检验Python和PiP的版本:
1
2python3 --version
pip3 --version
安装 TensorFlow pip 软件包
使用pip install
命令安装Tensorflow(<version>
是要指定安装的版本号):
1
pip install tensorflow-gpu==<version>
1
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"