こんにちは。産婦人科医で人工知能を研究している、とみー(Twitter:@obgyntommy)です。
この記事では Google Colaboratory の使い方について基本から応用まで詳しく解説していきます。
さて、皆さんがPython、Deep Learningを学習する際に最初に行うべきことは、Pythonを実行する環境構築です。
特に、Deep Learningの教材では環境を有料でレンタルして実行することも珍しくありません。
有料でレンタルする際には、クラウド環境は数百円/時間で、使った分だけ支払えば良いため、安く感じるかもしれません。
しかし、停止するのを忘れるとあっという間に数万の請求をされる事があります。
学習時間が長く数時間動かすような場合は意外に費用がかかるものです。
また、環境構築を行う際にはGPUの設定や、Pythonで使うライブラリをインストールしたりと色々メンドウです。
こういった、面倒な準備を一気に解決してくれるものが、Google Colaboratory です。
何故こんなに便利なものをGoogle社が提供してくれるのかは、疑問ですね。。
しかしありがたく使わせて頂き、開発ライフを便利なものにしていきましょう。
それでは、Google Colaboratory の設定を解説していきます。
Google Colaboratoryとは
Google Colaboratoryとは、Google Research のツールの一つです。
Google Colaboratory では、誰でもブラウザ上で Python を記述して実行できます。
そのため、機械学習、データ分析、教育に特に適しています。
GPU などのコンピューティングリソース(計算資源)に自由にアクセスしながら、特別な設定の必要なく利用できる Jupyter Notebook サービスです。
Google Colaboratoryのメリット
Python、Deep Learningを勉強するときの最初の壁が、実行環境の構築です。
また、GPUの設定、ライブラリをインストールしたりと色々することがあります。
これを面倒な準備を一気に解決してくれるものが、Google Colaboratory です。
超便利ですね。
Google Colaboratory のメリット
- インストールなどの環境構築が不要
- GPUを使うための費用、設定が不要
- スマフォ、タブレットからも使える
- Githubではcolabで使う前提のものがある
- 複数人が同じ環境で始めることができる
Google Colaboratoryのデメリット
メリットに比べれば、デメリットほとんどありません。
Google Colaboratory のデメリット
- 90分、12時間ルール→自動で止まる制約がある
- GPUへの割り当てができない場合がある
- Pythonはライブラリのバージョン依存が強い
→ バージョンがアップデートされると、以前のコードが動かない場合がある - 大量のデータを使う場合、Google Driveからデータを取得するアクセス速度が遅い
→ Colabが提供する資源は無限ではないので、大勢が一度にGPUを使うとアクセスが落ちます。
Google Colaboratory の使い方
Google Colaboratory を使うにあたってはじめに知るべきこと
下記にアクセスしましょう。
Google Colab
続きを見る
Googleアカウントでログインしていない場合は、ログインしてください。
「メニューバー」>「ファイル」>「ノートブックを新規作成」を選択します。
新しいノートブックが作成できたので、レイアウトについて確認しましょう。
上記画面についての各々のパーツの名称の解説をしていきます。
ファイル名 | ノートブックのファイル名 |
メニュー | Colabのメニュー |
ランタイム情報 | 接続しているランタイムのメモリ、ディスク情報 |
セル操作 | セルの移動、削除などのメニュー |
目次 | ノートブックの目次 |
スニペット | コードスニペット(テンプレートのようなもの) |
ファイル | ファイルの一覧。GoogleDriveに接続したファイルなど参照が可能 |
コードセル | pythonコード入力箇所 |
出力 | コード実行時の結果 |
いくつか、コードを実行してみましょう。
まず、print文
を実行してみましょう。print文
の使い方は以下の記事を参考にしてください。
Pythonのprintの書き方について【基本から応用まで】
続きを見る
1 | print('Hello Google Colab!') |
次に、Deep Learningで使う TensorFlowで確認してみましょう。
2020年4月1日時点ではver 2.2.0-rc2となります。Tensor Flow は google で開発された機械学習のライブラリなのです。
1 2 | import tensorflow as tf tf.__version__ |
Google Colaboratoryでファイルを使う
ファイルを読み込んで使いたい場合は、まず以下を実行しましょう。
- ファイルパネルを開く
- ファイルをアップロード、もしくはドラッグ&ドロップ
以上で使いたいファイルをColabにアップロードできます。
この際に、下記の警告が出ますが、気にしなくてOKです。
しばらくしたらファイルは削除されますので、ご安心を。
一時的に使いたいファイルのみをアップロードしましょう。
ファイルを維持して使っていきたい場合は、後ほどの「GoogleDriveとの連携」を参照ください。
早速、アップロードしたファイルを読み込んでみましょう。
今回は、適当に用意した test.txt
をアップロードしたので、このファイルを読み込んでみます。
1 2 | with open('test.txt') as f: print(f.readline()) |
test.txt
には Hello Colab!
の文字が保存されていますね。
無事に表示できているのが確認できました。
Google ColaboratoryにおけるGPUの設定方法
ColabではNvidia社のTesla K80(T4、P4、P100 )という80万相当のGPUが無料で使えます。
GPUとは
GPU(Grapics Processing Unit)は画像処理などの高負荷な演算処理などで利用されています。
CPU(Central Processing Unit)よりも多数のコアを搭載しており、処理能力が高く、大規模データで処理のための負荷の高い演算を行う際にも使われます。
GPUにはその性能により多くのものが出回っています。安いものだと数万円から、高性能なものだと数十万円以上もすることもあります。
Google Colaboratory はそのGPUが無料で使用できるので、使わない訳にはいきませんね。
そのためには、ノートブックの設定を変更します。
「メニューバー」>「編集」>「ノートブックの設定」を開きます。
ハードウェアアクセラレータでGPUを選択して、保存してください。
これで、GPUの環境が使えます。
PyTorch で確認してみましょう。下記を実行してみてください。
PyTorchはFacebookで開発された機械学習ライブラリになります。
1 2 | import torch torch.cuda.get_device_name(0) |
Tesla P100というGPUが割り当てられていますね。
Colabで用意されているK80、T4、P4、P100 のうちの1つで、大抵はTesla K80というGPUが割り当てられることが多いです。
Google Colaboratoryの使用上の制約と対策
Colabは無料で使えますが、その計算機の資源はもちろん無限ではありません。
そのため、以下の場合には要注意です。
- ノートブックを一定時間(90分)使っていない。
- 割り当てられたインスタンス(仮想マシン)が一定時間(12時間)過ぎる。
上記の場合には、強制的に実行が止められます。
90分ルールと12時間ルール
Google Colaboratoty には90分ルールと12時間ルールがあり、要注意です。
以下の二つのいずれかで、Pythonコードを実行していても停止されます。
- 12時間ルール:ノートブックを実行し、仮想マシンの割り当てから12時間
- 90分ルール:ノートブックの使用をやめてから90分
12時間ルールの対策
12時間で困るときは、Deep Learningで長時間学習する場合が多いです。
その場合、定期的に学習結果をGoogle Driveに保存することで対策できます。
GoogleDriveへの保存は後の「GoogleDriveと連携」を参照ください。
90分ルールの対策
ノートブックを普通に触っている分には、このルールは気にする必要がありません。
しかし、Deep Learningを学習し始めると「放置する状況」が起こりえます。
そのときはブラウザの更新処理をすることで対策できます。
この更新処理は、下記のAutoRefreshで自動更新することで解決できます。
Chrome ウェブストア
続きを見る
AutoRefresh はGoogleが提供しているインターネットを見るChromeというアプリの拡張機能です。
この機能は、設定した時間がくると自動で、更新(ウェブの再読み込み)を行ってくれる便利な機能があります。
Google ColaboratoryとGoogleDriveの連携
すでに先ほど作成されたノートブックは、GoogleDriveに保存されています。
早速 Google Drive を開いてみましょう。
Google Drive: Sign-in
続きを見る
GoogleDriveを開いて見ると、Colab Notebooksというフォルダができているのが分かります。
Colabで新規作成で作ったファイルはここに保存されます。
GoogleDriveからColaboを使う
Google DriveからColabを使う場合は、左上の「新規ボタン」からGoogle Colaboratoryを選択してください。
すると、新しいノートブックが立ち上がり、保存すると今のフォルダに保存されます。
GoogleDriveのマウント方法
ノートブックでは色々なファイルを読み込む事になりますが、単にColabにアップロードするとファイルは後で削除されてしまいます。
そのため、Google Driveに保存されたファイルを使うことが多いです。
まず、以下の図の様に「ファイルパネル」にある「ドライブをマウント」を押します。
下記メッセージが出ますが、左下に出てくるGoogleドライブに接続を押します。
数秒待つと、「ドライブのマウント」→「ドライブのマウント解除」という文字に変わり、driveフォルダが現れます。
driveフォルダが出ない場合は、更新ボタンを押しましょう。
Google Driveのファイルの使い方
ファイルパネルのフォルダから対象のファイルを探しましょう。
探したら、右クリックで「パスをコピー」を選択して、ノートブックのセルに貼り付けます。
パスとは
パスとはファイルの所在、アドレスのことを意味します。
これで、使いたいファイルのパスが取得できるのであとは通常のファイル操作と同じです。
Google Colaboratoryでライブラリをインストールする方法
たいていのライブラリがColabにはすでにインストールされています。
それでも使いたいライブラリがインストールされていない場合について解説していきます。
下記を実行することで、ライブラリをインストールする事ができます。
ライブラリ名をインストールしたいものに置き換えてください。
1 | !pip install ライブラリ名 |
注意点として、一回インストールしたから今後インストール不要というわけではなく、Colabを使い始めるときは毎回インストールが必要です。
バージョンダウン
たいていのライブラリは最新にアップグレードされています。
しかし、以前のバージョンを使いたい場合は、下記を実行してインストールしなおしてください。
1 | !pip install ライブラリ名==バージョンNo |
スマフォ、タブレットからの学習モニタリング
Colabで学習させているとき、学習状況を確認したい場合には以下の確認方法があります。
- スマフォ、タブレットからColabを開いて確認
- アプリのhyperdashで確認
スマフォ、タブレットは下記のように割と簡単に見れますので、超便利です。
hyperdashという下記アプリのサービスを使うという方法で可能ですの、使用すると便利ですよ。
まとめ|Google Colaboratoryの使い方
最後までお疲れ様でした。
これで、Google Colaboratory の概要と基本的な使い方を学習する事ができましたので、環境構築はできるかと思います。
実際の実務現場でも、大量の画像などの情報を処理する際など、負荷が高い処理には Google Colaboratory が使われています。
実際に読んでみてお分かりになったかと思いますが、初期設定簡単ですよね。
更にGPUも使用できるので、機械学習を始める入門の方には非常に便利なツールです。
それでは早速、以下のロードマップでPythonの学習を始めていきましょう。
Python入門者のための学習ロードマップ【初心者向け勉強法】
続きを見る