第2回 TensorFlow環境の構築TensorFlow入門(1/2 ページ)

本連載のゴールは「エンジニア向けに、とりあえずTensorFlowを使ってみて、ディープラーニングを体感してみる」こと。実際にTensorFlowを使っていくために、まずは環境構築を行おう。

» 2018年04月19日 05時00分 公開
[安部晃生DATUM STUDIO]
「TensorFlow入門」のインデックス

連載目次

ご注意:本記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「deepinsider.jp」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

本稿のゴール

 TensorFlowはPythonパッケージとして提供されるため、基本的にはPythonが動作する環境であればインストールして利用可能である。機械学習では試行の繰り返しが必要不可欠であることから、データサイエンティストはJupyter Notebookを好んで利用するようだ。本稿では、TensorFlowをJupyter Notebookで利用できることをゴールとして説明する*1

*1 Jupyter Notebookの機能を含むJupyterLabという統合開発環境(IDE)も存在する。


プラットフォームの選択

OS

 本稿では、以下のOSについて動作確認を行っている。

  • Windows 10 Home
  • macOS High Sierra
  • Ubuntu 16.04 LTS

CPU vs GPU

 TensorFlowを利用する際に、CPUのみで実行するか、GPUも利用するかを検討する必要がある。TensorFlowはCPUのみを利用するバージョン(CPU版)と、GPUを利用するバージョン(GPU版)が用意されている。多くの場合、GPUを利用したほうが高いパフォーマンスを得られるため、GPUが利用できる環境であれば、GPU版を選択するとよいだろう。なお、TensorFlowのGPU版はmacOSをサポートしない。

 GPUを有効化するためには、事前にCUDA ToolkitcuDNNなどGPU関連のソフトウェアのインストールや環境変数の設定が必要になる。本稿ではGPUの詳細な設定は割愛するため、GPU版の事前設定は「UbuntuでのGPUディープラーニング環境の構築【Ubuntu 16.04 LTS対応】」および公式ドキュメントを参考にしてほしい。

Python環境

 最初に述べたように、TensorFlowはPythonのパッケージとして提供される。本稿執筆時点の最新版であるTensorFlow 1.5がサポートするPythonのバージョンは、Python 2.7およびPython 3.4以降だ。

 Pythonにおけるパッケージのインストールや設定に関しては、OSによる多少の違いはあるかもしれないが、基本的にはpipコマンドを利用すれば導入できる。

 PythonユーザーにはCondaを好んで利用する方も多いだろう。Condaの場合はパッケージ管理にcondaコマンドを使う場合もあるが、TensorFlowの公式サイトではConda環境下でもpipコマンドの利用を推奨している。

 本連載では、軽量なCondaであるMinicondaを利用して仮想環境を作成し、pipコマンドでTensorFlowをインストールするというフローで説明する。本稿で構築する環境は次の通り。

ソフトウェア バージョン
Python 3.6(Miniconda)
TensorFlow 1.5
表1 本連載で使用するPythonとTensorFlowのバージョン

その他の選択肢

 TensorFlowをローカルのPython環境にインストールする以外の選択肢として、以下を簡単に紹介しておく。

Docker

 TensorFlowを実行する環境として、Dockerイメージを利用するという方法もある。Dockerとは、軽量なコンテナー型のアプリケーションの仮想実行環境である。なお、Windowsの場合はDockerを利用するためにHyper-Vの有効化が必要になるため、エディションによっては利用できないことに注意が必要だ。

 TensorFlowはCPU版とGPU版それぞれでDockerイメージを公式に公開している(gcr.io/tensorflow/tensorflowのタグを参照)。このイメージにはあらかじめTensorFlowに加えてJupyter Notebookもインストールされているため、Dockerが利用できる環境であれば、これを利用することで容易にTensorFlowの実行環境が手に入る。なお、GPU版についてはnvidia-dockerと呼ばれるGPUを有効にするためのDockerのランタイムを利用する必要がある。詳細は、TensorFlowの公式ドキュメントを参照してほしい。

パブリッククラウドのサービス

 Amazon Web ServicesAWS)、Google Cloud PlatformGCP)、Microsoft AzureAzure)といった著名なパブリッククラウドでも機械学習を実施しやすいようなクラウドサービスが提供されている。次の表に示したサービスを用いることで、Jupyter Notebookを利用して実験を行い、作成したモデルを公開できる。

クラウド サービス Jupyter Notebook TensorFlow モデルの
公開
備考
AWS Amazon
  SageMaker
 
GCP Google
  Cloud Datalab
 
GCP Google
  Cloud ML Engine
 
Azure Azure
  Machine Learning
    Services
Jupyter NotebookはAzure Machine Learning Workbenchという開発環境でも提供される。データサイエンス仮想マシン(DSVM)にTensorFlowが導入済みですぐに利用できる
Azure Azure
  Machine Learning
    Studio
TensorFlowの導入は自身で行う必要があるが容易ではない。Azure環境で自由に機械学習の開発を行いたい場合は、上記のAzure Machine Learning Servicesを選択する方がよい
表2 各クラウドサービスとツールの対応環境

       1|2 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。