前書き

TensorFlowは、Googleがニューラルネットワークをトレーニングするために構築したオープンソースの機械学習ソフトウェアです。 TensorFlowのニューラルネットワークは、https://www.tensorflow.org/programmers_guide/graphs [ステートフルデータフローグラフ]の形式で表されます。 グラフの各ノードは、多次元配列でニューラルネットワークによって実行される操作を表します。 これらの多次元配列は一般に「テンソル」として知られているため、TensorFlowと呼ばれています。

TensorFlowはhttps://en.wikipedia.org/wiki/Deep_learning [ディープラーニング]ソフトウェアシステムです。 TensorFlowは、Googleが機械学習型人工知能システム(https://en.wikipedia.org/wiki/RankBrain[RankBrain])で検索ランキングを行う方法で実証されているように、情報の取得に適しています。 TensorFlowは、Googleのhttps://arxiv.org/abs/1409.4842[Inception]に示されている画像認識と、人間の言語による音声認識を実行できます。 https://www.tensorflow.org/tutorials/pdes [偏微分方程式]など、機械学習に固有ではない他の問題の解決にも役立ちます。

TensorFlowアーキテクチャにより、デスクトップ、サーバー、またはモバイルデバイス内の複数のCPUまたはGPUに展開できます。 Nvidiaの並列コンピューティングプラットフォームであるhttps://developer.nvidia.com/cuda-zone[CUDA]と統合するための拡張機能もあります。 これにより、GPUにデプロイしているユーザーは、並列計算タスクに必要な仮想命令セットおよびGPUの他の要素に直接アクセスできます。

このチュートリアルでは、TensorFlowの「CPUサポートのみ」バージョンをインストールします。 このインストールは、TensorFlowをインストールして使用したいが、Nvidiaグラフィックカードを持っていないか、パフォーマンスが重要なアプリケーションを実行する必要がない人に最適です。

TensorFlowはいくつかの方法でインストールできます。 各メソッドには、異なるユースケースと開発環境があります。

  • * PythonおよびVirtualenv *:このアプローチでは、TensorFlowおよびPython仮想環境でTensorFlowを使用するために必要なすべてのパッケージをインストールします。 これにより、TensorFlow環境が同じマシン上の他のPythonプログラムから分離されます。

  • *ネイティブpip *:この方法では、システムにTensorFlowをグローバルにインストールします。 これは、マルチユーザーシステム上のすべての人がTensorFlowを利用できるようにする場合に推奨されます。 このインストール方法は、含まれる環境でTensorFlowを分離せず、他のPythonインストールまたはライブラリに干渉する可能性があります。

  • * Docker *:Dockerはコンテナーランタイム環境であり、システム上の既存のパッケージからその内容を完全に分離します。 このメソッドでは、TensorFlowとそのすべての依存関係を含むDockerコンテナーを使用します。 この方法は、Dockerを既に使用しているより大きなアプリケーションアーキテクチャにTensorFlowを組み込むのに理想的です。 ただし、Dockerイメージのサイズは非常に大きくなります。

このチュートリアルでは、 `+ virtualenv +`を使用してTensorFlowをPython仮想環境にインストールします。 このアプローチにより、TensorFlowインストールが分離され、すぐに起動して実行されます。 インストールが完了したら、短いTensorFlowプログラムを実行してインストールを検証し、TensorFlowを使用して画像認識を実行します。

前提条件

このチュートリアルを始める前に、次のものが必要です。

  • Ubuntu 16.04初期サーバーセットアップガイドに従ってセットアップされた、少なくとも1GBのRAMを備えた1つのUbuntu 16.04サーバー、sudoの非ルートユーザーとファイアウォールを含みます。 このチュートリアルの最後の例を正常に実行するには、少なくとも1GBのRAMが必要です。

  • Python 3.3以降および `+ virtualenv `がインストールされている。 https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming-environment-on-ubuntu-16-04 [インストール方法[Ubuntu 16.04上のPython 3]]でPythonと ` virtualenv +`を設定します。

  • Gitがインストールされました。これは、https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-16-04 [Ubuntu 16.04にGitをインストールする方法]に従って実行できます。 これを使用して、サンプルのリポジトリをダウンロードします。

ステップ1-TensorFlowのインストール

このステップでは、仮想環境を作成し、TensorFlowをインストールします。

最初に、 `+ tf-demo +`というプロジェクトディレクトリを作成します。

mkdir ~/

新しく作成した `+ tf-demo +`ディレクトリに移動します:

cd ~/

次に、「+ tensorflow-dev +」という新しい仮想環境を作成します。 次のコマンドを実行して環境を作成します。

python3 -m venv

これにより、この環境がアクティブ化されている間にインストールするすべてのパッケージが含まれる新しい `+ tensorflow-dev `ディレクトリが作成されます。 また、 ` pip +`とスタンドアロンバージョンのPythonも含まれています。

次に、仮想環境をアクティブにします。

source /bin/activate

アクティベートされると、ターミナルに次のようなものが表示されます。

()[email protected]:~/tf-demo $

これで、仮想環境にTensorFlowをインストールできます。

