【深度学习】fast.ai远程jupyter服务器配置(GPU)

022 【深度学习】fast.ai远程jupyter服务器配置(GPU)
这个笔记基于fast.ai第一节课前12分钟的内容,其中说到了在paperspace上租用远程服务器,然后本地打开jupyter notebook。但是其中一些地方说得不清楚,我踩了不少坑,现在把整个流程记录一下。

目的

在远程服务器上配置好jupyter后,我们可以在本地的浏览器上直接使用,交互性好高。尤其对于深度学习用户来说,这样更方便使用GPU。

注册服务器

这里使用的服务器是paperspace,注册的话可以使用这个链接,这样的话同时分享者和注册者都能有10$的奖励:paperspace注册

注册之后登录,进入Machine,点击NEW MACHINE。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第1张图片
image.png

配置的话,选择EAST COAST,Ubuntu 16.04。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第2张图片

GPU选择最便宜的即可


【深度学习】fast.ai远程jupyter服务器配置(GPU)_第3张图片

内存大小根据自己的需求选择大小,50G基本就够用了,怕不够的话可以选100G,也不贵。下面的Options中,取消Auto Snapshot,选中Public IP。必须有public ip,这样本地才能访问服务器。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第4张图片

之后填写信用卡信息(这个必须有),下面的优惠码填写:FASTAI3BDG,会有15$的奖励。结束后点击右边的CREATE YOUR PAPERSPACE。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第5张图片

下面显示ready,表示创建成功。点击图标进入服务器的终端,paperspace有提供网页版终端,使用还是比较方便的。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第6张图片

fast.ai 环境配置

在终端输入:curl http://files.fast.ai/setup/paperspace | bash。这个命令会自己安装fast.ai课程中用到的python环境和数据,我们就不需要自己配置了。这个过程比较漫长,等全部结束后,重新启动一下远程服务器,方便我们使用GPU。重启按钮就在页面上。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第7张图片
image.png

jupyter notebook配置

进入服务器端的terminal,输入jupyter notebook --generate-config,这个命令会创建一个配置文件,路径为~/.jupyter/jupyter_notebook_config.py.

这里我直接覆盖了原先的配置文件,相当于把原来的配置文件格式化了。接着在terminal输入:jupyter notebook password。按提示输入密码。这里我输入happy作为密码。


提示说这个密码已经写到jupyter_notebook_config.json这个文件里了。这个密码我们要在之后用到,所以查看一下密码是什么:


可以看到密码是: sha1:4693716e5ce7:143967349efff46b606cc34f68a78c55b5b9feb8

创建证书:

mkdir cert
cd cert
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem

然后使用vi直接编辑jupyter_notebook_config.py文件,下面是我的设定内容:

# Set options for certfile, ip, password, and toggle off
# browser auto-opening
c.NotebookApp.certfile = u'/home/paperspace/cert/mycert.pem'
c.NotebookApp.keyfile = u'/home/paperspace/cert/mykey.key'
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:4693716e5ce7:143967349efff46b606cc34f68a78c55b5b9feb8'
c.NotebookApp.open_browser = False

# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999

我们把port固定为9999,即每次使用jupyter,都用这个端口。如果想要在本地的browser上访问jupyter服务器,还需要UFW来允许我们访问端口,在terminal输入,9999表示我们上面设定的端口。

sudo ufw allow 9999

完活了!

下面在远程终端启动jupyter:


之后我们在本地的chrome浏览器上就可以打开jupyter了,在浏览器中输入下面的url:

https://[your public IP]:[your port]

第一次登陆的话,可能提示说不安全,点击高级,继续访问。然后输入密码,这里的密码是我们之前设定的happy。之后就能正常访问jupyter服务器了。

【深度学习】fast.ai远程jupyter服务器配置(GPU)_第8张图片

你可能感兴趣的:(【深度学习】fast.ai远程jupyter服务器配置(GPU))