Skip to content

Commit e0b7127

Browse files
authored
Add guide for using Google Colab
This document provides a comprehensive guide on using Google Colab for executing Python code in a browser environment. It covers the purpose of the page, how to create and run notebooks, manage packages, and utilize Google Drive.
1 parent 96528be commit e0b7127

1 file changed

Lines changed: 156 additions & 0 deletions

File tree

docs/interface-colab.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# Google Colab の使い方
2+
3+
## 1. このページの目的
4+
5+
このページでは,Google Colab を使ってブラウザ上で Python を実行する方法をまとめる.
6+
7+
Google Colab は,ローカルに Python 環境を作らなくても使えるノートブック型の実行環境である.
8+
ただし,コードは自分のPCではなく,基本的には Google 側のランタイム上で実行される.
9+
そのため,ローカルの `venv`,Poetry,`conda` 環境をそのまま使うわけではない.
10+
11+
## 2. Google Colab とは
12+
13+
Google Colab は,ブラウザ上で Jupyter Notebook 形式のファイルを作成・実行できるサービスである.
14+
Python コードをセル単位で実行でき,出力として表・図・グラフなどをその場で確認できる.
15+
Markdown を使って文章や数式を書くこともできる.
16+
17+
Colab は次のような場合に便利である.
18+
19+
- ローカル環境を作らずに Python を試したい
20+
- 短いコードをすぐに実行したい
21+
- Notebook を共有したい
22+
- Google Drive 上のファイルを使いたい
23+
- GPU や TPU を使った計算を試したい
24+
25+
一方で,ローカル環境の代わりとして完全に同じように使えるわけではない.
26+
ランタイムは一時的な実行環境なので,必要なパッケージやファイルは適宜準備し直す必要がある.
27+
28+
## 3. Notebook を作成する
29+
30+
Colab を使い始めるには,次の手順を行う.
31+
32+
1. ブラウザで Google Colab を開く
33+
2. Google アカウントでログインする
34+
3. 新しい Notebook を作成する
35+
4. コードセルに Python コードを書く
36+
5. セルを実行する
37+
38+
Notebook ファイルの拡張子は `.ipynb` である.
39+
これは Jupyter Notebook と同じ形式である.
40+
41+
## 4. セルを実行する
42+
43+
Colab では,コードをセル単位で実行する.
44+
コードセルに Python コードを書き,左側の実行ボタンを押すか,`Shift + Enter` を押すとセルが実行される.
45+
46+
例:
47+
48+
```python
49+
print("Hello, world!")
50+
```
51+
52+
実行すると,セルの下に次のように表示される.
53+
54+
```text
55+
Hello, world!
56+
```
57+
58+
## 5. セルを追加する
59+
60+
Colab では,コードセルとテキストセルを追加できる.
61+
62+
* `+ Code`: Python コードを書くセルを追加する
63+
* `+ Text`: Markdown で文章を書くセルを追加する
64+
65+
テキストセルでは,説明文や数式を書くことができる.
66+
67+
例:
68+
69+
```markdown
70+
# 見出し
71+
72+
これは説明文である.
73+
74+
数式も書ける:
75+
76+
$$
77+
y = ax + b
78+
$$
79+
```
80+
81+
## 6. パッケージをインストールする
82+
83+
Colab のランタイムには,よく使われるパッケージが最初から入っていることがある.
84+
ただし,必要なパッケージが入っていない場合は,Notebook のセル内で `pip` を使ってインストールできる.
85+
86+
例:
87+
88+
```python
89+
!pip install quantecon
90+
```
91+
92+
`!` を付けると,Python コードではなくシェルコマンドとして実行される.
93+
94+
ただし,Colab のランタイムは一時的な実行環境である.
95+
ランタイムが切断されたりリセットされたりすると,追加でインストールしたパッケージは消えることがある.
96+
毎回必要なパッケージは,Notebook の最初の方にインストール用セルをまとめておくとよい.
97+
98+
例:
99+
100+
```python
101+
!pip install quantecon
102+
!pip install interpolation
103+
```
104+
105+
## 7. ファイルを扱う
106+
107+
Colab 上で作成した一時ファイルは,ランタイムが終了すると消えることがある.
108+
保存しておきたいファイルは,Google Drive に置くか,ローカルにダウンロードする.
109+
110+
左側のファイルアイコンから,ファイルをアップロードしたり,作成されたファイルを確認したりできる.
111+
112+
## 8. Google Drive を使う
113+
114+
Google Drive のファイルを Colab から使いたい場合は,Drive をマウントする.
115+
Notebook のセルで次を実行する.
116+
117+
```python
118+
from google.colab import drive
119+
drive.mount('/content/drive')
120+
```
121+
122+
実行すると,Google アカウントへのアクセス許可が求められる.
123+
許可すると,Google Drive のファイルを Colab から読み書きできるようになる.
124+
125+
Drive 内のファイルは,通常次のようなパスから参照できる.
126+
127+
```text
128+
/content/drive/MyDrive/
129+
```
130+
131+
## 9. ローカル環境との違い
132+
133+
Colab は,ローカルの Python 環境とは別物である.
134+
135+
たとえば,ローカルで `venv`,Poetry,`conda` を使っていても,Colab の通常のランタイムはそれらの環境を直接使わない.
136+
そのため,ローカルで入れたパッケージを Colab で使いたい場合は,Colab 側でもインストールする必要がある.
137+
138+
また,Colab のランタイムは一時的であり,永続的な作業場所ではない.
139+
Notebook 自体は保存されても,ランタイム内の一時ファイルや追加インストールしたパッケージは残らない場合がある.
140+
141+
## 10. Jupyter / VS Code との使い分け
142+
143+
Jupyter,Colab,VS Code は,どれも Python を実行できるが,役割が少し異なる.
144+
145+
* Colab: ローカル環境を作らず,ブラウザだけですぐに実行したい場合に便利
146+
* Jupyter: 自分のPC上の Python 環境で Notebook を使いたい場合に便利
147+
* VS Code: 複数ファイルの開発や Git と組み合わせた作業に便利
148+
149+
学習や短い実験には Colab が使いやすい.
150+
一方で,長期的なプロジェクトや再現性を重視する作業では,ローカル環境を整えて VS Code や Jupyter を使う方が管理しやすい.
151+
152+
## GPUを利用する
153+
154+
Google Colab を使うことで簡単にGPUを利用した処理を行える.
155+
詳しくは [Quantitative Economics with JAX](https://jax.quantecon.org/intro.html) を参照のこと.
156+
この一連の QuantEcon Lectures は JAX を利用した経済分析の講義を提供している.

0 commit comments

Comments
 (0)