Google Colab 在線機器學習平台使用教程

語言: CN / TW / HK

一、簡介

Google Colab 是一個免費的 Jupyter 環境,用户可以用它創建 Jupyter notebook,在瀏覽器中編寫和執行 Python 代碼,以及其他基於 Python 的第三方工具和機器學習框架,如 Pandas、PyTorch、Tensorflow、Keras、Monk、OpenCV 等。

那Google Colab與Jupyter又有什麼關係呢?事實上,Jupyter 是一個開放源代碼項目,而 Colab 是在 Jupyter 基礎之上開發的。通過 Colab,無需下載、安裝或運行任何軟件,就可以使用 Jupyter 筆記本並與他人共享。

Google Colab 的好處在於,不需要任何配置就能直接上手使用,並提供免費的 GPU,你可以和任何人共享實時代碼、數學公式、數據可視化結果、數據處理、數值模擬、機器學習模型等各種項目。

總結起來,Google Colab主要有如下一些優點:

  • 提供了免費的 Jupyter notebook 環境;
  • 帶有預安裝的軟件包;
  • 完全託管在谷歌雲上;
  • 用户無需在服務器或工作站上進行設置;
  • Notebook 會自動保存在用户的 Google Drive 中;
  • 提供基於瀏覽器的 Jupyter notebook;
  • 完全免費,且提供 GPU 和 TPU(Pro 用户可以使用更多資源,但需要付費);
  • 支持 Python 2 和 Python 3;
  • 提供兩種硬件加速器:GPU 和 TPU

二、基本使用

Google Colab 分為免費版和pro版,免費版一次只可以使用一塊GPU,且有時長限制,pro版需要付費,可以使用多塊GPU且沒有時長限制,並且在容量上有一定擴展。

image.png  

2.1 新建Notebook

新建一個筆記本有兩種方式,第一種是在在雲端硬盤中右鍵創建。

image.png

如果右鍵後沒有發現有這一個選項,那是因為雲端硬盤還沒有安裝Colab。這時在右擊後選擇“關聯更多應用”,然後搜索colab並下載,之後就可以通過右鍵創建了。 

image.png

image.png

安裝完成後,右擊空白處,然後選擇【Google Colaboratory 】 打開。

另外一種就是使用Google Colab的瀏覽器版,點擊鏈接打開Google Colab。

image.png

然後,點擊【文件】->【新建筆記本】。使用這種方法新建的筆記本時,會在雲端硬盤的根目錄自動創建一個叫Colab Notebook的文件夾,新創建的筆記本就保存在這個文件夾中。

image.png  

2.2 載入Notebook

當然,我們也可以打開雲端硬盤中的已經存在的筆記本,比如從Github中導入筆記本。如果關聯了Github賬户,可以選擇一個賬户中的Project,如果沒有關聯,可以先關聯一下,如果其中有ipynb文件就可以在Colab中打開。

image.png

2.3 Notebook面板

image.png

面板的內容説明如下:

  • 標題:筆記本的名稱
  • 代碼塊:分塊執行的代碼
  • 文件瀏覽:Colab為筆記本分配的實例空間
  • 代碼執行程序:用於執行筆記本程序的服務器
  • 代碼段:常用的代碼段,比如裝載雲端硬盤
  • 命令面板:常用的命令,比如查找/替換
  • 終端:文件瀏覽下的終端

2.4 連接代碼

點擊連接按鈕後, 系統會連接代碼執行程序,此時可以看到消耗的RAM和磁盤的相關數據。

  • RAM:虛擬機運行內存,更大內存意味着更大的算力;
  • 磁盤:虛擬機文件的儲存空間,要注意的是購買更多雲端硬盤存儲空間不能增加可用磁盤空間;

image.png

如果想要獲得更大的算力,可以Colab Pro。在打開筆記本後,默認的文件路徑是"/content",這個路徑也是執行筆記本時的路徑,同時我們一般把用到的各種文件也保存在這個路徑下。

image.png

在點擊".."後即可返回查看根目錄"/"(),可以看到根目錄中保存的是一些虛擬機的環境變量和預裝的庫等等。不要隨意修改根目錄中的內容,以避免運行出錯。

2.5 執行代碼

當我們的代碼編寫完成之後,就可以點擊【運行】按鈕來執行代碼塊。代碼塊開始執行後,按鈕就會進入轉圈的狀態,表示【正在執行】。如果在有代碼塊執行的情況下,繼續點擊其他代碼塊的【運行】按鈕,則這些代碼塊進入【等待執行】的狀態,直到當前的代碼塊執行完成之後才會順序依次執行其他代碼塊。

image.png

2.6 管理會話

會話就是當前連接到代碼執行程序的筆記本,通過點擊【管理會話】即可查看當前的所有會話,點擊【終止】即可斷開代碼執行程序。用户所能連接的會話數量是有限的,因此到達上限時再開啟新會話需要主動斷開之前的會話。

image.png

三、示例演示

3.1 數據科學

藉助 Colab,我們可以充分利用常用 Python 庫的強大功能來分析和可視化數據。下方的代碼單元格使用 NumPy 生成一些隨機數據,並使用 Matplotlib 可視化這些數據。

``` import numpy as np from matplotlib import pyplot as plt

ys = 200 + np.random.randn(100) x = [x for x in range(len(ys))]

plt.plot(x, ys, '-') plt.fill_between(x, ys, 195, where=(ys > 195), facecolor='g', alpha=0.6)

plt.title("Sample Visualization") plt.show() ```

然後我們運行此段代碼,就可以得到Matplotlib的可視化圖。

image.png  

3.2 機器學習

藉助 Colab,只需使用幾行代碼,即可實現導入圖像數據集、用圖像數據集訓練圖像分類器,以及評估模型。Colab 筆記本會在 Google 的雲服務器中執行代碼,也就是説,無論您所用機器的功能如何,大家都可以利用 Google 硬件(包括 GPU 和 TPU)的強大性能,而這些操作只要有個瀏覽器即可。

關於如何使用Colab進行機器學習方面的內容,大家可以參考: