韓慶生 王愛玲 張景 張錦倉
摘要:利用Python語言開展人工智能研究,Jupyter notebook作為一個Web編輯器,支持運行超過40種編程語言,包括:數據清理和轉換,數值模擬,統計建模,機器學習等,本文主要介紹了安裝配置參數,以及在windows和linux環境下,遠程桌面、文件共享等方面的一些使用技巧和方法,為人工智能環境的搭建提供可以借鑒的經驗。
關鍵詞:人工智能;工具;配置與技巧
中圖分類號:G712 文獻標志碼:A 文章編號:1674-9324(2019)27-0093-02
Jupyter notebook是一套流行的開源工具,它的優點就是可以把代碼、運行結果保存在一個漂亮的交互式文檔中,其單元格的設計方式獨特,可導出各種不同類型的文件,能創建和輸出漂亮圖表、圖形,對交互式計算和數據分析有著良好的支持。
一、Jupyter notebook的安裝與配置技巧
1.安裝方法。
請參考http://jupyter.org/install官方網站:
$python -m pip install --upgrade pip
$python -m pip install jupyter
如果采用Anaconda安裝包請參考:https://www.anaconda.com/download/官方網站:
$bash Anaconda2-5.1.0-Linux-x86_64.sh
由于國外網站經常會出現網絡中斷的情況,建議采用清華大學的鏡像網站下載Anaconda:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2.配置技巧。
$jupyter notebook --generate-config # 自動產生配置文件
$nano /home/hs/.jupyter/jupyter_motebook_config.py # 編輯配置文件
通過Ctrl+W查找dir,連續查找時按一次ESC鍵松開,再按W鍵可查找下一個。
修改默認文件的保存目錄,例如設置為用戶目錄下子目錄mybook:注意取消前面的注釋“#”
c.NotebookApp.notebook_dir = u'/home/用戶/mybook'
設置服務器IP地址:c.NotebookApp.ip = '192.168.10.12'
否則遠程登錄服務器需要加入ip參數,與以下命令等效:
$jupyter notebook --ip=192.168.0.12
設置默認的端口號:
c.NotebookApp.port = 8888 # 默認值也可更改為8889等。
$jupyter notebook # 啟動并自動打開FireFox,提示http:// 192.168.0.12:8888/?token=…
客戶端從遠程登錄每次都需要復制一串長長的密鑰才能登錄,下面設置遠程登錄密碼進行簡化。
3.設置登錄密碼。
在編輯窗口中輸入以下命令,按提示輸入密碼,假設為:ok123再次確認:
再次編輯配置文件查找:c.NotebookApp.password將上面產生的sha1粘貼修改為:
c.NotebookApp.password = u'sha1:3137f7e6696e:44740ec848d1862be5aa7fd0d7c416adb279c7e7'
現在從客戶端瀏覽器:http://192.168.0.12:8888就可以輸入密碼遠程登錄了,用web瀏覽器代替遠程桌面,也避免了Ubuntu漢化和輸入法等帶來的一系列問題。
二、windows與linux遠程桌面
在windows下登錄遠程linux服務器常用的方式有:putty、VNC和XRDP,當采用putty方式時是僅有命令行提示,VNC和XRDP對于桌面環境來說十分方便,但是從畫面效果來看,VNC的質量較差,XRDP優勢明顯,下面介紹在Ubuntu 16.04桌面版環境下安裝XRDP的方法:
注意Ubuntu桌面版自帶的unity桌面不支持遠程訪問,需要另外安裝一個桌面:
$sudo apt-get install xubuntu-desktop # 選擇安裝xubuntu桌面
$sudo apt-get install xrdp # 安裝xrdp組件
$service xrdp restart # 啟動服務或reboot
$netstat -tnl # 查看3350端口是否開啟
$ufw allow 3350/tcp # 如未開戶執行此命令
從windows運行輸入mstsc彈出遠程登錄對話框,輸入IP地址點擊連接,在彈出的xrdp登錄對話框選擇Sesman-Xvnc,輸入用戶名和密碼即可登錄Ubuntu桌面了,如果在遠程登錄對話框中點擊編輯按鈕,也可以將linux的用戶名和密碼直接寫入,直接略過xrdp登錄界面。
三、VirtualBox中文件共享
在VirtualBox中安裝linux虛擬機作為人工智能測試環境比較簡單,內存1G即可運行,特別是在測試安裝中,可以對系統隨時進行備份和恢復,由于需要在各種系統之間進行文件訪問的情況,下面做以下介紹:
1.U盤的訪問。
$cat /proc/partitions # 檢查分區sdb和sdb1,Sdb是統稱,sdb1是U盤
$fdisk -l /dev/sdb # 檢查分區類型,假設將U盤內容安裝到用戶hs目錄下tools
$mount -t ntfs /dev/sdb1 /home/hs/tools # 安裝U盤內容
$cd /home/hs/tools/ # 可看到windows下拷貝的文件了
$sudo unmount /home/hs/tools # 卸載
2.Windows與ubuntu共享文件夾。
我們在windows10操作系統(IP:192.168.0.12)中,通過VirtualBox安裝了一臺Ubuntu虛擬機,網卡選擇橋接。假設在windows中建立共享文件夾D:\tools,windows,用戶名:administrator,密碼:ok123。在Virtualbox點擊設置→共享文件夾→點擊右側+號→固定分配→共享文件夾路徑→其它→選擇共享文件夾D:\tools,勾選自動掛載。Ubuntu系統中的用戶名為:hs,共享的文件夾:hs/win10,在Ubuntu中通過以下命令即可實現與windows文件共享:
$sudo mount -o username=administrator,password=ok123,uid=hs,gid=hs,rw//192.168.0.12/tools /home/hs/win10 # 參數rw是讀寫。
四、Linux之間文件互訪
1.安裝openssh-server。
假設把本機當前目錄下的文件caffe2.zip拷貝到另一臺IP地址為192.168.0.18的主機上,其用戶名為hs,遠程主機默認情況下沒有登錄許可權限的,要修改配置文件:
$sudo nano /etc/ssh/sshd.conf
將文件中的PermitRootLogin prohibit-password 修改為PermitRootLogin yes
$sudo service ssh restart # 重啟服務
$ps -e | grep ssh # 查看ssh進程
$sudo passwd root # 設置遠程登錄root密碼
2.scp命令。
$scp caffe2.zip root@192.168.0.12:/tmp # 如果拷貝目錄加-r參數。
如果想拷貝到遠程主機用戶/home/hs目錄下,遠程主機目錄要有可寫權限
$sudo chmod 766 hs # 現在具有可寫權限進行拷貝了。
五、結束語
在windows和linux開源系統之間各有優勢,實際中經常需要在彼此之間相互切換。在人工智能領域的開發工具越來越豐富。jupyter也開發了下一代JupyterLab,除保留了notebook的全部特性外,集成了所有可用到的資源,使之成為了一個真正的IDE。
參考文獻:
[1]宋毅君,張明.建設統一虛擬化教學環境平臺的探索[J].實驗技術與管理,2016,33(04):115-118+147.
[2]胡振宇.Linux與Windws之間的文件共享與打印共享[J].廣西師范大學學報:哲學社會科學版,1999,(S1):197-202.
[3]夏旻.智能計算在數學建模中的意義[J].中國科教創新導刊,2012,(02):181.