見出し画像

動かして学ぶバイオメカニクス #20 〜Google Colaboratoryの使い方〜

紹介したPythonコードを確認したいが,Pythonの開発環境を整えることまでされたくないという方のために,このシリーズではコードをGoogle Colaboratoryで確認できるようにしている.ただし,紹介したコードを実行するためには,モーションキャプチャやフォースプレートのデータが必要となる.これらをダウンロードし,Google Colaboratoryで利用する方法を補足しておく.

もし,Google Colaboratoryで計算を行わない場合は,ファイルに保存して利用すれば良いので,この章の最後をご覧になっていただきたい.



Google Colaboratoryとは

Google Colaboratory(以下,Google Colab)は、Google社が無料で提供している機械学習の教育などの開発環境である.開発環境はJupyterLab(正しくは「ジュパイター・ラボ」と呼ぶ,Jupyter Notebookの後継)に似たインターフェースを持ち,Pythonの主要なライブラリがプリインストールされている.Googleアカウントを持っていれば,Google ColabでPythonコードを動かすには,ネットワーク環境とブラウザ(Chrome推奨だがSafariでもほとんど問題なく動作する)が必要なだけである.

ちなみにそのJupyterLabは,(筆者のような)ソフトウエアエンジニアではなく,科学技術計算を行いというだけの方などには適し,PythonなどをWebブラウザ上で記述・実行できる統合開発環境である.notebook形式でメモやコメントを保存できる.筆者はエンジニアではないので,notebook形式のほうが,実験結果の整理などに便利である.MatlabやMathematicaに近い感覚で利用ができる.

ただしJupyterLabを利用するにしても計算環境を構築する必要がある.慣れていない方はそれすらも面倒だ.そこで,そのような面倒な開発環境をほとんど構築せずに,アプリをインストールするだけの,JupyterLab Desktopというアプリというものもある.

Pythonの実行環境やライブラリはこのアプリケーションの内部にすべて含まれている.現在,筆者はこれを利用している.ここで紹介している程度の計算であれば,特に問題はないだろう.

また,JupyterLabで書いたコードの拡張子は".ipynb"となり,作成したノートブックはJupyterノートブック形式で保存され,JupyteLab等の互換性のあるフレームワークで閲覧や実行などが行える.このマガジンで共有しているように,読者も他の方と共有ができる.

ここでのGoogle Colabの位置づけはコードの共有であって,無理にColabで動かす必要はない.ただし,いったんColabで確認をする場合もあるだろう.もしColabを利用する場合は,計測データをGoogle Dirveにアップロードする必要がある.そこで,少しだけGoogle Colabでコードを実行するときのために,「Google Driveのマウントの仕方」などの補足を行う.

Google Colabの利用方法

Google Colabの利用にはGoogleアカウントが必要となる.もしお持ちでない方は,アカウント作成が必要となる.アカウント作成はそれほど難しくない.

ログイン後,記事のリンクをクリックしていただくと(たとえば,以下は第17章の記事からのリンク),

実行できるコードが示される.

Google Colabを利用しない場合は,この記事の最後の「Google Colab以外での実行方法」の節をご覧になっていただきたい.

このマガジンで示したコードを実行する際,計測データが必要となることがある.データは記事のリンクから自由にダウンロードできるようにしている.

ただしGoogle Colabでは,「パソコンのローカルに置いてあるファイルを直接利用することができない」.そのため,Google Drive上にダウンロードしたデータファイルを置いて利用することになる.

Google Driveの扱い方を説明する前に,まず知っておくべきColabの基本的な利用方法は以下のセルの実行方法だけである.それ以外は,インターネットで検索をしていただきたい.

1.セルの実行方法

まずは上記のリンクなどから,ノートブックを開くと,図1のようなセルと呼ばれる,コマンドが書かれている部分が見えるはずだ.その左上には実行ボタンが備わっている.

そこで,各セルの実行は図1赤丸のセルの左にある実行ボタンを押すか,Cntr+Enter(または⌘+Enter)のキーで実行できる.

図1

2.Google Driveのマウント

上から順番セルをに実行していき,下記の図2のところで,Google Driveのマウントの準備を行う.この作業を行う前に,データは予めリンクからダウンロードしていただきたい.

図2

ダウンロードした計測データを利用するために,以下の手順でGoogle Driveをマウントする.

