Anaconda/notebook 远程服务器使用
- https://docs.anaconda.com/anaconda/install/linux/
- https://jupyter.org/install
- https://blog.csdn.net/kunlong0909/article/details/52464495
- https://towardsdatascience.com/jupyter-lab-evolution-of-the-jupyter-notebook-5297cacde6b
需求分析
不知道读者们有没有发现,如果你用 Anaconda 中的 Notebook 的话,有时想快速调试几行程序,这时打开 Notebook 每次都得好一会,而且会占用了不少的本地资源,这时要是有一个远程的 Notebook,想用的时候随时打开,而且又不用考虑占用本地的计算资源,那该有多好。
工具:一台服务器(带 GPU 的更好,还可以进行远程训练)、Xshell 软件
PS:笔者之前购买了一台腾讯云的服务器,所以就用它来进行演示。
安装Anaconda
下载Anaconda安装包
浏览器打开 https://www.anaconda.com/distribution/#linux 选择 Linux 3.7 版本的软件包,复制链接地址,使用 wget 命令进行下载。(笔者服务器的系统是Ubuntu)

wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
这样就下载了一个 Anaconda3-2020.02-Linux-x86_64.sh 文件
SHA256验证
SHA256验证,主要是来验证所下载的软件包是否完整,防止文件内容被篡改,验证的方法是运行下面命令,会出现一串字符
sha256sum Anaconda3-2020.02-Linux-x86_64.sh

然后到 https://docs.anaconda.com/anaconda/install/hashes/ 找到对应的版本,点击进去就会看见 sha256 码,一般是和你终端输出的字符串是一致的就说明下载的软件包没有问题。

安装
运行命令安装
bash Anaconda3-2020.02-Linux-x86_64.sh

一直回车到底,到最后输入一个 yes 确认同意协议

安装位置确认 ,回车默认好啦

开始解压安装

出现 “Do you wish the installer to initialize Anaconda3 by running conda init?”,输入 yes 回车

安装成功

运行 source ~/.bashrc 生效

安装JupyterLab
JupyterLab 是 Jupyter Notebook 的下一代产品,集成了更多功能。如果你租过别人的远程服务器的话,那么你会发现,现在很多都是 JupyterLab 居多。所以,我们也使用 JupyterLab 来作为我们的开发界面
# conda 安装conda install -c conda-forge jupyterlab# 或者 pip 安装pip install jupyterlab

配置远程访问
既然要进行远程访问开发,那么就需要进行配置
生成验证字符
终端运行 ipython 并运行一下命令,设置密码即可,然后会生成一串字符,待会需要用到
In [1]: from notebook.auth import passwdIn [2]: passwd()Enter password:Verify password:Out[2]: 'sha1:2af47044eb4d:f7c917997d5a91bdeeb4a4a1cab7266b844c94bb'

生成配置文件
jupyter lab --generate-config

修改配置
修改配置文件的几处地方(修改的时候记得将前面的 # 删除),笔者是下载到本地后修改后再上传到服务器的
- 将ip设置为*,意味允许任何IP访问

- 这里的密码就是上边我们生成的那一串

服务器上并没有浏览器可以供Jupyter打开,所以设置成 False

监听端口设置为8888或其他自己喜欢的端口

允许远程访问

我们把工作空间设置在 /home/ubuntu/code 下面所以进入到该路径下运行 jupyter lab --allow-root 即可使用

为了让程序在后台运行,我们可以使用 tmux 工具(可以后台运行的工具)
apt install tmux # 安装 tmux 工具tmux -S jupyterlab # 启动一个窗口,关闭后程序仍然可以在后台运行jupyter lab --allow-root # 运行我们所要的程序
关闭终端窗口,完成!!
在浏览器中输入 ip:8888 输入密码即可看到以下的窗口

远程可视化
大家在训练深度学习模型的时候,往往需要对指标进行可视化,其中 Tensorboard 就是一款不错的工具,下面就给大家演示如何在本地显示远程服务器的可视化结果。
首先运行一个演示程序
from torch.utils.tensorboard import SummaryWriterimport numpy as npwriter = SummaryWriter()for n_iter in range(100):writer.add_scalar('Loss/train', np.random.random(), n_iter)writer.add_scalar('Loss/test', np.random.random(), n_iter)writer.add_scalar('Accuracy/train', np.random.random(), n_iter)writer.add_scalar('Accuracy/test', np.random.random(), n_iter)
在 Xshell 进行以下设置

然后运行 tensorboard --logdir runs/

最后在本地的浏览器输入 http://localhost:6006/ 极客看到可视化效果了

