煉丹工具集-jupyter notebook 遠程連接

最近跳槽來煉丹了,使用了一下jupyter notebook搭配GPU伺服器這套搭配,頓時打開了一個新天地,記錄一下配置過程。

我一般把pythoner中搞機器學習數據分析的叫「科學家」,區別於搞web後端運維測試的「工程師」。而且我發現科學家們特別喜歡用jupyter notebook。起初,這讓沉迷JetBrains大法的我不能理解,最近我算是明白了。

  1. jupyter notebook是一種命令式的執行方式,以cell為執行單元,配合優美的前端界面,其執行完畢後可讀性極強,對於科學家來說,往往都是簡短的計算腳本,用不著單獨開一個Pycharm工程,一個比文本編輯器和自帶的命令行解釋器稍強一點的運行環境就顯得非常難得了。而且,寫完一個腳本,跑完數據直接就可以給別人彙報了,省了大量寫ppt或者markdown的時間有木有。
  2. jupyter notebook對圖片的顯示方式極其適合調試。

import cv2cv2.imshow("demo",demo)cv2.waitKey()

在寫openCV時將上面的方式替換為下面的方式後會發現調試起來極其舒服。

import matplotlib.pyplot as plt%matplotlib inlineplt.imshow(demo)

上面兩點是本地運行的優勢,這些優勢在其他IDE和編輯器中到也沒有很明顯的舒適度提升,但在伺服器遠程調試方面,jupyter正好就卡入了一個難覓對手的領域上。對於很多科學家而言,vim和emacs明顯是不討喜的,而在Pycharm中,每起一個工程就配一次SFTP還是有點小耽誤時間,而jupyter就正好提供了這種輕量級又有效的方案。

下面是具體的配置過程,包括遠程連接的配置與遠程虛擬環境的設置。

1. 伺服器上創建jupyter並遠程連接

[1] 安裝jupyter,

pip install jupyter

or

conda install jupyter#需要裝conda

[2] 生成配置文件

jupyter notebook --generate-config

[3] 生成密鑰,打開python解釋器。

pythonfrom notebook.auth import passwd passwd() #輸入兩次密碼#生成key,這個需要複製留存並修改到配置文件中去。

[4] 修改配置文件

vim ~/.jupyter/jupyter_notebook_config.py

配置文件中需要改動這麼幾行,改好後去掉注釋,:wq保存。

c.NotebookApp.ip=* # 就是設置所有ip地址皆可訪問 c.NotebookApp.password = usha:ce... # 複製的那個密文key 替換等號後面的內容c.NotebookApp.open_browser = False # 禁止自動打開瀏覽器 c.NotebookApp.port =8888 # 指定一個可用埠

[5] 本地地址欄輸入<伺服器ip>:8888,輸入用戶名和密碼即可訪問。

2. 安裝ipykernel使得jupyter能訪問遠程的虛擬環境。

[1] 啟動虛擬環境

source activate <your virtualenv>

[2] 在虛擬環境安裝jupyter

pip install jupyter

[3] 在虛擬環境安裝ipykernel

pip install ipykernel

[4] 配置ipykernel

python -m ipykernel install --user --name testenv --display-name "Python2 (py2env)"

其中,--name的參數和--display-name的參數根據配置更改。

上面就是配置服務端jupyter的以及激活虛擬環境的全過程,總結一下就是:

  1. 安裝jupyter,生成key,修改配置文件,按照ip:埠號登陸。
  2. 在激活的虛擬環境中安裝ipykernel並配置。

丁果:煉丹工具集-jupyter notebook?

zhuanlan.zhihu.com圖標python雜七雜八的使用經驗?

zhuanlan.zhihu.com圖標
推薦閱讀:

緒論:計算機時代,電力專業該如何轉型
《遷移學習簡明手冊》發布啦!
人工智慧與設計(5)-人工智慧對用戶體驗的影響
人工智慧爆紅,能否成為聯想轉型的一支奇兵?
自動化焦慮症---科技與職場的未來

TAG:JupyterNotebookIPythonNotebook | Python | 人工智慧 |