Google Colaboratoryでプログラミングを学習しよう
プログラミング言語「Python」の初学者から実用まで、簡単に始められるGoogle Colaboratory(略称:Colab)について紹介します。Colabは最短でPythonによる機械学習を体験できることが最大の利点です。元は英語で書かれたコンテンツで日本語に翻訳されていますがそれぞれの用語についてはあまり詳しくは説明されていません。コンピューターの基礎知識を身につけられている方向けです。ニューラル ネットワーク、機械学習に用いるためのソフトウェアライブラリ「TensorFlow」、Googleが開発した機械学習に特化した特定用途向け集積回路 テンソル・プロセッシング・ユニット「TPU」といった用語もポンポンと出てきます。
画像は、「Google Colaboratoryへようこそ」のスクリーンショットです。
Colabとは | 紙やPDFの学習テキストとは異なり、オンラインのインタラクティブな環境でプログラミング言語Pythonを学べるGoogle Researchのサービスです。学習テキストとプログラム実行環境がブラウザ表示に一体化されているので、インストール無しですぐに始められます。 |
---|---|
料金 | Google Colabには無料版と更にマシンパワーを占有できる有償のPro版があります。 |
利用方法 | Google Colabを使うために必要なものはインターネット接続環境とGoogleアカウントです。PCやスマホ・タブレットのブラウザでも利用できます。WindowsやAndroid、ChromeOS、iOS、MacOS、Linuxなどさまざまなデバイスから利用可能です。 |
始めてみる | さっそく始めてみましょう。Chromeで実行した時の画面を紹介します。自分のペースでColabのコンソールを使って手を動かしながら理解を深めていきましょう。説明を読んだらさっそくコードセルあるいは省略してセルと呼んでいる入力部分にコードを入力して実行します。追記したメモやコードは自身のアカウントのGoogleドライブに保存されます。しかもPCの学習の続きをスマホで続けることも簡単にできます。 |
テクニック | Google Colabの基本操作から便利な使い方を紹介します。なお、Stable Diffusion web UI等の他社サービス等を利用する画像生成AIの実行は規約に書かれている禁止行為「ディープフェイク」にかかる恐れがあるので本ページでは扱いません。 |
事例 | Google Colabの利用事例、体験談を紹介します。学校のプログラミング学習環境としての利用も増えています。 |
参考リンク | Google Colabを活用するためのさまざまな資料を紹介します。 |
Colabとは
Colabの概要
紙やPDFの学習テキストとは異なり、オンラインのインタラクティブな環境でプログラミング言語Pythonを学べるGoogle Researchのサービスです。学習テキストとプログラム実行環境がブラウザ表示に一体化されているので、インストール無しですぐに始められます。入力と表示がブラウザ、実行はGoogleのサーバー側で行われます。
説明を読むだけでなく自分でもブラウザ上でPythonを記述して、その場で実行できるのでPythonの独学に最適です。内容は最新かつ高度ですのでITコンサルタント、エンジニア、プログラマ、情報システム部門などでの業務経験がある人に適しています。
使われている技術
オープンソース プロジェクト「Jupyter」をベースにGoogleによって「Jupyter Notebook」サービスとして提供している環境です。
料金
Google Colabには無料版と更にマシンパワーを占有できる有償のPro版があります。現時点で無料版の利用期間は無期限です。もちろん、無料版を利用する際にクレカ登録を求められないので安心して使い始められます。無料版と有償版それぞれ異なる利用制限事項があります。プログラムを長時間実行する必要がある場合、機械学習などのコンピューティングリソース(特にGPU性能、メモリ容量)を大量に必要とする場合には無料版からPro版にアップグレードできます。
利用料金額について Pro 1,179円/月、 Pro+ 5,767円/月です。(2023年8月現在)
Colab のプランより。
Colaboratory よくある質問
→制限事項
→リソース制限
利用方法
Google Colabを使うために必要なものはインターネット接続環境とGoogleアカウントです。PCやスマホ・タブレットのブラウザでも利用できます。WindowsやAndroid、ChromeOS、iOS、MacOS、Linuxなどさまざまなデバイスから利用可能です。
Google Colabを利用するためにはGoogleアカウントが必要で、ColabのWebサイトへアクセスするときにはログインを求められます。ブラウザのみで一連の操作をしようとしたときやデータ保存先になるGoogleドライブの利用などを考えるとお薦めのブラウザはChromeです。
Google Colaboratory
https://colab.research.google.com/
始めてみる
Google Colaboratoryへアクセスすると、「Colabへようこそ」が表示されます。
「Colabへようこそ」と表示されているWebページ自体もColabのノートブックとして表示されています。読取りのみの権限で参照しているので書込みを保存する場合にはドライブの書き込み可能なパスに保存するようにします。
まずはじめに簡単に画面の説明をします。コード スニペット、コマンドパレット、ターミナルについてです。
コード スニペットは、よく使われる処理が書かれたコードを検索・選択してノートブックに挿入することができます。例えばファイル処理であれば読込するファイル名、スプレッドシートなど固有の値を書き換えれば使用できるので大変便利です。
コマンドパレットは、Colabやノートブックに関する操作を検索あるいはリストから選択して実行するためのアイコンです。
ターミナルは、Colab Pro版以上で利用できる対話型のUbuntuベースのターミナルです。右下のアイコンをクリックすると対話型のシェルが起動します。コマンドラインでスーパーユーザ権限を持ったシェルを介してコマンドを打ち込んでGoogle Colabマシンを利用できます。
Google Colaboratoryに用意されているノート(Notebook)を読み込みます白紙のノートは「ノートブックを新規作成」で作成できます。
新規作成したノートにまずは手始めとして「Hello World」と出力してみます。
これから本格的にPythonのコードを打ち込み始める前に、Linuxのコマンドを使って自分に割り当てられているColabのマシン環境を把握します。
Linuxログイン時に表示されるメッセージを確認してみます。通常はOSのディストリビューションやバージョンが分かります。
現在のディスクの空き容量、fileシステムのマウント状態を確認します。
現在の作業ディレクトリの絶対パスを表示します。
Pythonのバージョンを確認します。Pythonのバージョンの違いでコード記述が異なることがあるため、他の参考書などを使う際には留意します。大体は何事もなく動作しますが打ち込んだコードと結果が違ったり、エラーになるかもしれません。
Pythonのインストールパスを確認します。
Pythonのパッケージ管理システムpipでインストールされているパッケージを一覧表示するコマンド「pip list」を実行します。
パッケージの名称とバージョンが表示されます。
ほかにも冒頭に「!」を付けてLinuxコマンドを実行してみて環境を把握しておくと良いと思います。
接続時間の制限
非アクティブ状態や接続が続くとランタイムの切断となり、実行している環境のメモリ状態などがリフレッシュされます。無料版では最大接続時間は90分です。
ちょっとした計算処理を実行して結果をGoogleドライブに保存するような一連の処理が接続時間内に終わるようなら無料版で十分なのですがタイムアウトを伸ばすには有償のPro版が必要ということです。Pro版の接続時間は最大24時間になります。
テクニック
Google ColabのノートブックのローカルPCへのダウンロードとアップロード
Colabのノートブックは .ipynb形式や.py形式でPCのローカルドライブにもダウンロードできます。ダウンロードしたファイルを再度アップロードする場合には、Colab - ファイル - ノートブックをアップロード、あるいは、Colab - ファイル - ノートブックを開く - アップロードです。標準のフォルダはGoogleドライブのマイドライブ - Colab Notebooksですので通常はここにアップロードします。
Google Colabのショートカットキー
Colab - ツール - キーボードの設定 にて、ショートカットキーの設定の表示、変更が可能です。ショートカットを追加、変更するには、キーの組み合わせをクリックしてから新しいキーを入力します。
キーボードショートカットのみで操作を可能にしておくと、マウスを使ったカーソル操作を回避してコーディングに専念できますね。
事例
Google Colabの利用事例、体験談を紹介します。学校のプログラミング学習環境としての利用も増えています。ただし、小中学校で生徒に利用させる場合にはGoogleアカウントの作成や管理で引っ掛かってしまうことがあります。日本など多くの国で13歳が Google アカウントをユーザー自身で管理できる最低年齢となっています。年齢に達するまではファミリーリンクを使って保護者が管理するか、Google Workspace for Educationのアカウントを利用することになります。通常のGoogle アカウントを使ってColabを運用するためには学校が主体となって保護者に説明し、アカウントの管理と作成を依頼することになる点がネックです。選択型の課外活動やプログラミングスクール(塾)などに参加する学生を対象に始めるのが現実的と思われます。
情報教育での実践 | プログラミングの準備 -Google Colab とPythonの使い方-(PDF) [私立大学情報教育協会] Colabの起動から、Pythonでグラフィックスを描画するところまで解説と課題、答えがまとめられています。 「今すぐ使えるかんたん Google for Education ~導入から運用まで、一冊でしっかりわかる本~」 Google for Education (PDF) [株式会社技術評論社] P.212 Chromebook で プログラミング学習はできない? |
---|---|
Colab Tips | Google ColabユーザーのためのTipsトップ10 [@IT] Colabをもっと便利に活用するためのTips(スクラッチパッド、RAM増量ランタイムなど)を紹介。 Google Colabで知られていないが有用な機能7選 [@IT] Colabをもっと便利に活用するためのTips(インタラクティブ・テーブル、実行履歴、コードによるファイル表示、絵文字&LaTex文字の入力サポート、コマンドパレット、GitHub用リンク付きバッジ生成、Colab新バージョンのリリースノート閲覧など)を紹介 |
Pro版についての使用感 | Google Colab Proが日本から利用可能に [WebBigdata Keep Learning!] Colab Proを使ってみた時に気付いたことをまとめています。 GPUバックエンドに接続できませんが出たのでColab Proに課金した話 [エンジニアの電気屋さん] Colab ProだとGPUガチャで良いのが引けるそうです。 |
参考リンク
Google Colabを活用するためのさまざまな資料を紹介します。2023年8月現在、AIコーディング機能が米国のPro+ユーザに試験提供されるようになっており他にも新しい機能が追加されることが期待されます。最新情報は公式サイトなどでキャッチアップすることをおすすめします。
Jupyter | Jupyter [jupyter.org] すべてのプログラミング言語にわたるインタラクティブ コンピューティングのためのフリー ソフトウェア、オープン スタンダード、および Web サービス Project Jupyter [フリー百科事典『ウィキペディア(Wikipedia)』] 数十のプログラミング言語にわたるインタラクティブコンピューティング用のオープンソースソフトウェア 、オープンスタンダード、サービスを開発する」ために設立された非営利団体。 |
---|---|
Google Colab | AI-powered coding, free of charge with Colab [Google Blog] Google Colab は、Google の最も先進的なコード モデル ファミリである Codey を使用した AI コーディング機能を間もなく導入します。 ローカル ランタイム [Google Colab] ローカルマシンでランタイムに接続するメリット/デメリット、リスクについての説明です。 |
学習教材 | AI自習ドリル Google Colabの使い方 [CQ出版社 コンピューター・サイエンス&テクノロジ専門誌 Interface] AIを構成する「機械学習」や「データ分析」の手法を学ぶ電子書籍の紹介です。 |
更新履歴
2023年8月9日 更新(執筆:SENRI)
2023年8月8日 作成(執筆:SENRI)