• トップ
  • ブログ一覧
  • Tensorflow の学習環境には Colab が便利!【機械学習】
  • Tensorflow の学習環境には Colab が便利!【機械学習】

    広告メディア事業部広告メディア事業部
    2019.05.17

    IT技術

    Google Colaboratory(グーグル・コラボレイトリー) とは?

    Google Colaboratory(グーグル・コラボレイトリー)とは、 Google が無料で提供している、機械学習の教育、研究を目的とした研究用ツールであり、クラウド上で実行される Jupyter ノートブック環境です。

    すでに「Python」や「Jupyter」、「Tensorflow」がインストールされています。

    さらに、設定不要で無料で利用でき、コードの記述と実行、解析結果の保存や共有がブラウザ上で行うことが可能です。

    「そろそろ、機械学習を始めてみようかな」

    機械学習をやってみたいという方は沢山いると思います。

    でも、機械学習をはじめるのには、スペックの高いパソコンを用意して、機械学習の環境を構築して…

    という大きなハードルがあります。

    これでは、躊躇してしまうのが人間というもの。

    そこで、今回は、そんな悩みを解決するツールであるGoogle Colaboratory(グーグル・コラボレイトリー)をご紹介します!

    (以下、Colab)

    ブラウザだけで実行できる!

    Chrome や Firefox だけで機械学習の学習ができます。

    実際の演算は、Google アカウントごとに用意された専用の仮想マシンで行われます。

    そのため、利用者のパソコンにマシンスペックは必要ありません

    Google ドライブに保存できる!

    Colab のノートブックは、すべて Googleドライブに保存されます。

    そのため、Google ドキュメントや Google スプレッドシートのように共有できます。

    Colabのスペックがものすごい

    Colabでは、以下のようなスペックのインスタンスが提供されています。

    かなりのハイスペックです。

    1. CPU:Intel(R) Xeon(R) CPU @ 2.20GHz x 2 個
    2. GPU:Tesla T4
    3. RAM: 13GB

    注意点

    しかし、以下のような注意点もありますが、それを補う魅力的なスペックであるということは間違いありません。

    1. 12 時間以上の連続使用が不可能
    2. アイドル状態が 90 分間続くと停止する

    機械学習を始めるのに最適!

    機械学習をはじめるのに、これほど最適な環境はないと思います。

    Colab がどのようなものか確認したい方は、“Colaboratory へようこそ” を開き、触ってみてください。

    次の章からは、実際に Colab を触っていきます!

    Colab ノートブックの作成

    Colab は、ノートブックという単位で管理されます。

    新しく機械学習を始める場合、新規にノートブックを作成しましょう。

    ノートブックの作成

    Colab のノートブックは Google Drive から作成できます。

    Google ドライブを開き「新規」→「その他」→「Colaboratory」を選択することで新しいノートブックが作成できます。

    【Google ドライブから Colab ノートブックを新規作成】

    Colaboratory へようこそ を開き、左上の「ファイル」→「Python 3 の新しいノートブック」からでも新規ノートブックを作成できます。

    新しいノートブックを作成した画面は以下のようになります。真っ白のノートブックが広がっています。

    ノートブックが作成できたので、触っていきましょう。

    Colab 内で実行される Jupyter


    まず、Colab 内で動作している Jupyter(ジュピター) について軽く説明します。

    Jupyterについて

    Colab は Jupyter と呼ばれるソフトウェアでノートブックを実現しています。

    Jupyter はノートに記述した Python やその他の言語のコードをノート内で実行できるインタラクティブな環境です。

    Jupyter では、テキストの記述コードの記述&実行実行結果の可視化といった機能を提供しています。

    実際に書いてみる

    Jupyter に print("Hello World")  を記述した場合、Hello World の文字がノートブック内に出力されます。

    数値計算

    もちろん、変数を利用して数値計算を行うこともできます。

    以下の図では、 1~100 までの値を足しあわせるコードを書いています

    「4950」という数値がノートブックに表示されていますが、コレは私が記述したのではなく、ノートブックが Python のコードを実行して、実行結果を表示しています。

    このようにノートブックは、 Python の実行環境になるのです。

    テキストとコードを混在させることができる

    Jupyter は、テキストとコードが混在したノートブックを作成できます。

    実行結果を確認しながら、データの分析や解析もできます。

    メモを作成しながら作業を進めることもでき、自分自身の作業ログやプロジェクトメンバーとの情報共有に有益なツールです。

    Colab で Tensorflow を動かしてみる


    Colab では、すでに Tensorflow(テンソルフロー) のライブラリがインストールされています。

    Tensorflow を利用する

    Tensorflow を利用するには、Jupyter に以下の記述をするだけです。

    1import tensorflow as tf

    インポートされたか確認するために、バージョン情報を出力させてみましょう。

    Jupyter のコードセルに、以下のように記述してください。

    1print(tf.__version__)

    実行してみると、以下の表示になりました。

    Tensorflow のバージョン“1.13.1”が実行されていることが確認できます。

    GPU も使える

    Colab では、 CPU だけのインスタンスだけではなく、GPU のインスタンスも利用できます。

    GPU を利用することで計算を早く行うことができます。

    重たい処理を行うときは、GPU も有効にしましょう

    設定方法は、「ランタイム」→「ランタイムのタイプを変更」→「ランタイプのタイプの変更」→「GPU」を選択することで GPU が有効になります。

    【ランタイムの変更】

    【GPUを有効化】

    GPU に対応した Tensorflow をインストール

    GPU がインスタンス内で有効になったので、GPU に対応した Tensorflow をインストールしましょう。(もしかしたら、この処理は切り替えたときに自動的にしてくれているかもしれません)

    ノートブックに以下の記述をして、実行してください。

    1!pip install tensorflow-gpu

    "!"マークがついたコードはシェルコマンドとして扱われます。

    "pip" コマンドを実行して "tensorflow-gpu"をインストールしています。

    確認

    GPU が有効であるか確認するには以下のコードを実行してください。

    1from tensorflow.python.client import device_lib
    2device_lib.list_local_devices()

    GPU が認識されていることが確認できると思います。

    または、こちらのコードでも確認できます。

    1import tensorflow as tf
    2tf.test.gpu_device_name()

    実行して、以下のように表示されたら、GPU が認識されています。

    ‘/device:GPU:0’

    GPU が認識されていないときの表示は以下のようになります。

    ’’

    Colab でファイルのアップロード

    Colab は、インターネット上の仮想マシンで実行されています。

    そのため、所有しているデータを利用するためには一度 Colab にアップロードする必要があります。

    この章では以下の方法について解説します。

    1. 直接アップロードする方法
    2. Google Drive を利用してアップロードする方法

    ローカルファイルを直接アップロード

    Colab に直接ファイルをアップロードするには、以下のコードを Jupyter で実行してください。

    1from google.colab import files
    2uploaded = files.upload()

    ファイルがアップロードされているかは、下記コードを実行すると確認できます。

    1for fn in uploaded.keys():
    2  print('User uploaded file "{name}" with length {length} bytes'.format(
    3      name=fn, length=len(uploaded[fn])))

    “sample.csv” をアップロードして、中身を確認する場合、以下のようにします。

    1import pandas as pd
    2sample = pd.read_csv("sample.csv", header=None)
    3print(sample)

    コードを書かずに直接アップロード

    GUI を利用してファイルをアップロードする方法もあります。

    Colab を開くと、画面左に “>” のマークがあると思います。

    クリックするとサイドメニューが展開されるので、そこの「ファイル」をクリックすると、現在利用できるファイルを表示したり、ファイルをアップロードできます。

    こちらはコードを書くこともなく、操作できるのでわかりやすいと思います。

    Google Drive をマウントする

    Google Drive を Colab にマウントして利用する方法もあります。

    1from google.colab import drive
    2drive.mount('/content/gdrive')

    実行すると以下のように表示されて Google アカウントとの連携が求められます。

    表示された URL をクリックし、認証すると、認証コードが与えられるので、それを Colab に入力してください。

    1Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=.............
    2Enter your authorization code:

    マウントした結果は以下のコードで確かめられます。

    Google Drive のファイルが一覧で表示されるはずです。

    1import os
    2os.listdir("gdrive/My Drive")

    以上、ファイルの読み込みでした。

    さいごに

    今回は、Google が無料で提供している機械学習実行環境 Colab についてご紹介しました。

    Colab によって、手軽に機械学習をはじめることができますね。

    これから機械学習をはじめようという人には、とてもオススメできるツールといえます。

    ぜひぜひ役立ててくださいね!

    こちらの記事もオススメ!

    featureImg2020.07.28機械学習 特集知識編人工知能・機械学習でよく使われるワード徹底まとめ!機械学習の元祖「パーセプトロン」とは?【人工知能】ニューラルネ...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    広告メディア事業部

    広告メディア事業部

    おすすめ記事