TensorFlowの研究ノート(B) - TensorFlowインストール

ダウンロードしてインストール

あなたは私たちが提供するバイナリパッケージを使用するか、ソースコード、インストールTensorFlowを使用することができます。

バイナリインストール

TensorFlowのPython APIのPython 2.7バージョンに依存しています。

LinuxおよびMacをインストールする最も簡単な方法で、それを使用することで  、PIP  インストールします。

インストール処理中にエラーが発生した場合は、を参照してください  よくある質問。インストール手順を簡素化することをお勧めvirtualenvのある、チュートリアルを参照してください  ここに

Ubuntuの/ Linuxの

# 仅使用 CPU 的版本
$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

# 开启 GPU 支持的版本 (安装该版本的前提是已经安装了 CUDA sdk)
$ pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

マックOS X

OS Xシステムでは、我々はインストールすることをお勧め  自作し、実行  brew install pythonにPythonのインストールTensorFlowの自作を使用できるようにする。別の方法が推奨される  virtualenvの  中に設置TensorFlow。

# 当前版本只支持 CPU
$ pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl

ドッカーベースのインストール

我々はまたによってサポート  ドッカー  実行TensorFlow。このアプローチの利点は、ソフトウェアの依存関係を心配するです。

まず、  ドッカーをインストールドッカーがアップされたら、実行、次のコマンドを介して容器を開始することができます。

$ docker run -it b.gcr.io/tensorflow/tensorflow

コンテナを起動します。このコマンドは、TensorFlowと関連する依存関係をインストールされています。

その他のミラー

ドッカーのデフォルトの画像はTensorFlowは、我々は次の追加のコンテナができ、同様に上記を提供依存するライブラリの最小セットを開始して実行するために必要な含まれています。  docker run コマンドをインストールします。

  • b.gcr.io/tensorflow/tensorflow-full:完全なインストールがミラー上TensorFlowをコンパイルして実行するために必要なすべてのツールを含むTensorFlowソースからの画像は、ソースコードを直接上記の依存関係のいずれかをインストールする必要なしに、実験に使用することができます。

ベースのvirtualenvのインストール

私たちは、使用することをお勧めします  VIRTUALENV  これはオプションです。TensorFlowをインストールするには、隔離コンテナを作成し、そうすることのトラブルシューティングインストールの問題にそれが容易になります。

まず、必要なすべてのツールをインストールします。

# 在 Linux 上:
$ sudo apt-get install python-pip python-dev python-virtualenv

# 在 Mac 上:
$ sudo easy_install pip  # 如果还没有安装 pip
$ sudo pip install --upgrade virtualenv

次に、構築された環境をVIRTUALENVするために、新しい環境を作成します。  ~/tensorflow ディレクトリには、実行します。

$ virtualenv --system-site-packages ~/tensorflow
$ cd ~/tensorflow

次に、アクティブvirtualenvの:

$ source bin/activate  # 如果使用 bash
$ source bin/activate.csh  # 如果使用 csh
(tensorflow)$  # 终端提示符应该发生变化

virtualenvのは、インストールTensorFlow:

(tensorflow)$ pip install --upgrade <$url_to_binary.whl>

次に、同様のプログラムTensorFlowを実行するためのコマンドを使用します。

(tensorflow)$ cd tensorflow/models/image/mnist
(tensorflow)$ python convolutional.py

# 当使用完 TensorFlow
(tensorflow)$ deactivate  # 停用 virtualenv

$  # 你的命令提示符会恢复原样

あなたの最初のプログラムを試してみてくださいTensorFlow

(オプション)GPUのサポートを有効にします

あなたがピップオープンGPUのサポートTensorFlowを使用してバイナリパッケージをインストールする場合は、システムが正しくCUDA SDKとCUDNNバージョンがインストールされていることを確認する必要があります。間を参照してください  CUDAのインストールのチュートリアル

また、設定する必要が  LD_LIBRARY_PATH と  CUDA_HOME 変数は次のコマンドを追加することを検討できる環境。  ~/.bash_profile ファイルの各ノートが自動的に着陸後に有効になりますように、次のコマンドは、CUDAのインストールディレクトリを前提としています。  /usr/local/cuda

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda

ファイル名を指定して実行TensorFlow

Pythonのターミナルを開きます。

$ python

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
>>>

ソースからのインストール

クローニングTensorFlow倉庫

$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow

--recurse-submodules パラメータはTesorFlow依存いるProtobufライブラリを取得するために使用する必要があります。

Linuxのインストール

インストールBazel

まず、に従って  チュートリアル  インストールBazelは、ソースコードをダウンロードしてBazelをコンパイルするには、次のコマンドを使用してによって異なります。

$ git clone https://github.com/bazelbuild/bazel.git
$ cd bazel
$ git checkout tags/0.1.0
$ ./compile.sh

コードは、コマンド上のタブがある引っ張る  0.1.0現在のバージョンTensorflow。Bazelさんとの互換性HEAD バージョン(つまり最新版)ここに不安定になることがあります。

実行パスは  output/bazel に追加  $PATH 環境変数。

他の依存関係をインストールします。

$ sudo apt-get install python-numpy swig python-dev

オプション:インストールCUDA(オープンLinux上のGPUをサポート)

コンパイルとGPU TensorFlowを使用して実行することができるようにするためには、NVIDIAがCUDAツールキット7.0とCUDNN 6.5 V2を提供し、インストールする必要があります。

