Google Colaboratory入門

目次
  1. Pythonとは
  2. Pythonの環境設定
  3. Google Colaboratoryへログイン
  4. 最初のページの解説
  5. データサイエンスのページ説明
  6. Google Driveの利用(マウント)
1.Pythonとは

 Googleが猫の画像をインターネットから集めて学修させ、猫の写真を自動判別できるようになったと聞いたことがありますね。これは、生物の脳神経の構造を模倣したようなコンピュータプログラムのプログラムの一つで、マシーンラーニング(機械学習)と呼ばれる方法の中のDeep Learningと呼ばれるアルゴリズムの成果でした。
 人は猫と犬の写真を見て概ねどちらかを当てることができますね。以前のコンピュータではこれがとても難しかったのです。その識別精度を上げたのがDeep Learningというアルゴリズムです。機械学習の中枢のプログラムにgoogle社が公開しているtensorFlowというプログラムがセットがあります。これがPyhtonのモジュールとして公開されていて、google colaboratry(以下google colabと略します)に準備されています。ここではPythonで簡単な計算をしてみましょう。後には心電図波形のフーリエ変換に調整します。プログラムは難しいというよりこんなことで計算できるのだということを体験してください。

2. Pythonの環境設定

Macでterminalアプリを起動して「python」と入力してリターンキーを押すと「>>>」というプロンプトが表示される機種があります。「>>>1 + 1」リターンキーを押すと「>>>2」と表示されます。1+1を実行して解答2を返して来たわけです。
 それ以外にも多くの実行環境の設定方法が公開されています。科学計算環境を一度に設定するAnaconda(https://www.anaconda.com/)はよくりようれています。またJyputerNotebooks(https://jupyter.org)も有名です。これはらPythonの動作環境をdownloadしてinstallする必要があります。Pythonの環境構築の詳細は、https://www.python.jp/を参照してください。terminalアプリでPythonを構築する場合は、pyenvを使っていろいろなpythonのバージョンを切り替えることができるという利点があります。
一方、Google Colaboraryはログインするだけですべて整います。バージョン管理も必要ありません(ただし、登録されていないモジュールもあります。)。

目次へ

3. Google Colabにログイン

まずはgoogle colaboratoryと検索に入力してログインしましょう。Chromeを利用するとよいかもしれません。

初めてログインすると以下のような画面になります(2022年9月)。ログインするともう、Pyhtonのプログラム環境が整った世界に入りました。左のナビゲータには目次があり、Pyhtonの勉強を助けてくれます。動画は英語に日本語字幕が着いているので一度みてください。まずははじめにのところを見ていきます。

以前ログインしている場合は、左の図のようなメニューが出ます。右下の「キャンセル」を選択すると上の画面が出るはずです。

目次へ

4.「はじめに」のところを解説

はじめにのところを見てみましょう。最初のコードセルを見てください。イコールの左の「seconds_in_a_day」は変数です。「x=」のxです。これは一日の秒数を計算している式ですね。Pythonでは変数を簡単に設定できます。

その下には変数「seconds_in_a_day」を使って一週間の秒数を計算します。計算した変数を入れ実行すると(▶をクリックす)ると、変数の値が表示されますね。この横三角マークは実行コマンドです。右のコードに書かれた式(プログラム)を実行します。
2行目の「seconds_in_a_day」は計算結果を出力しなさいという意味になります。通常ですと「print(second_in_a_day)」と記述する必要があります。

pythonのルールでは変数を出力するにはprint()コマンドを利用します。google colabではこれを省いて変数だけでもOKです。
seconds_in_a_day = 24 * 60 * 60print(seconds_in_a_day)
このコードの実行でも同じ結果が表示されます。次のseconds_in_a_weekも実行して解答を確認してみましょう。

5.データサイエンスのページの内容解説


左のナビゲーターのデータサイエンスの項目をクリックすると以下のようなページに飛びますね。
このページについて簡単に解説します。
まずは、左の▶︎をクリックしてプログラムを実行してみましょう。
※うまくいかな方はページの最初から一つ一つプログラムを実行してください。

このプログラムリストを解説していきます。
まず、importはモジュールを読み込むコマンドです。この後に「as」がついています。asは英語で「=」と同じです。日本語では「〜として」と思ってください。つまり「numpy」モジュールを「np」という記号で表して読み込むわけです。
次の行はmatplotlib(math plot library)からpyplotを「plt」として読み込みますと書かれていますね。
これで必要なモジュールが利用できるようになりました。
numpyは数値計算・行列計算のライブラリです。
pyplotはグラフを書くライブラリです。

つぎの 行は変数ysにデータを入れます。データは200に乱数を加えたものです。この乱数の計算に先ほど定義したnp(numpyモジュール)のrandom.randn()という関数を使います。random.randn()は平均値0で分散1の乱数です。これを(100)つまりysのデータ数100個になります。

次はxを定義します。xは範囲がrangeで定義され、その範囲はlen(ys)つまりysの数(100個)となります。lenはlengthでデータの長さを示します。

グラフを作ります。
plt.plotで横軸x(0-99)で値がysで各値を-(線)で結びます。
次にplt.fill.betweenをつかて結んだ線の下を緑に塗ります。

最後に上で作成したグラフをタイトルをつけて表示します。

そうすると以下のようなグラフが表示されます。
このグラフは乱数を利用しているので、実行するたびに少しずつ形が異なります。全く同じにはなりません。多少違っていても気にしないでください。

目次へ

6. Google Driveの利用(マウント)

google colabはgoogleのクラウドサービスの一つなので、当然google driveと紐づけることができます(ただし、標準では15GBの容量しか無料ではありません。本学の学生でいるうちは上限がもっと高いですが)。まずはChromeで新しいタブを開いて、google driveにログインしてください。新しいページで開いてgoogle colabと並べて操作しても結構です。下の図では左がdriveで、右がcolabです。

それでは次にcolabでdriveをマウントするための説明をします。
「マウント」をとるというのは最近の言葉のようですが、語源は「乗せる」で、コンピュータでは「使えるように接続する」という感じの意味です。PCに外付けのHDDを「マウント」するなどと使います。Linuxではこの操作が必要でしたが、Macやwindowsでは自動的にマウントを行います。反対に接続を切ることを「マウントを外す」英語ではunmount(アンマウント)と言います。つまり、google driveをcolabの中から使えるようにする手続きです。
まずは、driveというモジュールをインポートします。
次にmountを行います。google driveは/content/drive/というホルダに当たります。

Colabの新しいコードの欄にコピーして右の▶︎をクリックして実行してください。
from google.colab import drive
drive.mount(‘/content/drive/’)

Google colaboratoryにログインしたのと同じアカウントを選択して許可を与えます。(異なるアカウントでも利用できるかは試していません)

次にOSモジュールをインポートしてフォルダを変更します。OSモジュールはlinxuのコマンドを実行するための準備モジュールです。
フォルダはlinuxではdirectory(ディレクトリ)と言います。chdirはchange directoryです。
google driveにログインすると上の図のように「マイドライブ」とカタカナで書かれています。英語では「My drive」です。
マイドライブの下に「Colab Notebooks」というディレクトリがあり、そこにchange directoryします。そのあと、pwd(print working directory)で今いるとこどこ?という質問に答えてくれる便利なコマンドです。Linuxのコマンドなので前に「!」をつけて実行しましょう。
ちなみに「#」はコメントアウトといってこの記号の後はコメントなので実行しないでいいよという指示です。便利ですね。
ls(list)を実行するとColab Notebooksのフォルダにあるファイルをリストしてくれます。

import os
os.chdir(“/content/drive/My Drive/Colab Notebooks/”)
!pwd

これでcorabのコードからgoogle driveにあるファルを利用できるようになります。

目次へ