Jupyter在服务器上的使用

应用

可以在浏览器上进行python的编译执行,分步执行,更直观方便。

步骤

安装jupyter

可以选择使用conda安装

conda install jupyter notebook

或使用pip

pip install jupyter

如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:

jupyter notebook --help

配置jupython文件参考

1、在当前用户的根目录创建一个名为nbserver的配置文件。

$ ipython profile create nbserver

2、这将创建一个文件夹,其中包含一些原始的配置文件。跳转到这个文件夹进行一些配置

$ cd ~/.ipython/profile_nbserver/

3、由于ipython Notebook要求https连接,因此需要创建一个ssl证书。

$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

这之后可能需要你填什么country name,province name什么的,自己随便填填无关大雅
4、启动ipython:
ipython其实就是jupyter的底层shell界面,所以我们装的anaconda里面会自带jupyter,同时也有了ipython

$ ipython

创建远程连接密码:

In [1]: from notebook.auth import passwd
In [2]: passwd()

注意:设置密码的时候,比如数字密码,不要用小键盘的输入,建议用字母键上的数字输入,且网页登录的时候,也不要用小键盘输入!!!

然后会输出:
Out [2]: sha1:23e342d43.. #这是我的密码的hash值,后段被删除,你的密码得到的结果应该不同,这个hash值要记住,之后要写入配置文件
5、然后退出ipython,开始编辑配置文件,通过vi编辑文件的命令如下:

vim ipython_notebook_config.py

该文件或许不存在,那将会新建一个文件。文件写入:

c=get_config() 
c.IPKernelApp.pylab='inline'  # 所有matplotlib的图像都通过iline的方式显示
c.NotebookApp.certfile=u'/home/XXX/.ipython/profile_nbserver/mycert.pem'  # 这一行指向我们刚刚创建的ssl证书,这里的路径要给绝对路径(反正我给相对路径报错)
c.NotebookApp.password=u'sha1:23e342d43..'  # 给出刚刚创建的密码的哈希值
c.NotebookApp.ip='*'  #使用默认IP
c.NotebookApp.port=8888  #给出运行的端口,ipython默认为8888
c.NotebookApp.open_browser=False   # 禁止在运行ipython的同时弹出浏览器

保存退出
6、配置完毕以后就可以运行ipython Notebook的服务端了:

$ jupyter notebook --config=~/.ipython/profile_nbserver/ipython_notebook_config.py #刚才创建的nbserver路径

7、在你的本地浏览器地址栏输入:https://192.168.xxx.X:8888 (这里就输入你服务器的IP地址,加上配置的端口号8888.注意前面的https不能省)
8、重新配置时,删除 ~/.jupyter 文件夹即可。

使用conda环境参考

关联Jupyter Notebook和conda的环境和包——“nb_conda”。安装

conda install nb_conda

执行上述命令能够将你conda创建的环境与Jupyter Notebook相关联,便于你在Jupyter Notebook的使用中,在不同的环境下创建笔记本进行工作。

可以在Conda类目下对conda环境和包进行一系列操作。

image.png

选中后,会将选择的环境添加到默认环境pytohn 3中。

gym使用jupyter参考

gym包在服务器使用无法可视化,会大大影响其使用的便捷性。可以在训练时禁止显示,测试时使用jupyter进行可视化,可以大大提高训练效率和结果的可视化。

训练时,屏蔽下面代码将会禁止显示游戏画面。

env.render()

测试时,使用下面方法将使用matplotlib来进行游戏画面的可视化。
1、首先在服务器上安装 xvfb ,并用 xvfb 运行可显示的 jupyter notebook:

$ sudo apt-get install xvfb
$ xvfb-run -s "-screen 0 1400x900x24" jupyter notebook --config=~/.ipython/profile_nbserver/ipython_notebook_config.py

然后在 jupyter 中加入代码:

import matplotlib.pyplot as plt
%matplotlib inline
from IPython import display

可视化函数:

def show_state(env, step=0, info=""):
    plt.figure(3)
    plt.clf()
    plt.imshow(env.render(mode='rgb_array'))
    plt.title("Step: %d %s" % (step, info))
    plt.axis('off')
    
    display.clear_output(wait=True)
    display.display(plt.gcf())

整体实例代码如下:

import matplotlib.pyplot as plt
import gym
%matplotlib inline
from IPython import display

def show_state(env, step=0, info=""):
    plt.figure(3)
    plt.clf()
    plt.imshow(env.render(mode='rgb_array'))
    plt.title("Step: %d %s" % (step, info))
    plt.axis('off')
    
    display.clear_output(wait=True)
    display.display(plt.gcf())

env = gym.make("CartPole-v1")
observation = env.reset()
for _ in range(1000):
  # env.render()
    action = env.action_space.sample() # your agent here (this takes random actions)
    observation, reward, done, info = env.step(action)
    show_state(env, action, info)
    
    if done:
        observation = env.reset()
env.close()

参考

https://www.jianshu.com/p/91365f343585/
https://blog.csdn.net/qq_29762941/article/details/80630133
https://www.cnblogs.com/cenariusxz/p/12666938.html
https://stackoverflow.com/questions/40195740/how-to-run-openai-gym-render-over-a-server
https://stackoverflow.com/questions/16726227/xvfb-failed-start-error

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342