GPUの特性がTensorFlowはNVidiaの計算能力> = 3.5サポートされているグラフィックスカードには、これらに限定されないが、サポートされています。

  • NVidiaのタイタン
  • NVidiaのタイタンX
  • NVidiaのK20
  • NVidiaのK40

CUDAツールキット7.0をダウンロードしてインストールします

ダウンロード

など、ツールに取り付け  /usr/local/cuda 経路等。

CUDNNツールキット6.5をダウンロードしてインストールします

ダウンロード

CUDNNの解凍とインストールパスにファイルをコピーCUDAツールキット7.0 CUDAツールキット7.0をインストール仮定。  /usr/local/cuda、次のコマンドを実行します。

tar xvzf cudnn-6.5-linux-x64-v2.tgz
sudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda/include
sudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda/lib64

キューバの設定オプションTensorFlow

ソースツリーのルートから実行パス:

$ ./configure
Do you wish to bulid TensorFlow with GPU support? [y/n] y
GPU support will be enabled for TensorFlow

Please specify the location where CUDA 7.0 toolkit is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda

Please specify the location where CUDNN 6.5 V2 library is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda

Setting up Cuda include
Setting up Cuda lib64
Setting up Cuda bin
Setting up Cuda nvvm
Configuration finished

これらの構成は、ライブラリシステムクーダにシンボリックリンクを作成します。クーダライブラリパスが変更されるたび、あなたはもう一度手順を繰り返す必要があり、そうでない場合bazelのコンパイル・コマンドを呼び出すことはできません。

コンパイルされたオブジェクトプログラム、オープンGPUのサポート

ソースツリーのルートから実行パス:

$ bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
# 大量的输出信息. 这个例子用 GPU 迭代计算一个 2x2 矩阵的主特征值 (major eigenvalue).
# 最后几行输出和下面的信息类似.
000009/000005 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
000006/000001 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
000009/000009 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]

注、GPUはオープン「--config = CUDA」コンパイルオプションの必要性をサポートしています。

既知の問題点

  • あなたはクーダのCUDAサポートをコンパイルし、同じソースツリーを開き、サポートされているバージョンを無効にすることができますが、我々は二つの異なるビルド構成を切り替える際にお勧めします、環境をクリーンアップ「クリーンbazel」を使用します。

  • bazelコンパイルのconfigureを実行する前に実行する必要があり、またはコンパイラはエラーメッセージで失敗します。将来的には、我々はこれをサポートする新機能を提供することができ、そのbazel提供、全体のプロセスを合理化するためのコンパイルプロセスに含まれて設定する手順を考慮することができます。

マックOS Xのインストール

MacとLinuxソフトウェアは、正確に同じことを頼りにするのに必要ですが、インストールプロセスの間には大きな違いは、あなたは、Mac OS X上でこれらの依存関係をインストールするのに役立つリンクをたどります:

バーゼル

参照してください。このページのMac OS Xのインストールガイドを。

SWIG

マックOS Xのインストールのチュートリアル

注:あなたがインストールする必要がPCREをむしろ、より  PCRE2。

numpyの

参照してください。インストールのチュートリアルを

パッケージを作成し、ピップインストール

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

# .whl 文件的实际名字与你所使用的平台有关
$ pip install /tmp/tensorflow_pkg/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

あなたの最初のTensorFlowニューラルネットワークモデルを訓練

ソースツリーのルートから実行パス:

$ cd tensorflow/models/image/mnist
$ python convolutional.py
Succesfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Succesfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Succesfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Succesfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
Initialized!
Epoch 0.00
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Epoch 0.12
Minibatch loss: 3.285, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%
...
...

よくある質問

GPU関連の問題

次のエラーが発生した場合は、プログラムTensorFlowを実行しようとすると:

ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory

あなたが正しくインストールGPUのサポートを行い、参照  関連セクション

Linuxの

エラーが発生した場合:

...
 "__add__", "__radd__",
             ^
SyntaxError: invalid syntax

解決策:あなたがPythonの2.7のPythonのバージョンを使用していることを確認します。

Mac OS Xで

エラーが発生した場合:

import six.moves.copyreg as copyreg

ImportError: No module named copyreg

ソリューション:いるProtobufはTensorFlowが使用頼る  six-1.10.0しかし、Appleのデフォルトのpython環境がインストールされている。  six-1.4.1ここでのバージョンは、この問題を解決するために、いくつかの方法を提供してアップグレードすることは困難になります

  1. システム全体のアップグレード  six

     sudo easy_install -U six
    
  2. 自作孤立Pythonのコピーをインストールすることにより:

     brew install python
    
  3. ではvirtualenv 、内部コンパイルまたは使用TensorFlow。

エラーが発生した場合:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 13, in <module>
    from tensorflow.core.framework.graph_pb2 import *
...
  File "/usr/local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 22, in <module>
    serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto\x12\ntensorflow\"d\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
TypeError: __init__() got an unexpected keyword argument 'syntax'

これが原因とインストールいるProtobufのバージョンの競合が原因で、TensorFlowの必要がいるProtobuf 3.0.0で最善の解決策は、古いバージョンをインストールしないで、あなたは競合を解決するためにいるProtobufを再インストールするには、次のコマンドを使用することができますいるProtobufを確認することです現在、次のとおりです。

brew reinstall --devel protobuf
公開された48元の記事 ウォンの賞賛121 ビュー680 000 +

おすすめ

転載: blog.csdn.net/guoyunfei123/article/details/82429167