こんにちは、のっくんです。
今日はGoogle Colaboratoryというクラウドで使えるjupyternotebookを使ってみました。
Google Colaboratoryを使うメリットは以下の通り。
- Python3の環境を構築しなくて良い
- GPUが使える
- ブラウザ簡単に操作可能
- 会社でもコードを書ける
環境構築って初心者が最初に躓くポイントですが、それをする必要がないっていうのはかなり便利ですね。
あとは、自分でGPUのセットアップするのは面倒なのですが、無料でGPU環境が使えるってのもとても良いです。
[toc]
初期画面
では早速Google Colaboratoryをイジっていきたいと思います。
https://colab.research.google.com
アクセスすると、以下のような画面になります。

右下から新しいPython3のノートブックを作れます。
上のタブにあるようにGithub連携もできまして、Githubのソースコードをそのまま動かすなんてこともできます。
あとは既存のノートブックをアップロードして使用することも可能です。
Googleドライブと連携してますので、書いたコードは全てノートブック形式で共有できます。
基本情報
搭載されているOSやメモリなどの基本情報を調べてみます。
・OS
!cat /etc/issue #Ubuntu 18.04.2 LTS
・メモリ
!free -h #12GB
・CPU
!cat /proc/cpuinfo #2コア #Intel(R) Xeon(R) CPU @ 2.30GHz
デフォルトで入っているパッケージ
今回は、新しいPythonのノートブックを作ってみます。
使い方は、jupyter notebookと同じです。
Linuxベースで動いているみたいなので、!コマンドを使ってパッケージ一覧を確認してみました。

基本的なパッケージは全て入っている感じですね。
私が確認した時点で以下のパッケージが入っていました。
- スクレイピング:beautifulsoup4
- 機械学習:keras,tensorflow,tensor-board,scikit-learn,numpy
- データ分析:pandas,matplotlib
- webアプリ:Flask,Django
- 画像処理:Pillow,opencv-python
追加でパッケージを入れなくても基本的なコードはすぐに書けるようになっているようです。
GPUサポート
上の方に「ランタイム」というタブがあり、「ランタイムのタイプを変更」を選択すると以下のような画面が出てきます。
ランタイムというのは、Pythonの実行環境のことで、Pyhthonのバージョンや、CPU、GPU、TPUなどのハードウェアの設定ができるんです。
ボタン1つでCPUとGPUの切り替えができるのが嬉しいですね。

GPUにして認識できているか確認してみました。

ちゃんと認識されているようです。
MNIST(手書き数字を判別するデータセット)でディープラーニングを動かしてみましたが、割とサクサク動いていました。

1エポック9秒なので割と高速ですね。
ファイルアップロード機能
Google Colabにはローカルのファイルをアップロードする機能もついています。
機械学習用のCSVファイルや画像データセットはここからアップロードできるみたいです。

Kaggleでダウンロードしたディープラーニング 用の1GBの画像データセットをアップロードしようとしたのですが、途中で切断してしまいました。
Google Colabはアップロードにすごい時間がかかるので、その辺はまだまだ課題です。
色を変えるとカッコ良い
「ツール」→「設定」で「テーマ」を「Dark」にするとカッコ良くなります。
ブラウザが本格的なエディタになった気分ですね。

使ってみた感想
どこからでも自由にアクセスできて、環境構築をすることなく好きな時にコードを書ける素晴らしいツールです。
欠点としてはファイルアップロードもとても時間がかかる点でしょうか。
多分ですがサーバが海外にあり日本からのアクセスだとラグが発生している気がします。
おわり。