はじめに
Macを使っている身としては、機械学習でGPUが使えないのはとても痛いです。
そこで、Googleが提供しているColaboratory(Colab)を使えば、GPUやTPUを無料で利用することができます。
WEBブラウザからPythonを実行できるサービスで、次の特長を備えています。
- 環境構築が不要だ。
- GPU 、TPUが利用できる。
- 簡単に共有できるらしい。*使ったことがない。
環境構築が不要だとは言え、標準でインストールされていないライブラリもあるので、それは都度インストールする必要がある。多少手間だが、無料のサービスなので、有り難く利用させて頂きます。はい。
利用するにあたり最低限必要な知識
GPUやTPUの使用方法
以下の手順で、GPUやTPUが有効になります。その際、今まで実行したコードの結果(メモリ)などがクリアされますので、一から実行しなおしてください。
- 左上にあるメニューの「ランタイム」の中にある「ランタイムのタイプを変更」を選択します。
- ハードウェア アクセラレータのメニューからGPUやTPUを選択し、保存します。
- 念の為、左上にあるメニューの「ランタイム」の中にある「ランタイムを再起動」を選択します。
なお、機械学習のライブラリのパラメーターもGPUを有効にする必要がありますので注意してください。
参考までにcatboostは以下になります。'task_type' : 'GPU'
Google Driveをマウント
なにかとCSVなどのデータを利用する機会が多いと思います。
Colabでは、Google Driveをマウントして外部ファイルを利用することができます。
以下のコードを入力して実行します。するとリンクが表示されますのでクリックしてコードを受け取ってください。
そのコードを入力してEnterキーを押すとマウントされます。
from google.colab import drive drive.mount('/content/drive')
マウントされたドライブのパスは以下になります。
drive_dir = 'drive/My Drive/python/'
モジュールをインストール
Colabでは、よく使うライブラリは標準でインストールされていますので、とても便利です。
しかし、中にはインストールされていないライブラリもありますので、都度自身でインストールする必要があります。
以下のようにコードを入力して実行します。!pip
と「!」を入力する必要がありますので注意してください。
!pip install catboost optuna
なお、インストールされているライブラリの確認は以下になります。
!pip list
ランタイムのリセット:90分ルールと12時間ルール
Google Colaboratoryでは以下の条件を満たす場合、実行中のプログラムがあってもインスタンスの状態がすべてリセットされます。
- 12時間ルール:新しいインスタンスを起動してから12時間経過
- 90分ルール:ノートブックのセッションが切れてから90分経過
ぐぐると対策がいろいろありますが、Chromeの自動再読み込みの拡張機能を入れましたが、スパイウェアだと認識しました。今はちょっと怖いので使いません。無料なのだから規定の範囲内で利用することにします。
とは言え、90分はあっという間に経ってしまいますので注意が必要ですね。。。
まとめ
無料でPythonの環境が利用できるサービスは本当に助かります。しかも、GPUやTPUが使えます〜!
みなさんも有り難く使っては如何でしょうか?
コメント