Google Colaboratoryの使い方
Googleアカウントを持っていれば誰でも使うことができるJupyter Notebook環境であるGoogle Colaboratory(Colab)の使い方を紹介します。
pythonを記述、実行できる環境です
公式紹介ページ
機械学習の分野でよく使われています
最近では論文のコード公開やデモに使われることもあります
##Colabの良いところ
-
環境構築不要
- すぐ書いて、すぐ動かせる
- 有名なライブラリはインストール済み
-
無料でGPU使える
- 数十万するGPUが無料で簡単に使える
- マシンスペックを気にしなくて良い
-
自動保存
- 作ったノートブックはDriveに自動保存される
- 変更は自動で保存される
-
Driveとの連携も便利
-
ローカルからアップロード&ダウンロードする手間と時間を節約
-
共有されたファイルをそのまま処理できる
-
ディスク容量も充実
- 巨大なファイルをDriveやローカルにダウンロードせず処理できる
-
セッション管理だから失敗しても大丈夫
- 間違ってすごく重い処理を回してもローカルのマシンにはノーダメージ
##Colabの開き方
まずGoogleにログインした状態でDriveを開きます
その状態で右クリックすると
「その他」から「Google Colaboratory」を選択します
##ノートブックの作成
先程の動作を行うと
このような画面が開きます
次の赤く囲んだ部分をクリックしてノートブックに好きな名前をつけましょう
ノートブックは自動で保存されていきます
##プログラムの実行
次にプログラムを実行できるよう「ランタイム」に接続します
プログラムは自分のパソコン上で実行されるのではなく、Googleが持っている計算資源で実行されます
赤丸で囲んだ部分をクリックしましょう
すると「接続中」と表示された後、緑色のチェックマークが表示されるのがわかると思います
それでは実際にプログラムを書いていきましょう
次のように入力したら(コードを書く部分を「セル」と言います)左の再生マークをクリックして実行します
セルを実行する時のショートカットキーは「command」+「Enter」または「control」+「Enter」です
マウスのカーソルをセルの下中央に合わせると、「コード」と「テキスト」と書かれたボタンが出てきます
「コード」をクリックすれば新しいセルが作成されます
##ファイルのアップロード・Driveのマウント
写真のオレンジ色に囲まれた部分をクリック
こんな画面になります
まずファイルのアップロードについて説明します
この機能ではローカルのファイルをColabにアップロードして処理できます
(※アップロードしたファイルはノートブックのように保存されないので注意)
上の写真青く囲まれた部分をクリックしてファイルを選択します
次にドライブのマウントについて説明します
この機能はGoogle Driveにあるデータを処理したいときに使います
つまり、ColabとDriveを連携させる操作になります
上の写真中の赤く囲まれた部分をクリックして
「GOOGLE ドライブに接続」をクリック
これで完了です
アップロードされたファイルはこのような形式で見ることができ、右クリックで「ダウンロード」「ファイル名の変更」「ファイルの削除」「パスをコピー」「更新」を選べます
またドラッグ&ドロップで別のディレクトリ移動させることもできます(操作性はあまり良くないですが)
ファイルの中身は、一度左クリックすると見ることができます
(余談 私はこのdriveのマウントを理解するのに丸3〜4日かかりました。今思えばなんで理解できなかったのかと不思議なくらいですが、初心者は意外とつまづくところなのかもしれません)
ちなみに上の写真に「sample data」というところには機械学習を始める入門データ「mnist」(手書きの数字を画像認識するタスク)「california_housing」(カリフォルニアの家賃を予測するタスク)が入っています(しかもtrainとtestに分かれた状態で)
##GPUの使い方
機械学習をする上でGPUが必要になる場面は多々あります
しかし、GPUは数十万円することもあり特に初心者には容易に手が出せません
(余談 最近はbitcoinの急騰でGPUが中々手に入らないそうです 2021/3/1現在)
上のリボン「ランタイム」→「ラインタイムのタイプを変更」→ハードウェアアクセラレータをGPUに変更
で「保存」をクリック
##サンプルコードの使い方
プログラムを組んでいると「これどうやるんだろう」という場面が絶対に出てきます
そんな時に役立つのがサンプルコードです
Colabでは「コードスニペット」と呼ばれる機能です
ここで検索をかけて
「→」をクリックすると自動でサンプルコードが書かれたセルが挿入される
自分が使ったことある例
-
「Showing CV2 Images」
これから画像処理を勉強したいという人は思えておくといいかもしれません。ライブラリ「opencv」のcv2.imshow()はColabでは使えないのでこのコードを実行してcv2_imshow()を使います -
「Camera Capture」
Web cameraから画像を受け取りたいときに使います
##フォーム項目の追加
セルの外から変数の値を変更できます
スライダーやドロップダウンを追加できます
例えば、丁度いい変数の値を探しているときなどに何度も打ち直すのは面倒です
また、人に見せながら実行しているときなどに役立ちます
「挿入」→「フォーム項目の追加」
###インプット
変数タイプは「boolean」「date」「integer」「number」「raw」「string」から選べます
###スライダー
「挿入」→「フォーム項目の追加」
「フォームフィールドタイプ」を「slider」に変更
最小値、最大値、単位を設定できます
スライダーバーが表示されます
変数の値をスライダーで操作できます
###ドロップダウン
「挿入」→「フォーム項目の追加」
「フォームフィールドタイプ」を「Dropdown」に変更
「プルダウンの項目」の「+ アイテム」をクリックするとドロップダウンの項目を追加できます
追加したら、「値を入力してください」というところに値を入力します
##Linuxコマンド
Linuxコマンドを実行できます
基本的には「!」を先頭につければOK
「cd」は「%」が必要
「cd」でpathを指定する場合は「%」、「!」は不要
「ls」は「!」
「wget」も「!」
重いファイルをドライブにもローカル(手元のコンピューター)にもダウンロードしたくないときにおすすめ
機械学習用のデータは数〜数十ギガバイトあることも珍しくないので(特に画像データ)とりあえず試すときには使うことがあります
「cat」も「!」
その他にも基本的に「!」を先頭につければLinuxコマンドを実行できます
使えると便利です(特にwget)
##テキスト
テキストを追加できます
自分のメモや共同作業している相手へのメッセージなどに使えます
markdown形式でかけます
「+テキスト」をクリックして追加します
ネットにあるイメージのアドレスを指定するとそのイメージを挿入できます
(この記事の冒頭に出てくる写真を表示してみました)
また、TeX形式で数式もかけます(先頭と末尾に「$」が必要です)
##設定変更
Colabの設定を自由に変更できます
歯車のマークをクリック
するとこんな画面になります
「サイト」では、外部からのアクセスの設定や通知設定を行えます
ちなみに今、チェックが入っている「実行が完了したときにデスクトップ通知を表示する」を使用するとプログラムの実行終了時に通知が受け取れます
機械学習では、学習に時間がかかるためその間に何かパソコンで別の作業をしたいときなどにおすすめです
vimユーザーの方はこの設定をすると使いやすいかもしれません
(私はvim使えないのでわかりませんが)
こんな感じになります
##Tips
(追記の可能性あり)
上のリボン(「ファイル」「編集」「挿入」「ランタイム」「ツール」「ヘルプ」)のどこに自分の使いたい機能があるかわからなくなるという人へ
##最後に
記事を最後までご覧いただきありがとうございました
今後もどんどん更新していきたいと思います
「無料、独学で機械学習エンジニアになる!~機械学習が学べる無料サイト、書籍~」という記事も書いているので興味のある方はぜひそちらもチェックしてください
さて、ちなみにColabは無料で使える環境ですが、Colab Proという有料版もまもなく日本で使えるようになりますもう日本で使えるみたいです(以前はアメリカだけのサポートでした)(2021/3/1現在)
業務でガンガンColabを使いたいという方はぜひそちらをチェックしてください
Colabは論文のデモにも使われています
自分が試したことのあるデモを載せておきます
CVPR2020のPIFuHD: Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization
単眼RGB画像から人物の3Dモデル(objectファイル)を作る研究のデモです
興味があればぜひ試してみてください(リンクから飛んで「Open in Colab」と書かれた青いボタン)
をクリックしてみてくださいするとColabが開きます