远程连接服务器jupyter notebook、浏览器以及深度学习可视化方法
问题背景
本文主要希望解决如下两个问题:
-
1.远程登录jupyter notebook
-
2.远程运行深度学习框架如何可视化loss和accuracy?
服务器一般都是字符界面的,但是有时我们需要可视化我们的结果,这样能够直观的看到我们的训练成果,这该怎么办呢?
没关系,因为服务器都会内置一个firefox浏览器,你只需要在命令窗口输入
>>> firefox
之后你的本地电脑会弹出一个Firefox的窗口,是不是很惊奇!!!(我使用的连接服务器的软件是MobaXterm)。正常的情况会出现这个界面(当然如果你是其他版本的系统可能会有所不同。)
但是很不幸我之前打开后就提示页面崩了,啥都打不开,而且后面会跟着这些错误提示:
连接浏览器
刚开始我还以为是我的电脑防火墙的问题,或者是学校服务器限制了,不过后来把错误信息谷歌一下(千万别用百度。。。),一下就找到了解决办法
你只需要在打开的Firefox浏览器地址栏输入about:config
之后回车进入这个页面,点击I accept this risk
之后再输入autostart找到图中两个设置项,将value设置为False。
之后再命令窗口关闭Firefox,然后重新打开浏览器就可以了。
远程连接Jupyter Notebook
浏览器的问题解决了,远程连接Jupyter Notebook还会远吗?
emm,有一点点远,不过可以很快解决。
具体方法如下:
服务器端安装好ipython, Jupyter Notebook
pip install ipython
pip install Jupyter
生成配置文件
jupyter notebook --generate-config
生成密码
进入ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'
把生成的密文‘sha:ce…’复制下来
修改默认配置文件
vim ~/.jupyter/jupyter_notebook_config.py
按照下面进行修改
c.NotebookApp.ip='*' # 就是设置所有ip皆可访问
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False # 禁止自动打开浏览器,如果服务器有浏览器也可以不修改这一项
c.NotebookApp.port =8888 #随便指定一个端口
温馨提示: vim快速搜索的快捷键是 “/ 搜索词”
例如如果想修改ip项,在进入vim编辑器后直接输入"/ip"回车即开始匹配,"n"是寻找下一个,"p"是寻找上一个。
启动jupyter notebook
可以不指定端口,也可以指定端口
jupyter notebook --port=9000
深度学习结果远程可视化
其实上面的jupyter 已经可以帮助我们实现可视化了,但是这里推荐一个比较好用的可视化模块,是百度出的visualDL模块。
具体安装和使用方法在这就不做介绍了,感兴趣的可以去官网查阅。
安装好之后启动visualDL服务器即可看到如下效果: