TensorFlowOnSpark は、Apache Hadoop クラスターと Apache Spark クラスターにスケーラブルなディープ ラーニングをもたらします。
TensorFlow ディープ ラーニング フレームワークの顕著な機能を Apache Spark および Apache Hadoop と組み合わせることで、TensorFlowOnSpark は GPU サーバーと CPU サーバーのクラスター上で分散ディープ ラーニングを可能にします。
これにより、共有グリッド上で既存の TensorFlow プログラムを実行するために必要なコード変更の量を最小限に抑えることを目的として、Spark クラスター上での分散 TensorFlow トレーニングと推論の両方が可能になります。 Spark 互換 API は、次の手順で TensorFlow クラスターを管理するのに役立ちます。
TFNode.DataFeed
クラス経由で Spark RDD データを TensorFlow ノードに送信します。 HDFS 上の TFRecord にアクセスするために Hadoop 入出力形式を利用していることに注意してください。TensorFlowOnSpark は、Yahoo のプライベート クラウド内の Hadoop クラスター上で大規模な分散ディープ ラーニングを行うために Yahoo によって開発されました。
TensorFlowOnSpark は、代替の深層学習ソリューションに比べて、いくつかの重要な利点 (ブログを参照) を提供します。
TensorFlowOnSpark は pip パッケージとして提供され、次の方法で単一のマシンにインストールできます。
# for tensorflow>=2.0.0
pip install tensorflowonspark
# for tensorflow<2.0.0
pip install tensorflowonspark==1.4.4
分散クラスターについては、単一ノードの Spark スタンドアロン、YARN クラスター、AWS EC2 の入門ガイドなど、特定の環境に関する詳細なドキュメントについては Wiki サイトを参照してください。注: この問題のため、Windows オペレーティング システムは現在サポートされていません。
既存の TensorFlow アプリケーションで TensorFlowOnSpark を使用するには、変換ガイドに従って必要な変更を説明します。さらに、当社の Wiki サイトには、プラットフォームの概要を提供するいくつかのプレゼンテーションへのポインターがあります。
注: TensorFlow 2.x では TensorFlow 1.x との API 互換性が失われているため、サンプルはそれに応じて更新されています。 TensorFlow 1.x を使用している場合は、互換性のある例と手順についてv1.4.4
タグをチェックアウトする必要があります。
API ドキュメントはコードから自動的に生成されます。
ディスカッションや質問については、TensorFlowOnSpark ユーザー グループに参加してください。ご質問がある場合は、投稿する前に FAQ をご覧ください。
貢献はいつでも大歓迎です。詳細については、参加ガイドをご覧ください。
このソフトウェアの使用および配布条件には、Apache 2.0 ライセンスが適用されます。条件については、LICENSE ファイルを参照してください。