一、前言
最近打算开始学习深度学习了,因此对一些环境进行了部署。因为使用的是深度学习服务器,非本地环境,所以打算搭建一个Ipython Notebook的远程访问,方便测试代码。Ipython Notebook是基于Web服务模式的,所以我们可以在远程服务器打开IPython服务器,在本地客户端启动IPython Web交互界面,这样可以很方便地操作远程数据。
二、环境介绍
服务器系统是Ubuntu14.04,安装了Anaconda3,并配置了基于Python3的Caffe和Tensorflow的GPU版本。
现将Ipython Notebook远程访问配置过程记录如下。
1、安装Ipython和Ipython Notebook
这个过程很简单,我们先安装Ipython,在Terminal中使用conda命令:
1 | conda install ipython |
接着安装Ipython Notebook:
1 | conda install ipython notebook |
2、创建远程登录密码
在服务器上启动Ipython,生成自定义密码的sha1:
输入passwd()之后,会输入两次密码,这个密码要记住!因为它是远程访问时候需要使用的密码,程序会自动生成一个sha1加密字符串。这个字符串再配置的时候需要用到,因此也需要记下来。
3、创建Ipython Notebook服务器
在Terminal中,创建Ipython Notebook服务器:
1 | ipython profile create jack |
其中,jack为服务器的名字,这里是自定义的,怎么喜欢怎么起。
执行之后,会输出两个地址,告诉我们配置文件放在了哪里。我的配置文件存放的地址如下:
可以看到,配置文件放在了home目录下的.ipython文件夹里。
现在,进入profile_jack文件夹中:
1 | cd profile_jack |
然后查看配置文件:
1 | ls |
一般没有问题的话,会生成ipython_config.py,ipython_kernel_config.py和ipython_notebook_config.py三个文件。
我们重点要关注的是ipython_notebook_config.py这个文件,待会儿我们要修改该文件来配置服务器。不过,有时候这个文件不能生成,这时候我们自己在这里新建即可,使用vim或者gedit。我自己配置的时候就没有生成ipython_notebook_config.py这个文件,我使用vim新建了一个:
1 | vim ipython_notebook_config.py |
4、编写配置文件
接下来就是开始编写配置文件了,在ipython_notebook_config.py文件中添加内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 | 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服务器:
1 | jupyter notebook --config=/home/jackcui/.ipython/profile_jack/ipython_notebook_config.py |
位置文件的路径,根据个人的情况进行相应的修改即可。
可以看到,该条命令启动了IPython Notebook服务器,并指向了我们刚刚编辑保存过的配置文件。
如果正常的话,我们会看到这样的输出:
2、客户端浏览器登录
接下来就是可以使用服务器的IP地址和开启的服务端口号登录Ipython Notebook了。
其中216.210.88.145是我服务器的公网IP,6789是服务端口号。我们只需要在客户端浏览器中输入:
1 | 216.210.88.145:6789 |
输入之后,我们输入最初设置的登录密码,然后就实现了远程登录。
接下来,就可以愉快地开启我们的深度学习之旅了!
2018年11月4日 下午5:00 沙发
您好,我在“三、1.服务器开启服务”处输入了:jupyter notebook –从config=/home/jackcui/.ipython/profile_jack/ipython_notebook_config.py
但出现了很长的报错,最后一行是:socket.gaierror: [Errno -5] No address associated with hostname
请问应该如何解决呢?
谢谢!
2018年11月4日 下午5:21 1层
@KL 你的用户名也叫jackcui?
2018年11月4日 下午5:33 2层
@Jack Cui 不好意思,没有表述清楚,我的用户名是Kelly,输入的是:
jupyter notebook –-config=/home/[我的名字]/.ipython/profile_Kelly/ipython_notebook_config.py
路径和文件名应该是没有问题的~
请问您配置的服务器的python版本是2还是3呢?这个会有影响吗?
2018年11月4日 下午5:36 3层
@KL 跟版本没有关系,你这个就是没有找到你的配置文件。你再检查下。不用命令试试jupyter notebook好使不,看下jupyter是否安装成功。