構建雲服務器平臺(jupter notebook)運行算法

出發點:

本地電腦只有4個核心,8G內存,算法的參數選擇比如網格搜索選取參數,訓練速度慢且出現任務無法合併到worker的情況

解決方案:

1、購買雲服務器(基於之前使用的阿里雲平臺)

 選取按流量計費

2、在服務器上安裝運行環境

2.1安裝anaconda(包管理軟件)

下載列表:

 https://repo.continuum.io/archive/Anaconda3-2019.07-Linux-x86_64.sh

安裝步驟:

安裝命令:bash Anaconda3-2019.07-Linux-x86_64.sh

2.2安裝jupter notebook

 (1)conda安裝 jupynotebook

  安裝命令:conda install jupyter

  參考:https://blog.csdn.net/yimingsilence/article/details/80679564

(2)pip 安裝jupynotbook

    sudo pip install jupyter

    安裝 ipython

     sudo apt-get -y install ipython ipython-notebook

  參考:https://blog.csdn.net/u012743859/article/details/77869382

(3)設置密碼

  在Xshell執行命令:

$ jupyter notebook password
Enter password:  yourcode  #輸入密碼
Verify password: yourcodeagain   #再次輸入密碼確認
#運行後結果
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json    #密碼被保存的位置 ~/.jupyter/jupyter_notebook_config.json

參考:JupyterNotebook配置遠程登錄 https://blog.csdn.net/u014636245/article/details/83652126
2.3 配置notebook

(1)打開配置文件(使用vim操作:esc退出編輯模式,shift+G滾到最後一行,shit+i編輯,shit+:+wq保存退出):

cd ~/.jupyter
vim jupyter_notebook_config.py

(2) 添加配置文件內容:

# Set options for certfile, ip, password, and toggle off browser auto-opening
# 設置證書、ip、密碼並關閉自動打開瀏覽器
# 設置證書地址
c.NotebookApp.certfile = u'/root/secret/mycert.pem'
c.NotebookApp.keyfile = u'/root/secret/mykey.key'
# Set ip to 'localhost' to bind on localhost for the private usage
# 用localhost域名來訪問jupyter notebook
c.NotebookApp.ip = 'localhost'
c.NotebookApp.password=u'添加密碼哈希值'
c.NotebookApp.open_browser = False
# 爲了網絡安全,設置一個不常用的端口
c.NotebookApp.port = 8888

密碼哈希值的獲取方法 :

在本地電腦運行jupter notebook ,並輸入以下命令獲取


In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out [1]: 'sha1:XXXXXXX:-----------'

openssl着證書的獲取方法:

 openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

並將在雲服務器生成的文件  mykey.key  mycert.pem 保存在指定文件夾下,並拷貝路徑待上述配置文件內容中

 3、本地電腦遠程訪問雲服務器的notebook

(1)端口轉發? (2)Xshell  配置   (3)參考【4】遠程訪問服務器Jupyter Notebook的兩種方法

下述使用第二種方式:

選擇文件-》屬性-》隧道並按照如下方式設置:

Type選擇Local(Outgoing),源主機Source Host寫localhost,監聽端口Listening Port填你設置的Port,目標主機Destination Host填localhost,目標端口Destination Port填你設置的端口Port。

 3.1 在雲服務器端操作開啓允許外網連接notebook

先切換到指定目錄(存在jupter格式的文件),再執行下述的命令

cd  /root/O2OCode

jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root

3.2在本地瀏覽器打開:

 輸入網址http://雲服務器ip地址:端口號

發現問題:採用隧道模式則應該是:https://localhost:端口號 纔可以正確訪問!

3.3 出現notebook 但是證書還沒有驗證故直接忽略安全保護

輸入設置的密碼,即可進入

4、執行算法

在notebook 執行,注意要打開notebook格式的文件運行纔會出現編輯運行的選項

5、釋放雲服務器的實例

   創建鏡像保存

參考資料

【1】anaconda 安裝  https://repo.continuum.io/archive/

【2】用SSL/TLS和XShell遠程訪問 Jupyter Notebook 的方法 https://blog.csdn.net/chr1991/article/details/92618832

【3】官網配置方法 Running a notebook server https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#prerequisite-a-notebook-configuration-file

【4】遠程訪問服務器Jupyter Notebook的兩種方法 https://www.jianshu.com/p/8fc3cd032d3c

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章