一、Ubunutu20.4系统设置root登录及密钥登录
1、进入服务器主界面,将系统更换为Ubuntu20.4
https://console.cloud.tencent.com/cvm/instance/index?rid=4&ProjectId=0&pid=0
2、在Git官网下载Git并安装,然后执行以下命令,生成ssh密钥,此操作在本机上执行。
代码语言:text复制-- 设置Git用户名和邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱"
-- 生成ssh密钥
ssh-keygen -t rsa -C "邮箱"
之后一直回车,全部默认,不需要设置其他内容
然后将C:UsersPanYiFan.ssh下的id_rsa.pub使用记事本打开,复制里面的内容。
3、在云服务界面,选择SSH密钥-->创建密钥-->导入已有密钥,自定义名称,然后将复制到密钥粘贴到公钥里面,之后点击确定。
4、选择实例-->更多操作-->密码/密钥-->加载密钥,选择刚才所加的密钥,然后一直默认,确认前选择同意重启服务器,之后点击确定。
5、复制公网IP,使用SSH连接工具连上服务器,登录需要选择使用Ubuntu用户登录。
6、
代码语言:shell复制ubuntu@master:~$ sudo passwd
New password:
Retype new password:
passwd: password updated successfully
登录到root
ubuntu@master:~$ su
root@master:/home/ubuntu# vim /etc/ssh/sshd_config
进入vim后,录入[:set nu],显示出来行号
将第33行改为yes,如下
#PermitRootLogin prohibit-password
33 PermitRootLogin yes
之后按esc,:wq保存
root@master:/home/ubuntu# service ssh restart
然后设置root的用户的免密登录密钥
代码语言:txt复制root@master:/home/ubuntu# vim /root/.ssh/authorized_keys
然后将刚才生成的公钥复制到这个地方
最后依次按esc,:wq保存退出。
然后最后退出远程软件,验证是否可以直接root登录
二、安装Docker
step 1: 安装必要的一些系统工具
代码语言:txt复制 sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
step 2: 安装GPG证书,写入软件源信息
代码语言:txt复制sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Step 3: 更新并安装Docker-CE
代码语言:txt复制 sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
三、安装TensorFlow
1、设置 NVIDIA 容器工具包,官网
1、设置包存储库和 GPG 密钥:
代码语言:txt复制$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list |
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' |
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
2、更新包列表后安装nvidia-docker2
包(和依赖项):
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
3、设置默认运行时后重启 Docker 守护进程完成安装:
代码语言:txt复制$ sudo systemctl restart docker
4、此时,可以通过运行基本 CUDA 容器来测试工作设置:
代码语言:txt复制$ sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
5、这应该会产生如下所示的控制台输出:
代码语言:txt复制 -----------------------------------------------------------------------------
| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 |
|------------------------------- ---------------------- ----------------------
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=============================== ====================== ======================|
| 0 Tesla T4 On | 00000000:00:1E.0 Off | 0 |
| N/A 34C P8 9W / 70W | 0MiB / 15109MiB | 0% Default |
| | | N/A |
------------------------------- ---------------------- ----------------------
-----------------------------------------------------------------------------
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
-----------------------------------------------------------------------------
2、下载 TensorFlow Docker 映像
官方 TensorFlow Docker 映像位于 tensorflow/tensorflow Docker Hub 代码库中。映像版本按照以下格式进行标记:
标记 | 说明 |
---|---|
| TensorFlow CPU 二进制映像的最新版本。(默认版本) |
| TensorFlow 映像的每夜版。(不稳定) |
| 指定 TensorFlow 二进制映像的版本,例如:2.1.0 |
| TensorFlow |
| 用于开发 TF 自定义操作的特殊实验性映像。详见此处。 |
每个基本标记都有会添加或更改功能的变体:
标记变体 | 说明 |
---|---|
| 支持 GPU 的指定标记版本。(详见下文) |
| 针对 Jupyter 的指定标记版本(包含 TensorFlow 教程笔记本) |
您可以一次使用多个变体。例如,以下命令会将 TensorFlow 版本映像下载到计算机上:
代码语言:shell复制docker pull tensorflow/tensorflow # latest stable release
docker pull tensorflow/tensorflow:devel-gpu # nightly dev release w/ GPU support
docker pull tensorflow/tensorflow:latest-gpu-jupyter # latest release w/ GPU support and Jupyter
3、启动 TensorFlow Docker 容器
要启动配置 TensorFlow 的容器,请使用以下命令格式:
代码语言:txt复制docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command]
有关详情,请参阅 docker 运行参考文档。
4、使用仅支持 CPU 的映像的示例
我们使用带 latest
标记的映像验证 TensorFlow 安装效果。Docker 会在首次运行时下载新的 TensorFlow 映像:
docker run -it --rm tensorflow/tensorflow
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
成功:TensorFlow 现已安装完毕。请查看教程开始使用。
我们来演示更多 TensorFlow Docker 方案。在配置 TensorFlow 的容器中启动 bash
shell 会话:
docker run -it tensorflow/tensorflow bash
在此容器中,您可以启动 python
会话并导入 TensorFlow。
如需在容器内运行在主机上开发的 TensorFlow 程序,请装载主机目录并更改容器的工作目录 (-v hostDir:containerDir -w workDir
):
docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py
向主机公开在容器中创建的文件时,可能会出现权限问题。通常情况下,最好修改主机系统上的文件。
使用每夜版 TensorFlow 启动 Jupyter 笔记本服务器:
代码语言:txt复制docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-jupyter
按照说明在主机网络浏览器中打开以下网址:http://127.0.0.1:8888/?token=...
5、GPU 支持
Docker 是在 GPU 上运行 TensorFlow 的最简单方法,因为主机只需安装 NVIDIA® 驱动程序,而不必安装 NVIDIA® CUDA® 工具包。
安装 Nvidia 容器工具包以向 Docker 添加 NVIDIA® GPU 支持。nvidia-container-runtime
仅适用于 Linux。有关详情,请参阅 nvidia-container-runtime
平台支持常见问题解答。
检查 GPU 是否可用:
代码语言:txt复制lspci | grep -i nvidia
验证 nvidia-docker
安装效果:
docker run --gpus all --rm nvidia/cuda nvidia-smi
注意:nvidia-docker
v2 使用 --runtime=nvidia
,而不是 --gpus all
。nvidia-docker
v1 使用 nvidia-docker
别名,而不是 --runtime=nvidia
或 --gpus all
命令行标记。
6、使用支持 GPU 的映像的示例
下载并运行支持 GPU 的 TensorFlow 映像(可能需要几分钟的时间):
代码语言:shell复制docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
设置支持 GPU 的映像可能需要一段时间。如果重复运行基于 GPU 的脚本,您可以使用 docker exec
重复使用容器。
使用最新的 TensorFlow GPU 映像在容器中启动 bash
shell 会话:
docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash