一步一步教你線上免費訓練機器學習模型(啟用GPU和TPU)

人工智慧頻道發表於2018-10-20

作者:Maithreyan Surya

在大型資料集上訓練機器學習和深度學習模型所需的計算能力一直是機器學習愛好者的一大障礙。但是對於在雲上執行的jupyter記事本,任何一個具有學習熱情的人都可以進行訓練,並獲得很好的結果。

(1)Google Colab

(2)Kaggel Kernel

(3)GCP上的Jupyter記事本

(4)Amazon SageMaker

(5)Azure記事本

1)Google Colab

Colaboratory是谷歌公司的一個研究專案,旨在幫助傳播機器學習教育和研究。 Colaboratory(colab)提供免費的Jupyter記事本環境,無需設定即可完全在雲端執行。它預裝了大多數機器學習庫,它可以作為完美的地方,你可以即插即用,並嘗試依賴的東西和計算不是問題。

膝上型電腦已連線到你的谷歌硬碟,因此你可以隨時訪問它,並從github上傳或下載膝上型電腦。

GPU和TPU啟用

首先,你需要為膝上型電腦啟用GPU或TPU。

導航到編輯→筆記本設定,然後從硬體加速器下拉選單中選擇TPU。

undefined


用於檢查TPU是否已啟用的程式碼

undefined


安裝學習庫

Colab附帶了大多數機器學習庫,但你也可以輕鬆新增未預安裝的庫。

Colab支援pip和apt包管理器。

undefined


apt命令

undefined


這兩個命令都在colab中工作,別忘了!在命令之前。

上傳資料集

有很多方法可以將資料集上傳到記事本中

  • 可以從本地計算機上載檔案。

  • 從谷歌硬碟上傳檔案•也可以直接從kaggle上傳資料集

從本地上傳的程式碼

undefined


我可以瀏覽並選擇檔案。

從谷歌硬碟上傳檔案

PyDrive庫用於從谷歌驅動器上傳和檔案

undefined


undefined


你可以獲取要上傳的檔案的ID,並使用上面的程式碼。

有關從Google服務上傳檔案的更多資源。

https://colab.research.google.com/notebooks/io.ipynb

從kaggle上傳資料集

我們需要安裝kaggle api,並新增認證json檔案,你可以從kaggle網站(API_TOKEN)下載。

undefined


undefined


通過從本地計算機上傳檔案將json檔案上傳到記事本。

建立一個/.kaggle目錄

undefined


將json檔案複製到kaggle目錄

更改檔案permision

undefined


現在,你可以使用命令從kaggle下載任何資料集

undefined


現在,你可以使用以下內容從kaggle下載競賽資料集,但為此你必須參加競賽。

undefined


undefined


你可以線上培訓和執行fashion_mnist,而不依賴於此。

https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/keras/basic_classification.ipynb

對於每個對機器學習感興趣的人來說,Colab都是一個很棒的工具,使用colab的所有教育資源和程式碼片段都是在官方網站上提供的記事本示例。

https://colab.research.google.com/notebooks/

2)Kaggle Kernels

Kaggle Kernels是一個雲端計算環境,可以進行可重複的協作分析。

可以在kaggle核心中執行Python和R程式碼

Kaggle核心在遠端計算環境中執行。它們提供所需的硬體。

在撰寫本文時,每個核心編輯會話都提供以下資源:

(1)CPU規格

  • 4個CPU核心

  • 17GB的記憶體

  • 執行時間為6小時

  • 5GB的自動儲存磁碟空間(/ kaggle / working)

  • 16 GB臨時的暫存器磁碟空間(外部/ kaggle /工作)

(2)GPU規格

  • 2個CPU核心

  • 14 GB的記憶體

啟動核心

一旦我們在kaggle.com上建立了一個帳戶,我們就可以選擇要使用的資料集並啟動新核心,只需點選幾下即可。

https://www.kaggle.com/

單擊"建立新核心"

undefined


你將有一個jupyter記事本啟動和執行。在底部將有你可以使用的控制檯,在右側你將有各種選擇。

(3)版本

當你提交併執行核心時,你將在互動式會話的單獨會話中從上到下執行核心。在完成之後,你將生成一個新的核心版本。核心版本是工作的快照,包括已編譯的程式碼、日誌檔案、輸出檔案、資料來源等。核心的最新核心版本是核心檢視器中向使用者顯示的內容。

(4)資料環境

為資料集建立核心時,資料集將預先載入到輸入目錄中的記事本中

undefined


你還可以單擊新增資料來源,新增其他資料集

undefined


設定

(1)共享:你可以將核心保密,也可以將其公開,以便其他人可以從你的核心中學習。新增GPU:你可以在核心中新增一個NVIDIA Tesla K80。使用核心而不是本地計算機或你自己的虛擬機器的一個主要好處是,核心環境已經預先配置了支援GPU的軟體和軟體包,這可能非常耗時且設定起來令人沮喪。要新增一個GPU,從核心編輯器導航到"設定"窗格,然後單擊"啟用GPU"選項。

(2)自定義封裝:核心有預設封裝,如果你需要任何其他封裝,你可以通過以下方式輕鬆新增它

•只需輸入庫名稱,kaggle將為你下載。

undefined


•輸入使用者名稱/庫名稱

undefined


這兩種方法都可以很好地新增自定義包。

Kaggle是提供資料和計算的完美平臺,可以提供所提供的優質資料。它還可以舉辦各種競賽,可以通過實驗來提高自己的技能。

有關kaggle連結的更多資源,請點選此處。如果你是新手,那麼你一定要嘗試一下這個非常棒的教程。

https://www.kaggle.com/c/titanic

關於Kgle、colab和機器學習的其他資源跟隨Siraj Raval和Yufeng G.

由於我無法在這篇文章中涵蓋所有線上訓練機器學習模型的服務,因此本文將有第二部分。

所有需要學習和實踐機器學習的資源都是開源的,可線上獲取。從計算、資料集、演算法以及免費線上提供的各種高質量教程,你只需要網際網路連線和學習的熱情。

我希望這篇文章有用,因為它解決了開始走向機器學習和資料科學之路的業界人士所面臨的主要問題。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545819/viewspace-2216969/,如需轉載,請註明出處,否則將追究法律責任。

相關文章