如何在AWS GPU上运行Jupyter noterbook?

本文将指导你逐步在 AWS GPU 实例上运行深度学习 Jupyter notebook,并可在你的浏览器中从任何地方对其编辑。

本文将指导你逐步在 AWS GPU 实例上运行深度学习 Jupyter notebook,并可在你的浏览器中从任何地方对其编辑。

本文将指导你逐步在 AWS GPU 实例上运行深度学习 Jupyter notebook,并可在你的浏览器中从任何地方对其编辑。如果你的本地机器上没有 GPU,这将会是一个研究深度学习的理想设置。

一、什么是 Jupyter noterbook?为什么要在 AWS GPU 上运行 Jupyter notebook?

Jupyter notebook 是一个网页应用程序,允许你以交互的方式编写并注释 Python 代码。这是一种做试验,做研究,并分享工作内容的有效方法。了解什么是 notebook 请点击这里(链接:http://suo.im/4Em4IR)。

许多深度学习应用的计算非常密集,且在笔记本的 CPU 内核上运行通常需要耗费几个小时甚至是几天。如果把一个现代的 CPU 换成 GPU,训练和推理的速度可提升 5 到 10 倍。但是,你可能无法在本地计算机上安装 GPU。在 AWS 运行 Jupyter notebook 可以给你在本地计算机上运行时的相同体验,同时允许你利用 AWS 上的一个或多个 GPU。如果你只是偶尔使用深度学习,相比投资专有的 GPU,Jupyter notebook 更为有利,你只需支付所用的东西。

二、为什么我不想在 AWS 上使用 Jupyter 进行深度学习?

AWS GPU 实例的价格可以迅速变贵。我们建议的使用价格是每小时 0.9 美元。这个价格偶尔使用还可以接受,但是如果你每天都要进行几个小时的实验,那么你***搭建配备 Titan X 或者 GTX 1080 Ti 的专属深度学习机。

1. 开始之前注意:

  • 你需要一个激活的 AWS 账户
  • 如果你对 AWS EC2 有所了解会有帮助,但并不必须

搭建需要花费 5 到 10 分钟的时间。

2. 分步指南

(1) 导航至 EC2 控制面板,并点击「启动实例」链接。

导航至 EC2 控制面板

(2) 选择官方 AWS 深度学习 Ubuntu AMI

选择「AWS 市场」并在搜索框中搜索「深度学习」。

选择官方 AWS 深度学习 Ubuntu AMI

向下滚动,直到找到名为「深度学习 AMI Ubuntu 版本」的 AMI(如下图),并选择它。

「深度学习 AMI Ubuntu 版本」的 AMI

(3) 选择 p2.xlarge 实例

该实例类型提供对单个 GPU 的访问,并且每小时的使用成本为 0.9 美元(截至 2017 年 3 月)。点击「配置实例细节」:

选择 p2.xlarge 实例

(4) 配置实例细节

你可以为「配置实例」、「添加存储」和 「添加标签」等步骤保留默认设置。但是我们将自定义步骤「配置安全组」。

创建一个自定义 TCP 规则以允许 8888 端口。

在你当前的公共 IP(例如你的笔记本电脑的 IP),或者在前者不可能的情况下,对于任意 IP,该规则都被允许。请注意,如果你允许任意 IP 均可接入端口 8888,则理论上任何人都可以收听你的实例上的那个端口(这是我们将运行 IPython notebook 的地方)。我们将为笔记本电脑添加密码保护,以便降低任意人员都可以对其进行修改的风险,但这也许是较弱的保护。如果可能的话,你应该考虑限制特定 IP 的访问。但是,如果你的 IP 地址不断更改,这不太实际。如果你打算对任意 IP 开放接入端,请记住不要在实例上留下任何敏感数据。

创建一个自定义 TCP 规则以允许 8888 端口

在启动过程结束时,系统将会询问你是否要创建新的连接密钥,或者是否重复使用现有的密钥。如果你之前从未使用过 EC2, 只需创建新的密钥并下载即可。

(5) 启动你的实例并连接到它

为了连接实例,在 EC2 控制面板上选择并点击「连接」按钮,遵循提供的说明,例如:

如何在AWS GPU上运行Jupyter noterbook?

注意,实例完全启动之前可能需要几分钟。如果开始时不能连接,请等待并重试。

(6) 设置 SSL 证书

通过 ssh 登录实例后,在实例的根目录下创建一个 ssl 目录,然后对其进行 cd(并非必要,但更干净)。

  1. mkdirssl
  2. cdssl

使用 OPenSSL 创建新的 SSL 证书:

  1. sudoopensslreq-x509-nodes-days365-newkeyrsa:1024-keyout"cert.key"-out"cert.pem"-batch

完成后,你已在当前的 sll 目录中创建了两个文件:cert.key 和 cert.pem.

(7) 配置 Jupyter

在我们开始使用 Jupyte 之前,我们需要调整其默认配置。首先,我需要生成一个新的 Jupyter 配置文件(仍然在远程实例上):

  1. jupyternotebook--generate-config

或者,你可以为自己的 notebook 生成 Jupyter 密码。由于你的实例配置可能为从任何 Ip 访问(取决于你在配置安全组时所做的选择),***通过密码限制对 Jupyter 的访问。要生成密码,请打开 IPython shell(ipython 命令)并运行:

  1. fromIPython.libimport
  2. passwdpasswd()
  3. exit

passwd() 命令将要求你输入并验证密码,完成后将显示密码哈希(hash)。复制哈希,我们稍后会用到。它看起来像:「sha1:b592a9cf2ec6:b99edb2fd3d0727e336185a0b0eab561aa533a43」(这是「密码」哈希,并非是你应该使用的密码)。

接下来,使用 Vi(或者用你最喜欢的可用文本编辑器)编辑配置文件:

  1. vi~/.jupyter/jupyter_notebook_config.py

这是一个 Python 文件,其中所有的行都被注释掉。

你需要插入以下 Python 代码行(比如,在文件的开头)

  1. c=get_config()#gettheconfigobject
  2. c.NotebookApp.certfile=u'/home/ubuntu/ssl/cert.pem'#pathtothecertificatewegenerated
  3. c.NotebookApp.keyfile=u'/home/ubuntu/ssl/cert.key'#pathtothecertificatekeywegenerated
  4. c.IPKernelApp.pylab='inline'#in-linefigurewhenusingMatplotlib
  5. c.NotebookApp.ip='*'#servethenotebookslocally
  6. c.NotebookApp.open_browser=False#donotopenabrowserwindowbydefaultwhenusingnotebooks
  7. c.NotebookApp.password='sha1:b592a9cf2ec6:b99edb2fd3d0727e336185a0b0eab561aa533a43'#thisisthepasswordhashthatwegeneratedearlier.

如果,你以前没有使用过 Vi,请记住,你需要按 i 开始插入内容;完成后,你可以点击 esc 然后是 :wq 最终 enter 退出 Vi,同时保存更改(:wq 代表写入-退出)

(8) 更新 Keras

你马上可以开始使用 Jupyte 了。但首先,通过运行(仍然在远程实例上)以确保 Keras 是***的:

  1. sudopipinstallkeras--upgrade--no-deps

你所使用的 AMI 由亚马逊负责日常更新,但其可能没有使用每个包的***版本。

(9) 设置本地端口转发

在本地机器上的一个 Shell(不是远程实例中)中,开始将你的本地端口 443(HTTPS 端口)转发到远程实例的端口 8888。这是通过句法(syntax)完成的:

  1. sudossh-iawsKeys.pem-Llocal_port:local_machine:remote_portremote_machine

在我们的例子中为:

  1. sudossh-iawsKeys.pem-L443:127.0.0.1:8888ubuntu@ec2-54-147-126-214.compute-1.amazonaws.com

(10) 从你的本地浏览器中开始使用 Jupyter

首先,在远程实例中,创建保存你的 notebook 的文件夹:

  1. mkdirnotebooks
  2. cdnotebooks

在远程实例上,通过在你创建的文件夹中运行此命令来启动 Jupyter Notebook:

  1. ipythonnotebook

然后,在本地浏览器中,导航至我们发送到远程 notebook 进程的本地地址 https://127.0.0.1。确保你在地址中使用 HTTPS,否则你将收到 SSL 错误。

你将看到一个安全警告:

该警告只是因为我们生成的 SSL 证书没有被任何受权威机构验证

该警告只是因为我们生成的 SSL 证书没有被任何受权威机构验证(显然,我们刚刚生成了我们自己的证书)。点击「advanced」,继续浏览,这很安全。

然后系统会提示你输入 Jupyter 密码。然后,你会进入 Jupyter 控制面板。

Jupyter 控制面板

点击「新建 - >Notebook」开始。你可以使用你选择的 Python 版本。

如何在AWS GPU上运行Jupyter noterbook?

好了!

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月4日 22:33
下一篇 2023年5月4日 22:33

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信