在Jupyter Notebook上配置远程GPU服务器

在深度学习的过程中,我们肯定会遇到一个问题,那就是神经网络太深导致参数过多,自己电脑的CPU带不动,即使带的动也需要非常多的时间,效率很低。

近期我所在的实验室为了解决这个问题,在阿里云租了几台GPU服务器专门来给我们跑代码做实验,实验室里的师兄也帮助我们在PyCharm上配置完毕,但是笔者还是觉得PyCharm在可视化以及修改代码上没有Jupyter Notebook方便(当然如果喜欢PyCharm那种五颜六色高逼格的画风可以无视接下来的内容)。

那么接下来就遇到一个问题,如何在本地电脑上用远程服务器上的Jupyter Notebook。前期也在网上查了很多资料,大部分都是英文的并且不能很好地解决问题,笔者在一番捣鼓之后终于解决了此问题。首先给大家看看最后的结果



1、操作前提

在PyCharm上已经可以用远程服务器跑程序,即远程服务器已经装好了Anaconda和cuda。


2、连接远程服务器

  1. 打开Anaconda Prompt(别的应该也可以,例如git)
  2. 在里面输入你要连接的服务器
ssh xxxx@xx.xx.xx.xx
  1. 系统会提示你输入密码
    这个地方需要说明一下,输入密码的时候不像我们登录微信QQ这种它会显示密码,这个你不管输入啥,他的光标都不会移动,这是正常现象,不要觉得自己电脑死机了,你就一个个的把密码敲进去按回车就行了。
  2. 提示你连接服务器成功

    并且此时窗口左上角已经变成了你的服务器的名字。
  3. 这个时候输入jupyter notebook如果没有报错的话,说明这个id已经有人给你配置好了,因为通常一个服务器会被分给好几个人,而且如果有一个人配置好了,用这个id的都不用进行下面的步骤了,直接进入网站输入密码就可以正常使用了。然而现在的情况应该是会报错,所以才有下面的步骤,记住一个id一个人配置好了就可以了哟

3、生成默认配置文件

在闪光标的地方输入如下代码生成配置文件:

jupyter notebook --generate-config

4、生成秘钥

  1. 输入 ipython,进入ipyhon命令行
ipython
  1. 输入
In [1]: from notebook.auth import passwd

In [2]: passwd()
  1. 这里要求你输入以后登录使用的密码(这个密码和之前登录服务器的密码不是一个意思,这个密码是你配置好了之后第一次登陆jupyter界面它会让你输入的密码),然后生成一个秘钥,然后将秘钥复制随便粘贴到一个什么地方,因为后面会用
Enter password: 
Verify password: 
Out[2]: 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'

当然上面这个Out[2]是我随便打的,它会根据你输入的密码给你匹配一个。

  1. 最后输入"exit"退出ipyhon命令行。

5、修改配置文件

  1. 修改用户主目录下~/.jupyter/jupyter_notebook_config.py文件,输入
vim ~/.jupyter/jupyter_notebook_config.py
  1. 然后就会进入到一个代码都是蓝色的地方,现在你出的状态是只读状态,不能更改,按一下键盘上的“i”,便可进入修改模式。这个地方需要注意蓝色代码界面不支持鼠标滚轮翻页,只能用电脑小键盘的上下键来控制光标。然后修改下面六个东西,记住一定是六个,别的都别动,动了后面就进不去了,不要问我为什么。。。
  • 取消c.NotebookApp.password = ''的注释,并将之前生成的秘钥(那一长串)复制进去。
c.NotebookApp.password = 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'
  • 取消注释并修改单引号里的为*
c.NotebookApp.ip='*' #×允许任何ip访问
  • 取消注释并修改等号后的为False
c.NotebookApp.open_browser = False
  • 取消注释并修改等号后数字,最好不要用8888,可以用8891,8892…
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口
  • 还有一个allow_remote_access之类的一个设置,记得改成True并取消注释,自己改的时候忘记复制代码了就不放代码了,和上面格式类似的一条命令,仔细找一找。
  • 最后还有一个allow_root之类的一个设置,j就在上一条的正下面,记得改成True并取消注释,自己改的时候忘记复制代码了就不放代码了,和上面格式类似的一条命令,仔细找一找。

然后就大功告成了,先按一下"Esc"退出修改模型,然后在任意空白的一行输入":wq"或者":wq!"(加一个感叹号是因为有时前面一种可能退不出来,加一个感叹号表示强制退出),退出修改配置文件模式。

以上六点可以说是本文的精华,大家一定要认真找认真改。


6、测试

到这一步可以说所有的操作都完成了,下面就是见证奇迹的时刻了。重复2.5的操作,输入jupyter notebook,如果没有报错而是出现了几条黄色绿色的提示,那么恭喜你成功了。

现在打开我们心爱的浏览器,输入网址"xx,xx,xx,xx:YYYY"(其中xx,xx,xx,xx为我们服务器ip号码@后面的八位,YYYY为5.2中设置的那个端口号码)就可以成功访问远程服务器的jupyter了,然后第一次登陆会让你输入4.3中你设置的password之后就可以愉快的跑代码啦。

  • 14
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值