无法在 MS Azure 中的深度学习虚拟机 (DLVM) 上启动 jupyter notebook

Posted

技术标签:

【中文标题】无法在 MS Azure 中的深度学习虚拟机 (DLVM) 上启动 jupyter notebook【英文标题】:Unable to start jupyter notebook on the Deep Learning Virtual Machine (DLVM) in MS Azure 【发布时间】:2018-10-24 03:11:48 【问题描述】:

我正在尝试在 MS Azure 的深度学习虚拟机 (DLVM) 上训练 keras 模型。我已经设置了一个 Ubuntu VM 并通过我的 mac 上的 ssh 连接到它,但是当我尝试运行 jupyter notebook 时,我收到了这个错误:No such notebook dir: ''/dsvm/Notebooks'',为此我尝试了Deep Learning Virtual Machine can't run jupyter "No such notebook dir: ''/dsvm/Notebooks''" 中指定的解决方案,但这给了我The Jupyter Notebook is running at:https://[all ip addresses on your system]:9999/ 但是 chrome 说我的 vm 的 ip : 9999 不起作用。

根据docs,一旦虚拟机启动,jupyter 集线器应该在 8000 可用,但我也无法访问http://my-vm-ip:8000。 当我按照这里的建议尝试systemctl status jupyterhub Can't reach Jupyter Notebooks on Azure Deep Learning Virtual Machine 时,我可以看到 jupyter hub 确实在监听 8000,并且在 vm 上定义了一个防火墙规则,允许通过 Internet 连接到 8000。

如何从 DLVM 访问 jupyter?

【问题讨论】:

【参考方案1】:

JupyterHub 应该可以在您的 VM 上运行和访问。你是通过https连接的吗?您的帖子说您使用的是 http,但我们只支持 https。

另外,您是否已确认 Azure 门户上的端口 8000 已打开?由于各种原因,某些虚拟机是在未打开此端口的情况下创建的。您也可以尝试重新启动 JupyterHub 服务以确认其正常工作。

如果您想改为运行 Jupyter,则需要使用 Jupyter 配置文件解决最新 Ubuntu DSVM 的问题。在终端:

sudo -s
source /anaconda/bin/activate py35
jupyter notebook --generate-config --config=/usr/local/etc/jupyter/jupyter_notebook_config.py

然后您应该在防火墙中打开端口 8888。然后就可以访问 Jupyter。

【讨论】:

嗨,保罗,我如何检查 Azure 上的 8000 端口是否打开?这是我需要设置的入站规则吗? @nababs,检查虚拟机上的网络安全组是否有入站规则。此端口默认打开,但可能会被订阅策略或 vnet 中的其他规则关闭。【参考方案2】:

上面的第三个命令有一点问题。它应该是“--config=”而不是“config=”。

sudo -s
source /anaconda/bin/activate py35
jupyter notebook --generate-config --config=/usr/local/etc/jupyter/jupyter_notebook_config.py

另外请注意,修复 Jupyterhub 问题(“没有这样的笔记本目录:''/dsvm/Notebooks''”)也需要上述命令。

【讨论】:

以上是关于无法在 MS Azure 中的深度学习虚拟机 (DLVM) 上启动 jupyter notebook的主要内容,如果未能解决你的问题,请参考以下文章

解决Azure虚拟机远程桌面连接不上的问题

Azure上A/D系列虚拟机到DS系列迁移

无法从在存储帐户的允许子网中创建的 Azure 虚拟机下载 blob

Windows Azure 虚拟机,Server 2012,无法激活 0xC004F074

Microsoft Azure 虚拟机即用即付模式中的价格波动经历

无法让 Azure 虚拟机为网站提供服务