TensorFlow Fold : 概要とセットアップ
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 04/20/2017
* 本ページは、github 上の TensorFlow Fold の README.md 及び “Download and Setup” を
動作確認・翻訳した上で適宜、補足説明したものです:
https://github.com/tensorflow/fold/blob/master/README.md
https://github.com/tensorflow/fold/blob/master/tensorflow_fold/g3doc/setup.md
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
TensorFlow Fold
TensorFlow Flod は構造型データ (structured data) を消費する TensorFlow モデルを作成するためのライブラリで、そこでは計算グラフの構造は入力データの構造に依存します。例えば、このモデル は、任意の shape/サイズ/深さの解析木上のセンチメント分析 (感情/評判分析) のための TreeLSTM を実装しています。
Fold は動的バッチ処理 (dynamic batching) を実装しています。任意の shape の計算グラフのバッチは静的な計算グラフを生成するために変換されます。このグラフはそれが何を受け取るかに関わらず同じ構造を持ち、TensorFlow で効率的に実行されます。
- ダウンロードとセットアップ (本ページ後半)
- クイックスタート・ノートブック
- ドキュメンテーション
このアニメーションは 再帰的 (recursive) ニューラルネットワーク が動的バッチ処理で動作する様子を示しています。(アニメーションでは色で示される) 計算グラフの同じ深さに現れる同じ型の演算が同じ解析木に現れるか否かに関わらず一緒にバッチされています。埋め込み (embed) 演算は 単語(群)をベクトル表現 に変換します。完全結合 ( FC ) 演算は単語ベクトルを結合して句 (phrase) のベクトル表現を形成します。ネットワークの出力は文全体のベクトル表現です。文の単一の解析木のみが示されていますが、同じネットワークが任意の shape とサイズの複数の解析木に渡り実行可能で、演算をバッチ処理できます。TensorFlow concat, while_loop, そして gather ops は変数初期化の前に、(TensorFlow Fold のための低位 API である) Loom により一度作成されます。TensorFlow Fold に貢献したい場合には、contribution guidelines をレビューしてください。
TensorFlow Fold は公式な Google プロダクトではありません。
ダウンロードとセットアップ
Fold は Linux の基で動作します; 他のプラットフォームではテストしていません。Python 2.7 と 3.3+ の両者がサポートされます。Virtualenv と pip を使用してインストールすることを推奨します。ソースからのインストールの指示は こちら を見てください。もし問題があれば、TensorFlow 主サイトが有用であるかもしれない幾つかの解法と共に 一般的な問題 のリストを持っています。Fold は TensorFlow 1.0 を必要とすることに注意してください; 破壊的な API 変更によってより早いバージョンとは非互換です。
最初に Python, pip そして Virtualenv をインストールします :
sudo apt-get install python-pip python-dev python-virtualenv
foo ディレクトリに Virtualenv 環境を作成します :
virtualenv foo # for Python 2.7 virtualenv -p python3 foo # for Python 3.3+
環境を activate します :
source ./foo/bin/activate # if using bash source ./foo/bin/activate.csh # if using csh
TensorFlow のための pip パッケージをインストールします。Python 2.7 CPU-only に対しては、これは以下のようになります :
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0rc0-cp27-none-linux_x86_64.whl
Python 3.3+ and/or GPU に対しては、利用可能な TF バイナリの完全なリストは こちら を見てください。
TensorFlow がロード可能であることを確認します :
python -c 'import tensorflow'
Fold について pip パッケージをインストールします。Python 2.7 に対しては、これは次のようになります :
pip install https://storage.googleapis.com/tensorflow_fold/tensorflow_fold-0.0.1-cp27-none-linux_x86_64.whl
Python 3.3 については :
pip install https://storage.googleapis.com/tensorflow_fold/tensorflow_fold-0.0.1-py3-none-linux_x86_64.whl
Fold がロード可能であることを確認します :
python -c 'import tensorflow_fold'
成功です!
Next steps
- try out the quick start notebook
- browse the documentation
- hacks and glory
以上