3 個相見恨晚的 Google Colaboratory 奇技淫巧!

紅色石頭發表於2019-02-13

試想一下,如果有個免費的線上雲端平臺,既可以不用安裝 TensorFlow 直接使用,又可以實現 GPU 加速訓練,那該是多好的一件事情。你沒聽錯,這種好事確實存在!今天我就重磅介紹一個谷歌推出的免費的雲端工具:Colaboratory。

Colaboratory 是一個 Google 研究專案,旨在幫助傳播機器學習培訓和研究成果。它是一個 Jupyter 筆記本環境,不需要進行任何設定就可以使用,並且完全在雲端執行。Colaboratory 筆記本儲存在 Google 雲端硬碟中,並且可以共享,就如同您使用 Google 文件或表格一樣。Colaboratory 可免費使用。

也就是說,Colaboratory 儲存在 Google 雲端硬碟中,我們可以在 Google 雲端硬碟裡直接編寫 Jupyter Notebook,線上使用深度學習框架 TensorFlow 並訓練我們的神經網路了。超炫!

這裡有 3 個令人相見恨晚的奇技淫巧來簡化它的使用,分別是:使用免費的 GPU、安裝庫、上傳並使用資料檔案。

下面分別介紹:

1. 使用免費的 GPU

在開啟的 Jupyter Notebook 中,選擇選單欄“程式碼執行程式(Runtime)”,“更改執行型別(Change runtime type)”,這時將看到以下彈出視窗:

確保“硬體加速器(Hardware accelerator)”設定為 GPU(預設為 CPU)。設定完畢後點選儲存。

值得注意的是確認筆記本處於已連線的狀態:

檢查是否真的開啟了 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 例項。

Found GPU at: /device: GPU: 0

但是,由於線上 GPU 資源有限,有時候可能會出現下面的問題提示:

就這樣,谷歌允許你一次最多持續使用 12 小時的免費 GPU。

2. 安裝庫

目前,在 Google Colaboratory 中安裝的軟體並不是持久的,意味著每次重新連線例項時都需要重新安裝。但是,Colab 已經預設安裝了需要有用的庫,安裝新的庫也並非難事,方法也有好幾種。

但需要注意的是,安裝任何需要從原始碼構建的軟體可能需要很長的時間。

Colab 同時支援 pip 和 apt 包管理器。無論您使用的是哪一個,記住要在命令前面加上符號 “!”。

# Install Keras with pip
!pip install -q keras
import keras

>>> Using TensorFlow backend.

# Install GraphViz with apt
!apt-get install graphviz -y

3. 上傳並使用資料檔案

我們一般都需要在 Colab 筆記本中使用資料,對吧?你可以使用 wget 之類的工具從網路上獲取資料,但是如果你有一些本地檔案,想上傳到你的谷歌硬碟中的 Colab 環境裡並使用它們,該怎麼做呢?

很簡單,只需 3 步即可實現!

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

from google.colab import files
uploaded = files.upload()

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

這樣就可以直接選擇你想上傳的檔案啦!

選擇檔案後,使用以下迭代方法上傳檔案以查詢其鍵名,命令如下:

for fn in uploaded.keys():
 print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))

例如待上傳的是 iris.csv 檔案,若執行沒有問題的話,應該出現類似下面的提示語句:

User uploaded file “iris.csv” with length 3716 bytes

最後,就使用以下命令將檔案的內容載入到 Pandas 的 DataFrame 中了:

import pandas as pd
import io
df = pd.read_csv(io.StringIO(uploaded['iris.csv'].decode('utf-8')))
print(df)

這種上傳檔案的方法是不是很簡單呢?當然,上傳和使用資料檔案還有其它的方法,但是我發現這一方法最簡單明瞭。

以上就是關於 Google Calaboratory 的 3 個非常實用的技巧,趕緊嘗試一下吧!

最後,可能有的讀者朋友對 Google Calaboratory 不太瞭解的,可以檢視我之前寫的一篇文章:如何在免費雲端執行 Python 深度學習框架?連結如下:

https://redstonewill.com/1493/

原文出處:

https://www.kdnuggets.com/2018/02/essential-google-colaboratory-tips-tricks.html


相關文章