機器學習免費的GPU!AI程式設計師的福利來了

2021-09-10 21:49:02 字數 3092 閱讀 9676

最近有朋友在問,在機器學習中訓練模型要什麼樣的電腦配置?對於深度學習模型cnn、rnn是否需要gpu的電腦配置?

在機器學習的入門階段,大部分的資料集都是可以放在自己的筆記本上執行的,比如比較大的 mnist 手寫數字識別資料,在普通筆記本上執行沒有任何問題。

對於深度學習模型,比如圖形識別分類,隨著神經網路層的擴充,數值計算、矩陣計算變得越來越大,這時候使用cpu跑訓練模型可以需要一天甚至好幾天的時間,如果有gpu來幫計算,可以大大提高模型訓練時間。

gpu為圖形影象專門設計,在矩陣運算,數值計算方面具有獨特優勢,特別是浮點和平行計算上能優於cpu的數十數百倍的效能。

google雲免費提供的gpu

colaboratory 是乙個 google 研究專案,旨在幫助傳播機器學習培訓和研究成果。google colab提供的免費的gpu使用權,全名colaboratory——乙個免費雲上的jupyter notebooks(目前只有python核心)。

使用步驟

1.要使用colab,國內同學需要能夠科學上網,正常訪問谷歌雲盤。

2.新建colaboratory,這裡可以隨意修改檔名:

3.配置python版本和免費的gpu

在「修改」頁籤裡更改配置:

4.安裝庫

目前,在 google colaboratory 已經預設安裝了需要有用的庫,但是如果有新的庫需要安裝,可以執行以下命令:

xgboost:

!pip install -q xgboost==0.4a30

import xgboost

opencv:

!apt-get -qq install -y libsm6 libxext6 && pip install -q -u opencv-python

import cv2

其他的庫:

colab 同時支援 pip 和 apt 包管理器,要在命令前面加上符號 「!」。用!pip install xxor!apt-get install xx命令去安裝。

5.執行基本的 python **

使用numpy讀取資料並展示前5行:

7.gpu速度測試

首先使用以下命令呼叫筆記本中的檔案選擇器:

from google.colab import files

uploaded = files.upload(

)

執行之後,我們就會發現單元 cell 下出現了「選擇檔案」按鈕:

上傳完成之後,就可以執行此**:

可以看出使用google gpu的效率大大提高,每個epoch大概需要10s左右即可完成。

kaggle競賽線上平台

kaggle的基本介紹可參照之前寫的文章:從 0-1走進 kaggle實戰平台

可以通過 kaggle kernels 免費使用 nvidia k80 gpu,經過 kaggle 官方測試後顯示,使用 gpu 後能讓你訓練深度學習模型的速度提高 12.5 倍!

使用步驟

1.開啟 kernel 控制介面,為當前的 kernel 設定執行乙個 gpu:

2.選擇「setting」選項,然後選擇「enable gpu」開啟,接著在控制欄上檢視kernel 是否連上了 gpu,如下圖所示:

檢查是否真的開啟了 gpu(即當前連線到了gpu例項),可以直接在 jupyter notebook 中執行以下命令:

import tensorflow as tf

device_name = tf.test.gpu_device_name(

)if device_name !=

'/device:gpu:0'

:raise systemerror(

'gpu device not found'

)print

('found gpu at: {}'

.format

(device_name)

)

表明已經使用了 gpu 例項。

參考資料

程式設計師初學機器學習演算法

英文原文 4 self study machine learning projects 學習機器學習有很多方法,大多數人選擇從理論開始。如果你是個程式設計師,那麼你已經掌握了把問題拆分成相應組成部分及設計小專案原型的能力,這些能力能幫助你學習新的技術 類庫和方法。這些對任何乙個職業程式設計師來說都是...

國外程式設計師整理的機器學習資源大全

awesome machine learning 翻譯 toolate 本文彙編了一些機器學習領域的框架 庫以及軟體 按程式語言排序 計算機視覺 通用機器學習通用機器學習自然語言處理 通用機器學習 資料分析 資料視覺化自然語言處理 通用機器學習 資料分析 資料視覺化自然語言處理 資料分析 資料視覺化...

國外程式設計師整理的機器學習資源大全

awesome machine learning 翻譯 toolate 本文彙編了一些機器學習領域的框架 庫以及軟體 按程式語言排序 計算機視覺 通用機器學習通用機器學習 自然語言處理 通用機器學習 資料分析 資料視覺化 自然語言處理 通用機器學習 資料分析 資料視覺化 自然語言處理 資料分析 資料...