google colaboratoryのはじめ方

概要

google colaboratoryを利用した
jupyter notebook環境の立ち上げ方法をまとめる。

google colaboratoryとは

Colaboratory(略称: Colab)は
教育や研究機関への機械学習の普及を目的としたgoogleの研究プロジェクトの一つ。
jupyter notebookを必要最低限の労力とコストで利用でき、
ブラウザとインターネットがあればすぐに機械学習の触れることが可能な無料サービス。

メリット

環境構築がほぼ不要

Colabはjupyter notebookをクラウド上で稼働させるが、
PythonやNumpyなど、機械学習で必要な環境があらかじめすでに構築済み。
必要なのはブラウザのみで、すぐに機械学習を始めることが可能。

チーム内の共有が簡単

Colabで書いたコード(notebook)はgoogle driveに保存される。
そのため、チーム内でnotebookの共有などが容易に行える。

GPUを無料で利用可能

GPU(Tesla K80 GPU)が無料で使える。

デメリット

デメリットという程のことではないけど、一応記載しておく。

特殊な処理

今までローカル端末などで使っていたデータセットなどを読み込む際には、
ロード時に一つ処理を加えてあげる必要がある。
google driveのAPIを利用したり、
Pydriveなどのラッパーを利用してデータをロードする必要がある、など

UIが少し異なる

UIが通常のjupyter notebookと若干異なる。
今までjupyter notebookを利用してきた人は
ショートカットキーの設定を変更したり、
セルの追加や削除などの基本的な操作方法の違いに慣れる必要がある。

手順

BQが発行できるようになるまでを簡単にまとめる。

1.colob起動

  1. 直接アクセス
https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja
  1. google driveから起動
    driveの検索フォームの直下「マイドライブ▼」→その他→Google Colaboratory
    ※もしColabが表示されて無い場合は「+アプリを追加」からインストールできる

2.認証

以下をColabのjupyter notebookにて実行する。
WEBサイトに遷移し、トークンが発行される。
jupyter notebookの実行画面に表示されている入力欄にトークンをコピペしてEnterを押下
認証が通る

from google.colab import auth
auth.authenticate_user()

3.クエリ発行

BQからデータを取得したい場合は以下のような感じでクエリを発行可能。

from google.cloud import bigquery
# Construct a BigQuery client object.
client = bigquery.client.Client(project='GCPのプロジェクト名')
query = """
SELECT * FROM `GCPのプロジェクト名.データセット名.テーブル名` LIMIT 15
"""
query_job = client.query(query)  # Make an API request.
print("The query data:")
for row in query_job:
    # Row values can be accessed by field name or index.
    print("カラムA={}, カラムB={}".format(row["カラムA"], row["カラムB"]))