Python環境構築(Google Colab)
環境構築というよりは、Pythonの開発環境としてのGoogle Colaboratoryの紹介となります。手軽に使えること、GPU環境が利用できること、制限はありますが無料で使えること。Pythonを用いた実行環境としてとても嬉しい環境です。
Google Colaboratoryに利用開始
利用にはGoogle アカウントが必要です。まだ持っていない方は取得してください。Gmailを利用している方はすでにアカウントを持っていますので、そちらを利用しましょう。
Google Colabにアクセスします。Googleにログインしていない場合はログインが必要です。色々と利用方法の説明がありますので参照してください。pythonのnotebookを使ったことがある方でしたら、colab上でnotebookの実行を試してみてください。
Google Colaboratoryとは
Google ColaboratoryとはGoogleのクラウド上で動作しているDockerコンテナです。試しにNotebook上で以下のコマンドを実行してみてください。色々と情報を得ることが出来ます。
%%bash
echo === Dockerコンテナの確認 ===
ls -la /.dockerenv
echo === カレントディレクトリ ===
pwd
echo === ユーザ名 ===
whoami
echo === Linuxディストリビューション ===
cat /etc/issue
echo === カーネル ===
uname -a
echo === HDD ===
df -h
echo === メモリ ===
free -h
echo === CPU ===
cat /proc/cpuinfo
以下の情報が返ってきます。
=== Dockerコンテナの確認 ===
-rwxr-xr-x 1 root root 0 Nov 26 12:59 /.dockerenv
=== カレントディレクトリ ===
/content
=== ユーザ名 ===
root
=== Linuxディストリビューション ===
Ubuntu 18.04.5 LTS \n \l
=== カーネル ===
Linux 9f37c3f2bf59 5.4.104+ #1 SMP Sat Jun 5 09:50:34 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
=== HDD ===
Filesystem Size Used Avail Use% Mounted on
overlay 108G 42G 67G 39% /
tmpfs 64M 0 64M 0% /dev
tmpfs 6.4G 0 6.4G 0% /sys/fs/cgroup
shm 5.8G 0 5.8G 0% /dev/shm
/dev/root 2.0G 1.2G 821M 59% /sbin/docker-init
tmpfs 6.4G 36K 6.4G 1% /var/colab
/dev/sda1 81G 46G 36G 57% /etc/hosts
tmpfs 6.4G 0 6.4G 0% /proc/acpi
tmpfs 6.4G 0 6.4G 0% /proc/scsi
tmpfs 6.4G 0 6.4G 0% /sys/firmware
=== メモリ ===
total used free shared buff/cache available
Mem: 12G 516M 10G 1.1M 1.8G 11G
Swap: 0B 0B 0B
=== CPU ===
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping : 0
microcode : 0x1
cpu MHz : 2199.998
cache size : 56320 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips : 4399.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping : 0
microcode : 0x1
cpu MHz : 2199.998
cache size : 56320 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips : 4399.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
notebookの保存場所
Google Colaboratoryを始めるとGoogleドライブ上にColab Notebooksというフォルダが作成されます。そして、作成したnotebookはデフォルトでそこに保存されます。
また、ドライブ上のデータもnotebook上で利用できますので、大量のデータを利用する場合はこちらを利用できます。ただ、ドライブへのアクセスは時間がかかります。一方、Colabのローカルドライブへのアクセスは早いのですが、容量が少ないのと、あくまでも一時的なRAMとなりますのでストレージの使い方には十分注意が必要です。
ストレージの利用
Google Colaboratoryは前述の通り、Dockerコンテナとして動作します。Notebookを開いた際にインスタンス化され、一定時間で解放されてしまいますので、ローカルのストレージは揮発性となります。永続的に保存したいデータはGoogleドライブをマウントして、そちらに保存するようにしましょう。Nootbookで以下のコマンドを実行し、リンクをクリックしてGoogleアカウントでログインしてマウントします。
from google.colab import drive
drive.mount('/content/drive')
実行します。
表示されたURLをクリックしてGoogleアカウントでのログインを行います。
表示されているコードをコピーします。(グレーでマスクしている箇所にコードが表示されます)コピーしたコードを「Enter your authorization code:」の箇所に貼り付けてEnterキーを押下します。
これでマウント完了です。マウントしたドライブのPathはフォルダをクリックして表示されるメニューで「パスをコピー」後にNotebookで貼り付けると簡単にアクセスできます。
Google Colaboratoryの注意点
Google ColaboratoryはVMインスタンスとして動作しています。無料/有料に関わらず一定の制限があるので注意が必要です。
- 一定時間操作がない場合は自動的にインスタンスが破棄されます。長い計算を行う際は、自動読み込みを行うプラグインを利用してください。
- ローカルストレージは揮発性です。インスタンスの破棄と共になくなります。計算結果等、永続的に保存したい場合は保存場所に注意してください。
- 足りないパッケージはインストール出来ますが、接続時にVMインスタンスは初期状態となってますので、接続後に毎回インストールが必要です。
- その他、詳細な制限についてはドキュメントを参照してください。
まとめ
無料で十分使えます。ただ夜中の混んでいる時間はGPUが使えないことが多いです。GPUをどうしても使いたい場合はProへのアップグレードをお勧めします。自分でGPU環境を揃えるよりはコスパは良いと思います。さらに上のPro+というプランもありますので、それぞれ自分にあったプランを選んでください。
ディープラーニングで使っているとGoogleドライブもデフォルトの容量では全然足らなくなるので、こちらもアップグレードが必要かもしれません。