當前位置:
首頁 > 最新 > 來,開始使用Jupyter

來,開始使用Jupyter

最近正在B站看吳恩達的機器學習(Machine Learning)課程。看了6周課程後感覺受益匪淺,雖然是面向非數學專業的基礎課程,但所涉及到的高等數學和線性代數講得很容易理解。

說到機器學習,自然會涉及到對數據進行大量的計算,而python在這方面提供了非常豐富的資源。隨著大量開源的代碼貢獻出來,如何快速使用別人造好的輪子,驗證自己的數據,就需要一個方便的python環境,這個環境不僅是用於開發,更多的是便於測試演算法、計算數據。

十分適合在學習python時使用,不用在終端中噼里啪啦地打命令,也不需要為了測試一個代碼段而特意打開IDE編輯器編寫腳本。直接在網頁端進行代碼編寫並運行,數據可以方便地通過畫出圖形,同時還支持,使用非常方便。作為剛開始了解python的入門者,在折騰了一圈之後,在這裡做個簡單的使用說明。

安裝說明

官網上強烈建議是安裝Anaconda集成套件,因為已經集成了Jupyter,可以直接運行,但是我的環境沒有安裝Anaconda,所以採用最原始的安裝方法。具體方法可見官網說明,其實很簡單,就是最簡單的pip安裝命令:

需要注意的是,我使用pyenv來支持多版本的python,所以pip指向的是當前的python版本3.6.x,而沒有安裝pyenv的話,pip和pip3可能對應的分別是系統中的python2和python3。

建議使用python3時要注意,如果本機環境還需要用到Node.js,那麼安裝某些npm包時運行node-gyp會出錯,因為gyp僅支持python2,這時候需要特別定義一下python的使用版本,運行下面的命令即可設置npm使用n你本地的python2

一切順利的話,Jupyter已經安裝完成,如果安裝過程中有缺少某些模塊的話,可能需要手工補上後再運行安裝命令。

啟動服務

在啟動Jupyter的服務之前,先安裝幾個擴展包,便於配置和使用Jupyter。運行命令:

完成後運行命令:

會生成一個默認配置文件,打開這個文件去掉注釋可以修改相應的參數。建議先把Jupyter的notebook存放路徑修改掉。修改參數為自己定義的路徑,默認為空,即是當前用戶的目錄。

運行命令,啟動Jupyter服務,並自動打開瀏覽器訪問,這是默認Jupyter服務的綁定埠,可以在配置文件中修改相應綁定IP地址和埠值。

配置服務

進入Jupyter服務首頁後,可以看到當前的所在目錄,如果有後綴的文件就是notebook的文件,可以直接打開,沒有的話就點擊右側的按鈕,創建一個新的python3 notebook。

在創建新的notebook之前,可以先看看tab頁,這是前面安裝了擴展包後出現的工具,點擊後可以發現裡面有很多有用的擴展,選擇自己需要的啟用即可,然後回到打開的notebook中刷新一下,就能使用。我列了一些個人覺得比較實用的擴展:

其他還有更多的擴展根據每個人的需要選擇使用

使用Jupyter

編寫並運行代碼

Jupyter Notebook的使用很簡單,基本上按照工具條上的按鈕和菜單嘗試一下就了解了,這裡簡單介紹一些剛開始容易摸不著頭腦的地方

如果你熟悉VIM的指令,在Notebook中的操作會很方便,簡單來說按下進入命令行模式,再按下或雙擊滑鼠進入編輯模式,在命令行模式下有相應的快捷鍵便於操作。但是搞不清除這些也無所謂,所有的操作都能夠在菜單和工具條上找到,不會影響使用。

新增按鈕創建出來的是一個「單元」,默認是,所以要想寫需要切換一下,在工具條上可以很容易找到切換按鈕。

在單元中所有輸入的內容都是代碼,都是要通過運行才能得到結果,而每個單元都可以單獨運行,默認是運行當前塊並把游標跳轉到下一個塊,安裝了擴展,會有一個新的工具條,這裡面有更多的運行方式可供選擇。如果輸入的是Markdown,那麼同樣需要運行才能看到效果。輸入Markdown後可以用快捷鍵馬上看到實際的效果,這個快捷鍵是運行當前單元但還是停留在原地。如果安裝了擴展,可以實時看到Markdown的效果,非常直觀有效。Markdown同時還支持LaTeX數學公式,具體請自行研究

執行系統命令

如果單元中需要運行操作系統的指令,可以在命令前加上運行,但是請注意是不會改變當前的運行目錄,即多次切換路徑後執行總是顯示我們在配置文件里定義的notebook_dir路徑。

魔法指令

還有一些魔法指令是屬於Jupyter Notebook本身的操作,命令都是使用開頭,運行可以看到所有的魔法指令,具體應用也請自行查閱官方文檔,在使用matplotlib畫圖時,可能會出現錯誤,按網上推薦的操作,是告訴Jupyter獲取所有matplotlib生成的圖形,並把它們全部嵌入到notebook中。為此,只需輸入以下命令:

這條語句執行可能會花點時間,但是只需要你打開notebook時執行一次就好

我在初步嘗試繪圖時並沒有運行這條魔法指令,所以可能和安裝環境或者運行的代碼有關,並發必要條件

變數

整個Notebook的變數都是在一個命名空間內,所以只要在第一個單元中申明過的變數或者導入的模塊,在後面的單元中都可以直接使用,這樣可以把代碼編寫成一個個片段,便於調試和查看。

安裝了擴展後,在菜單上會多出一個,裡面有一些常用模塊的代碼片段,比如用NumPy生成一個多維數組數據,很適合學習python時使用。同時還Markdown的語法片段,需要插入圖片、表格時忘記語法也不怕。

安裝了擴展後,可以在Markdown的單元中使用就能調用之前的python單元中的變數值

單元

單元中編輯代碼時還可以使用代碼補全的快捷鍵,Tab鍵在Markdown里是正常的編輯縮進操作,但是在Code裡面可以補全命令或提示代碼,操作同Linux的命令補全方法。

單元如果要調整位置可以用工具條中的上下按鈕,而如果想在現有的單元前插入一個新的塊,就需要在菜單中選擇,或者使用快捷鍵

更多快捷鍵可以看-

保存下載

幸辛苦苦寫了一大堆內容,萬一掛了怎麼辦?

Jupyter Noteb有自動保存,同時自己也可以執行-

在菜單下還有很多格式可以轉化並下載,但是相應的轉化是需要有對應的模塊支持的,導出成不需要特殊模塊,導出成還需要有其他模塊的支持,具體可以自行嘗試。安裝過擴展後,可以把當前Notebook中所有的內容(包括輸出結果)導出成一個靜態Html頁,內嵌了樣式和圖片,便於放到其他網站上。

添加新的內核

Jupyter Notebook不僅可以使用python,還可以使用其他開發語言作為內核,在Jupyter的github wiki中列出了所支持的內核列表,可以選擇安裝自己熟悉的開發語言,比如安裝了可以創建Node.js類型的Notebook。

需要注意的是,每個Notebook都只能使用一種語言內核,除了在新建時需要決定內核,在創建Notebook後也可以在菜單-切換內核。

以上內容都是在中編寫,作為一個web端的Markdown編輯器來說還不錯,不過日常使用(比如寫這段文字)還是推薦使用,所見即所得,可以導出成各種樣式,並且跨平台支持Windows和Mac。

保存的文件可以在github上可以直接預覽,這個很贊。之前說過的就是基於搭建,所以可以在本地創建的文件可以直接上傳到Colab使用。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 凌波微步 的精彩文章:

TAG:凌波微步 |