横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
下記リンクの記事「pythonを使える環境にする」では、pythonの環境設定について説明しましたが、設定が多くすぐ勉強したいのにできない!
っとやる気が一気に失われることでしょう。
この記事では、「pythonのコードをすぐ試したい」という初学者の悩みを解決します。
環境設定もとても大事なステップではありますが、学び始めには面倒でもあります。
そこで、GoogleはColaboratoryという、無料で提供されたpython実行環境を使います。
Google Driveと連携できたり、GPU(グラフィックスプロセッシングユニット)が使えたりと便利なツールです。
本記事ではColaboratoryの紹介と使い方について説明していきます。
目次
Colaboratoryについて
Googleが提供している、Pythonプログラムが実行できるノートブックが使える無料ツールです。
pythonのコードを実行し、その結果を表示するもの。
jupyter notebookと同じです
一定の制限がありますが、AIを学習させるのに必須のGPUなどが使えます。
GPU単体で購入すると数万から数十万します。
それが、無料で使えるのですから、勉強し始めにはとてもありがたいツールです。
GPUはNVIDIAから販売されていますが、GPUを搭載したパソコンメーカーから購入する必要があります。
メリット
これを使ういくつかのメリットがあります。
- ほとんどのライブラリがインストール済み
- すぐ使える環境なので、ハンズオンに活用できる
- GPUが使え、AIの学習ができる
- Google Driveとの連携で大容量のデータも使える
たいていのライブラリがインストールされているので、ハンズオンとかで皆と同じ環境ですぐ始めれますし、それがAIのハンズオンでもすぐ取り掛かれるわけです。
また、Google Driveにデータ保存しておけば、連携して大量のデータも使うことができます。
デメリット
メリットの方が断然大きいですが、いくつかのデメリットがあります。
- ライブラリのバージョンが常に最新
- 90分、12時間ルールと呼ばれる強制停止時間がある
- たまにGPUが使えない時があり、使いたいときに使えない
- Colaboratoryに作成したファイルは自動で削除
ライブラリが常に最新だと、昔動かしたプログラムが動かなくなるということが発生します。
また、AIに数日学習させたいとしても、制限時間が決まっているので、連続で動かすことができず手間がかかります。
Colaboratoryの使い方
では、さっそく使っていきましょう。
インストールは不要で、下記リンクにアクセスするだけです。
事前にGoogleアカウントを作っておいてください。
https://colab.research.google.com/notebooks/intro.ipynb#recent=true
ログイン画面紹介
ログインしていない方は下記画面が出ます。
右上からログインをしましょう。
ログインが終わると次の画面になります。
「Untitled0.ipynb」というノートブックが作成されています。
「セル」にコードを入力し、セルの削除などは「セル操作」で行います。
周りの「メニューバー」や「サイドバー」はノートブックを扱う上でのメニューになりますので、進めながら使うものを説明していきます。
hello worldの表示
さっそくpythonのコードを実行していきましょう。
最初は定番の文字(hello world!)を表示するだけのプログラムを動かします。
「セル」に以下のコードを入力します。
print関数を使って、print(“表示したい内容“)で文字を表示します。
1 |
print("hello world!") |
実行するには、「Shift」+「エンター」で実行できます。
すると、下記のようにセルの下にhello world!と表示されます。
今は、1つのセルだけを実行していますが、すべてのセルを実行する場合は、メニューの「ランタイム」から適切なものを選びましょう。
オレンジ色の箇所は複数セルを実行します。
青色の箇所はノートブックの初期化の箇所ですが、「再起動してからすべてのセルを実行」は初期化してから全てのセルを実行します。
コードは実行すると処理した時の結果を変数に保持しますが、それを初期化します。
90分、12時間ルール
実行前では右上の方が「接続」となっていて、実行すると「RAM」+「ディスク」と切り替わります。
これは、pythonコードを処理するパソコン(インスタンス)につながったということです。
ここが自動で接続されたり、時間がたつと未接続になったりします。
ここがデメリットの「90分、12時間ルール」というものです。
簡単に説明すると
- 12時間:使い始めから12時間
- 90分:使うのやめてから90分
時間が経つとこんな感じで切断されます。
ランタイムはメニューの項目にもありますが、ノートブックのpythonコードが実行されている状態です。
それが切断されて実行されてない状態になるということです。
新規ノートブックを作成してみよう
ログインするとすでに「Untitled0.ipynb」が作成されていて、それを使ってhello world!を表示してみました。
このnotebookではなく、新しいものを作ってみましょう。
メニューの「ファイル」から「ノートブックを新規作成」を選んでください。
新しく、Untitled1.ipynbが作成されます。
ファイル名がこれではわかりにくいので、必要に応じて、ファイル名をクリックして変更しましょう。
ノートブックの保存先はGoogleDrive
ノートブックは下記リンクのGoogleDriveに保存されます。
https://drive.google.com/drive
ここに保存されているノートブックからGoogle Colaboratoryを開くことができます。
GPUを使えるようにする
AIを使って、自分の抱えている問題を解決しようとすると、自分の手元にあるデータを使ってAIを学習したい!っとなります。
その時、GPUがなければ、数週間、数ヶ月待ち続けなければなりません。
しかも学習する時にはより賢くしたいので、条件を色々試すので、何回も学習させます。
そんな時にはGPUが必須ですが、GPU搭載したパソコンは数十万〜数百万となかなか最初は手を出せません。
Colaboratoryでは簡単にGPUが使える状態になります。
メニューの「編集」から「ノートブックの設定」を選んでください。
ハードウェア アクセラレータをGPUに変更して保存してください。
これで、GPUが使えます。
使えるかどうかは、下記コードで確認できます。
1 2 |
import torch torch.cuda.get_device_name(0) |
Tesla T4というGPUを使っていると出力されます。
金額を調べると数十万であることがわかります。それが無料で使えるのです!
ファイルを使う
プログラムではCSVなどのファイルを使うこともあるでしょう。
そんな時は、サイドバーの「フォルダマーク」をクリックして、ファイルをドラッグ&ドロップ若しくは、アップロードボタンを押してファイルを選択してください。
アップロードを下記メッセージが出ます。しばらくするとファイルが削除されるということです。
ファイル名「hello.txt」をアップロードしたとして、open関数を使って、試しに読みこんでみます。
1 2 |
with open('hello.txt') as f: print(f.read()) |
テキストファイルの中に「Hello world!」とデータが入っているので、それが表示されます。
Google Driveと連携する
先ほどの方法だと、ファイルが削除されてしまうので、Google Driveのファイルを使うことが多いです。
また、Google Driveにアクセスしましょう。
https://drive.google.com/drive
どこでも良いですが、マイドライブにファイルをアップロードします。
サイドバーの「フォルダマーク」をクリックして、次に、「GoogleDriveマーク」をクリックします。
そうすると、許可しますか?と言われるので、「GOOGLEドライブに接続」を押します。
しばらくすると「drive」フォルダが現れます。My Driveフォルダを開くと、先ほどアップロードしたファイルが確認できます。
pythonコードで実行するには、ファイルまでのパスが必要なので、ファイルを右クリックしてパスを取得します。
あとは、先ほどのコードに貼り付けて動かすと、Google Driveのファイルが読み込めます。
まとめ
GPUの設定やGoogle Driveの設定がありましたが、使うだけであれば、Colaboratoryにアクセスするだけで簡単に使えます。
勉強会などではすごく役に立つツールではないでしょうか?
pythonを使える環境を用意するのは大変ですが、Colaboratoryを使えば、環境を用意することなくすぐ始められます。