Help us understand the problem. What is going on with this article?

WindowsのAnaconda環境に深層学習フレームワークTensorflow 1.0をインストールする方法

More than 1 year has passed since last update.

はじめに

 これまではKerasをバックエンドでTensorflowを動かすことでディープラーニングを行っていました。Pythonで機械学習をするだけなら、これまで通りKerasを使えばいい話なのですが、Pythonで学習させたモデルと重みをC++で使いたい用途が出てきました。本当はKerasで学習させたモデルを使えればいいのですが、C++のAPIもあるTensorflowで直接コーディングした方が簡単そうなので、そちらから攻めてみることとします。
 まず下準備として、Windowsに構築しているAnacondaの環境にTensorflowをインストールして、確認するところまでをこの記事ではまとめておきます。Tensorflow 1.0から関数名が大幅に変更が加わっているため、1.0にアップグレードしようと考えてらっしゃる方は注意してください。ちなみに、(2017/3/8現在)公式HPにそのまま載っているcondaコマンドではうまくいかないので注意してください。
 
 バージョン1.0以前のスクリプトを使いたい場合は、公式の移行ガイドを参照してください。もしくは、自動で変換してくれるスクリプトが公式から公開されているので、それをご使用ください。

(追記)tensorflowが更新され、python3.6でも利用することができるようになったみたいです。これに関しては、別記事を近日作成する予定です。

導入環境

  • Windows 10(64bit)
  • Anaconda 4.3.0(64bit)
  • Python 3.5(仮想環境を作成します)
  • Tensorflow 1.0(これからインストールします)

手順

Anacondaのインストール方法

 Anacondaのバージョンは違いますが、手順は同じなので次のURLのAnacondaのインストールを参照してください。
http://qiita.com/tomochiii/items/c17505872781c201d7b1

Tensorflowのインストール

Python3.5の準備

 Tensorflowは今のところPython3.5.xしかサポートしていません。現在の最新版のAnacondaを上記の手順通りにインストールすると同時にインストールされるPythonのバージョンは3.6になります。そのため,私はAnaconda上に仮想環境としてPython3.5の環境を作成しました。Anaconda環境としてPython3.5のものを選んでインストールした方はこの手順は飛ばしてもらって大丈夫です。
 TensorflowのためにPython3.5の仮想環境を作成するために、Anacondaプロンプトを起動し、次のコマンドを実行してください。Jupyter Notebookで開発を行う人は同時にjupyterもインストールしておくことを勧めます。

create_tensorenv
# tensorflowのための仮想環境の作成、名前のパラメータはなんでもいいです
$ conda create --name=tensorenv python=3.5
# 後ろにパッケージ名を列挙することで同時にインストールできます
$ conda create --name=tensorenv python=3.5 jupyter numpy <package name> ...
# 仮想環境ができているかの確認
$ conda info -e

 リストの中に、conda createで指定した名前があれば成功です。仮想環境に移り方と抜け方は次のコマンドで行います。名前のところはリストの中にあるものを指定してください。

activate_tensorenv
# 仮想環境への移り方
$ activate tensorenv
# 仮想環境からの抜け方
$ deactivate tensorenv

 もし間違って作成してしまった場合は、次のコマンドで仮想環境を削除することができます。

remove_tensorenv
# 仮想環境の削除
$ conda remove --name=tensorenv --all

Tensorflowのインストール

 Tensorflowをインストールするコマンドは二つあります。次のどちらかでインストールすることができます。
 CPU版Tensorflowのインストールコマンド。

install_tensorflow_cpu
# tensorflowインストールコマンド1
$ pip install --upgrade tensorflow
# tensorflowインストールコマンド2
$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl

 GPU版Tensorflowのインストールコマンド。こちらは動作確認しておりません。

install_tensorflow_gpu
# tensorflowインストールコマンド1
$ pip install --upgrade tensorflow-gpu
# tensorflowインストールコマンド2
$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.0.0-cp35-cp35m-win_amd64.whl

コマンド1では、tensorflowの最新バージョンが、コマンド2では、指定したバージョンをインストールすることができます。

インストール確認

 最後に正しくインストールできたか確認します。コマンドラインからPythonを起動し、Tensorflowがインポートできるか確認します。

validate_installation
# Pythonの起動
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

 上記スクリプトを実行して、何もエラーがでずに"Hello, TensorFlow!"と表示されればインストール完了です!

おわりに

 Tensorflowで学習するスクリプトの実装ができたら、投稿していきたいと思います。また、この投稿のわかりにくい箇所や間違っているところがあれば修正するので、コメントなどでお教えくださると助かります。

参考

  1. Tensorflow公式ホームページ Windowsへのインストール方法
  2. condaの使い方メモ
  3. stackoverflow-tensorflowインストール時のエラー報告
  4. TensorFlow 1.0.0 リリースノート
  5. 公式のTensorFlow 1.0への移行ガイド
  6. TensorFlow の "AttributeError: 'module' object has no attribute 'xxxx'" エラーでつまづいてしまう人のための移行ガイド
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away