I:セルによるマウントの実行
 図2のフィルパスの設定で,下記の図3の部分

図3

を実行すると,

II:アクセスの許可
 
以下の図4の画面が表示されるので,

図4

「Google ドライブに接続」ボタンをクリックし,

III:アカウントの選択
 さらに,次の画面(図5)でアカントをクリックして選択し,

図5

IV:マウントの許可
 さらに,次の画面(図6)で許可ボタンをクリックする.

図6

V:ドライブの階層の確認
 すると,ドライブがマウントされ,図7の左のフォルダーのアイコンをクリックすると,

図7

ドライブのマウントが実行できれば,drive以下にMyDriveがあらたにマウントされる(図8).

図8

VI:新しいフォルダの作成
 このフォルダー以下に,さらにフォルダーを作っても構わない.ここでは,drive/MyDriveの文字の右側にメニューが表示されるプルダウンメニュー()から,図9の「新しいフォルダ」で,drive/MyDrive下にフォルダを作成する.

図9

ここでは,図9のように,Note_Biomechanicsというフォルダをdrive/MyDrive下に作成し,

VII:データのGoogleドライブへのコピー
 その新しいフォルダ下に,3つのダウンロードした計測データを,「ドラッグ&ドロップ」でアップロードすると,

図10

のように表示される.以上で,Google Drive側の設定は終わりである.

このGoogle Driveをマウントせずに,デフォルトのdrive領域にコピーしてもよいが,そのファイルは,Google Colabの利用が途切れると,自動で削除されるので,ここで示したようにGoogle Driveをマウントするほうが懸命だろう.

3.ファイルパスの設定

Google Driveの階層構造とアップロードしたファイル名に合わせて

図11

のように書き換えれば,ファイルの読み込み準備が完了する.

図12のように左のファイルを右クリック,または右側の()のパスをコピーのメニューから取得しても良い.

図12

Google Colab以外での実行方法

もし,別環境でPythonを実行するために,すでにPythonの計算環境を構築していたり,これから構築するという方は,ノートブックをファイルに保存して利用していただければと思う.

ファイルへの保存はファイルメニューダウンロードで実行できる(図13).

JuputerLabやJupyter notebookなどで利用する場合は,ノートブック形式のまま保存したほうが便利であるので,".ipynb"の拡張子を選択するとよいだろう.それ以外は,".py"を選択していただきたい.

図13


Google Colabratoryの複数セルの実行方法

Colabはノートブックのように使用できるのが利点であるが,複数のセルをひとつひとつ実行するのは面倒である.

複数セルの選択と実行方法

そこで,セルをまとめて選択し,まとめて実行できると便利である.

複数のセルはの選択は,shiftキーを押し選択するか,図14のように見出し(この例では「パッケージの読み込み」)の▼の部分を,クリックすれば,

図14

図15のように,次の見出し(「ファイルパスの設定」)までの複数のセルをまとめて非表示にすることができる.

図15

そこで,図15の赤丸部分(▷)をクリックして,複数のセルをまとめて実行することができる.

これ以外に「複数のセルの選択」は,Shift + クリック で選択でき,さらに「複数セルの実行」は,Ctrl/Cmd + Shift + Enter で実行できる.



スポーツセンシング 公式note
スポーツセンシング 運動習慣獲得支援サービス「FitClip」
スポーツセンシング アスリートサポート事業



【解析・受託開発について】

スポーツセンシングでは,豊富な知見を持つ,研究者や各種エンジニアが研究・開発のお手伝いをしております.研究・開発でお困りの方は,ぜひスポーツセンシングにご相談ください.
【例】
 ・データ解析の代行
 ・受託開発
  (ハードウェア、組込みソフトウェア、PC/モバイルアプリ)
 ・測定システム構築に関するコンサルティング など
その他,幅広い分野をカバーしておりますので,まずはお気軽にお問い合わせください.

【データの計測について】

スポーツセンシング社のスタジオで,フォースプレートやモーションキャプチャを利用した計測も行えます.出力されるデータと,ここで示したプログラム(入力データの取り込み関数を少々改変する必要があるが)で,同様な解析を行えますので,まずはお気軽にお問い合わせください.


株式会社スポーツセンシング
【ホームページ】sports-sensing.com
【Facebook】sports.sensing
【Twitter】Sports_Sensing
【メール】support@sports-sensing.com