摘要
Ipython Notebook是基于Web服务模式的,所以我们可以在远程服务器打开IPython服务器,在本地客户端启动IPython Web交互界面,这样可以很方便地操作远程数据。
一、前言
最近打算开始学习深度学习了,因此对一些环境进行了部署。因为使用的是深度学习服务器,非本地环境,所以打算搭建一个Ipython Notebook的远程访问,方便测试代码。Ipython Notebook是基于Web服务模式的,所以我们可以在远程服务器打开IPython服务器,在本地客户端启动IPython Web交互界面,这样可以很方便地操作远程数据。
二、环境介绍
服务器系统是Ubuntu14.04,安装了Anaconda3,并配置了基于Python3的Caffe和Tensorflow的GPU版本。
现将Ipython Notebook远程访问配置过程记录如下。
1、安装Ipython和Ipython Notebook
这个过程很简单,我们先安装Ipython,在Terminal中使用conda命令:
Shell
conda install ipython
接着安装Ipython Notebook:
Shell
conda install ipython notebook
2、创建远程登录密码
在服务器上启动Ipython,生成自定义密码的sha1:
输入passwd()之后,会输入两次密码,这个密码要记住!因为它是远程访问时候需要使用的密码,程序会自动生成一个sha1加密字符串。这个字符串再配置的时候需要用到,因此也需要记下来。
3、创建Ipython Notebook服务器
在Terminal中,创建Ipython Notebook服务器:
Shell
ipython profile create jack
其中,jack为服务器的名字,这里是自定义的,怎么喜欢怎么起。
执行之后,会输出两个地址,告诉我们配置文件放在了哪里。我的配置文件存放的地址如下:
可以看到,配置文件放在了home目录下的.ipython文件夹里。
现在,进入profile_jack文件夹中:
Shell
cd profile_jack
然后查看配置文件:
Shell
ls
一般没有问题的话,会生成ipython_config.py,ipython_kernel_config.py和ipython_notebook_config.py三个文件。
我们重点要关注的是ipython_notebook_config.py这个文件,待会儿我们要修改该文件来配置服务器。不过,有时候这个文件不能生成,这时候我们自己在这里新建即可,使用vim或者gedit。我自己配置的时候就没有生成ipython_notebook_config.py这个文件,我使用vim新建了一个:
Shell
vim ipython_notebook_config.py
4、编写配置文件
接下来就是开始编写配置文件了,在ipython_notebook_config.py文件中添加内容如下:
Shell
c = get_config()
# Kernel config
c.IPKernelApp.pylab = 'inline'
# Notebook config
c.NotebookApp.ip='*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:7a0dc5574cae:b3c09cac34f919c3998c7cc09c77c3fee03dc878'
# It's a good idea to put it on a know,fixed port
c.NotebookApp.port = 6789
c.NotebookApp.port使用6789端口,找一个不怎么使用的端口,防止端口冲突。
c.NotebookApp.password就是之前自动生成的sha1文件,复制过来即可。
至此,我们的配置已经完成。
三、测试
1、服务器开启服务
在远程登录之前,我们需要在服务器上启动这个Ipython Notebook服务器:
Shell
jupyter notebook --config=/home/jackcui/.ipython/profile_jack/ipython_notebook_config.py
位置文件的路径,根据个人的情况进行相应的修改即可。
可以看到,该条命令启动了IPython Notebook服务器,并指向了我们刚刚编辑保存过的配置文件。
如果正常的话,我们会看到这样的输出:
2、客户端浏览器登录
接下来就是可以使用服务器的IP地址和开启的服务端口号登录Ipython Notebook了。
其中216.210.88.145是我服务器的公网IP,6789是服务端口号。我们只需要在客户端浏览器中输入:
Shell
216.210.88.145:6789
输入之后,我们输入最初设置的登录密码,然后就实现了远程登录。
接下来,就可以愉快地开启我们的深度学习之旅了!