はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

Google Colaboratoryを初めて触ってみる

はじめに

最近機械学習に少し興味があるのですが、Google Colaboratoryという無料でPythonのプログラムを実行できる環境があることを知りました。

このGoogle Colabには以下のようなメリットがあります。

  • 開発環境を整えなくてOK
  • GPUを使える
  • 簡単に共有できる

これを早速触ってみたので、その一通りの使い方を残しておきたいと思います。

新規プロジェクト作成

まずは以下のリンクからGoogle Colabを開いてください。

colab.research.google.com

左上のファイル -> ノートブックを新規作成を選択すればコーティングできるような画面が開きます。

f:id:hanaaaaaachiru:20200506113000p:plain

あと名前を変えておいた方が良いでしょう。

f:id:hanaaaaaachiru:20200506113010p:plain

また自動でこのコードはGoogle Driveに保存され、Colab Notebookというフォルダ内に入っています。

f:id:hanaaaaaachiru:20200506113404p:plain

Linuxコマンド

実際にコーティングをする前にどのようなライブラリが入っているかをみてみましょう。

最初に!をつけることでLinuxコマンドが打てるようになります。

!pip freeze

機械学習のライブラリであるtensorflowが入っていることが分かります。

f:id:hanaaaaaachiru:20200506113903p:plain

コーディング

実際に簡単な機械学習のコードを書いてみましょう。

# TensorFlow をインストール
import tensorflow as tf

# MNIST データセット(手書きの数字)をロード
mnist = tf.keras.datasets.mnist

# 学習データとテストデータに振り分ける
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# モデルの形状を定義(多層パーセプトロンMLP)
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

# 条件を決める(ハイパーパラメータの設定)
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# モデルの学習
model.fit(x_train, y_train, epochs=5)

# 学習済みのモデルがどれくらいの精度か評価
model.evaluate(x_test,  y_test, verbose=2)

Shift + Enterを押すことでコードを実行できます。

f:id:hanaaaaaachiru:20200506114951p:plain

GPUを使う

さらにGPUを駆使することで実行速度を早くできる可能性が高いです。

ランタイム -> ランタイムのタイプを変更を選択、GPUを選びます。

f:id:hanaaaaaachiru:20200506115435p:plain

f:id:hanaaaaaachiru:20200506115443p:plain

さいごに

一通りプロジェクトの作成からコードの実行までをやってみました。

めんどくさい箇所は全部Google先生がやってくれるので本当に便利ですよね。

これで機械学習の勉強も捗りそうです。

ではまた。