学習コラム記事一覧へ

③Google Colaboratoryを使ってみる【簡単】【すぐ使える】

下記リンクの記事「pythonを使える環境にする」では、pythonの環境設定について説明しましたが、設定が多くすぐ勉強したいのにできない!

っとやる気が一気に失われることでしょう。

②pythonを使える環境にする

pythonのコードをすぐ試したい、そんな初学者の悩みを解決します。

本記事の内容

  • Google Colaboratoryについて
  • メリット、デメリット
  • 使い方

環境設定もとても大事なステップではありますが、学び始めには面倒でもあります。

そこで、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に数日学習させたいとしても、制限時間が決まっているので、連続で動かすことができず手間がかかります。

使い方

では、さっそく使っていきましょう。

インストールは不要で、下記リンクにアクセスするだけです。

事前にGoogleアカウントを作っておいてください。

https://colab.research.google.com/notebooks/intro.ipynb#recent=true

画面紹介

ログインしていない方は下記画面が出ます。

右上からログインをしましょう。

ログインが終わると次の画面になります。

「Untitled0.ipynb」というノートブックが作成されています。

 

「セル」にコードを入力し、セルの削除などは「セル操作」で行います。

周りの「メニューバー」や「サイドバー」はノートブックを扱う上でのメニューになりますので、進めながら使うものを説明していきます。

hello world表示

さっそくpythonのコードを実行していきましょう。

最初は定番の文字(hello world!)を表示するだけのプログラムを動かします。

「セル」に以下のコードを入力します。

print関数を使って、print(“表示したい内容“)で文字を表示します。

print("hello world!")

実行するには、「Shift」+「エンター」で実行できます。

すると、下記のようにセルの下にhello world!と表示されます。

今は、1つのセルだけを実行していますが、すべてのセルを実行する場合は、メニューの「ランタイム」から適切なものを選びましょう。

オレンジ色の箇所は複数セルを実行します。

青色の箇所はノートブックの初期化の箇所ですが、「再起動してからすべてのセルを実行」は初期化してから全てのセルを実行します。

ノートブックの初期化
コードは実行すると処理した時の結果を変数に保持しますが、それを初期化します。

ノートブックの接続と制限

実行前では右上の方が「接続」となっていて、実行すると「RAM」+「ディスク」と切り替わります。

これは、pythonコードを処理するパソコン(インスタンス)につながったということです。

ここが自動で接続されたり、時間がたつと未接続になったりします。

ここがデメリットの「90分、12時間ルール」というものです。

簡単に説明すると

  • 12時間:使い始めから12時間
  • 90分:使うのやめてから90分

時間が経つとこんな感じで切断されます。

ランタイムはメニューの項目にもありますが、ノートブックのpythonコードが実行されている状態です。

それが切断されて実行されてない状態になるということです。

新規ノートブックを作成

ログインするとすでに「Untitled0.ipynb」が作成されていて、それを使ってhello world!を表示してみました。

このnotebookではなく、新しいものを作ってみましょう。

メニューの「ファイル」から「ノートブックを新規作成」を選んでください。

新しく、Untitled1.ipynbが作成されます。

ファイル名がこれではわかりにくいので、必要に応じて、ファイル名をクリックして変更しましょう。

ノートブックの保存先

ノートブックは下記リンクのGoogleDriveに保存されます。

https://drive.google.com/drive

ここに保存されているノートブックからGoogle Colaboratoryを開くことができます。

GPU設定

AIを使って、自分の抱えている問題を解決しようとすると、自分の手元にあるデータを使ってAIを学習したい!っとなります。

その時、GPUがなければ、数週間、数ヶ月待ち続けなければなりません。

しかも学習する時にはより賢くしたいので、条件を色々試すので、何回も学習させます。

そんな時にはGPUが必須ですが、GPU搭載したパソコンは数十万〜数百万となかなか最初は手を出せません。

Colaboratoryでは簡単にGPUが使える状態になります。

メニューの「編集」から「ノートブックの設定」を選んでください。

ハードウェア アクセラレータをGPUに変更して保存してください。

これで、GPUが使えます。

使えるかどうかは、下記コードで確認できます。

import torch 
torch.cuda.get_device_name(0)

Tesla T4というGPUを使っていると出力されます。

金額を調べると数十万であることがわかります。それが無料で使えるのです!

ファイルを使う

プログラムではCSVなどのファイルを使うこともあるでしょう。

そんな時は、サイドバーの「フォルダマーク」をクリックして、ファイルをドラッグ&ドロップ若しくは、アップロードボタンを押してファイルを選択してください。

アップロードを下記メッセージが出ます。しばらくするとファイルが削除されるということです。

ファイル名「hello.txt」をアップロードしたとして、open関数を使って、試しに読みこんでみます。

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を使えば、環境を用意することなくすぐ始められます。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です