次のコマンドを実行して、https://pypi.python.org/pypi [PyPi]で利用可能なTensorFlowの最新バージョンをインストールしてアップグレードします。

pip3 install --upgrade tensorflow

TensorFlowは以下をインストールします。

OutputCollecting tensorflow
 Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB)
   100% |████████████████████████████████| 39.3MB 35kB/s

...

Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0

TensorFlowをインストールしたら、TensorFlowのインストールが機能することを確認しましょう。

ステップ2-インストールの検証

TensorFlowのインストールを検証するために、非ルートユーザーとしてTensorFlowで簡単なプログラムを実行します。 検証の形式として、「Hello、world!」の標準的な初心者の例を使用します。 Pythonファイルを作成するのではなく、https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console [Pythonのインタラクティブコンソール]を使用してこのプログラムを作成します。

プログラムを作成するには、Pythonインタープリターを起動します。

python

次のプロンプトが端末に表示されます

>>>

これはPythonインタープリターのプロンプトであり、Pythonステートメントの入力を開始する準備ができていることを示しています。

まず、この行を入力してTensorFlowパッケージをインポートし、ローカル変数 `+ tf `として使用できるようにします。 コードの行を入力した後、 ` ENTER`を押します:

import tensorflow as tf

次に、次のコード行を追加して、メッセージ「Hello、world!」を設定します。

hello = tf.constant("Hello, world!")

次に、新しいTensorFlowセッションを作成し、それを変数 `+ sess +`に割り当てます。

sess = tf.Session()

最後に、次のコード行を入力して、前のコード行で作成した + hello + TensorFlowセッションの実行結果を出力します。

print(sess.run(hello))

コンソールに次の出力が表示されます。

OutputHello, world!

これは、すべてが機能していること、およびTensorFlowを使用してより興味深いことを開始できることを示しています。

`+ CTRL + D +`を押してPythonインタラクティブコンソールを終了します。

次に、TensorFlowの画像認識APIを使用して、TensorFlowをさらに理解しましょう。

ステップ3-TensorFlowを使用した画像認識

TensorFlowがインストールされ、簡単なプログラムを実行して検証したので、TensorFlowの画像認識機能を見てみましょう。

画像を分類するには、モデルをトレーニングする必要があります。 次に、モデルを使用するためのコードを記述する必要があります。 これらの概念の詳細については、https://www.digitalocean.com/community/tutorials/an-introduction-to-machine-learning [機械学習の概要]をご覧ください。

TensorFlowは、https://github.com/tensorflow/models [モデルとサンプルのリポジトリ]を提供します。これには、画像を分類するためのコードとトレーニングモデルが含まれます。

Gitを使用して、TensorFlowモデルリポジトリをGitHubからプロジェクトディレクトリにクローンします。

git clone https://github.com/tensorflow/models.git

Gitがリポジトリを「+ models +」という新しいフォルダーにチェックアウトすると、次の出力が表示されます。

OutputCloning into 'models'...
remote: Counting objects: 8785, done.
remote: Total 8785 (delta 0), reused 0 (delta 0), pack-reused 8785
Receiving objects: 100% (8785/8785), 203.16 MiB | 24.16 MiB/s, done.
Resolving deltas: 100% (4942/4942), done.
Checking connectivity... done.

`+ models / tutorials / image / imagenet +`ディレクトリに切り替えます:

cd models/tutorials/image/imagenet

このディレクトリには、TensorFlowを使用して画像を認識する `+ classify_image.py `ファイルが含まれています。 このプログラムは、最初の実行時に訓練されたモデルを ` tensorflow.org +`からダウンロードします。 このモデルをダウンロードするには、ディスク上に200MBの空き容量が必要です。

この例では、https://www.tensorflow.org/images/cropped_pa​​nda.jpg [事前に提供されたパンダの画像]を分類します。 このコマンドを実行して、画像分類プログラムを実行します。

python classify_image.py

次のような出力が表示されます。

Outputgiant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

TensorFlowの画像認識機能を使用して最初の画像を分類しました。

別の画像を使用したい場合は、 `+ python- classify_image.py `コマンドに `-image_file +`引数を追加してこれを行うことができます。 引数には、画像ファイルの絶対パスを渡します。

結論

TensorFlowをPython仮想環境にインストールし、いくつかの例を実行してTensorFlowが動作することを検証しました。 これで、https://en.wikipedia.org/wiki/Convolutional_neural_network [Convolutional Neural Networks]およびhttps://papers.nips.cc/paper/5021-distributed-単語とフレーズと組成の表現.pdf [単語の埋め込み]。

TensorFlowのhttps://www.tensorflow.org/programmers_guide/[programmer’s guide]は、TensorFlow開発のための優れたリソースおよびリファレンスです。 また、https://www.kaggle.com/ [Kaggle]を探索することもできます。これは、他の機械学習、データサイエンス、および統計愛好家と戦う機械学習の概念を実際に適用するための競争環境です。 彼らには優れたhttps://www.kaggle.com/wiki/Home[wiki]があり、そこでは解決策を見て共有することができます。その一部は統計的手法や機械学習手法の最先端にあります。