このページは Cloud Translation API によって翻訳されました。
Switch to English

TensorFlowアドオン




TensorFlowアドオンは、 定評のある APIパターンに準拠するコントリビューションのリポジトリですが、コアTensorFlowでは利用できない新しい機能を実装しています。 TensorFlowは、多数の演算子、レイヤー、メトリック、損失、およびオプティマイザをネイティブでサポートしています。ただし、MLのような動きの速い分野では、コアTensorFlowに統合できない興味深い新しい開発が数多くあります(それらの広範な適用性がまだ明確でないか、ほとんどがコミュニティのより小さなサブセットによって使用されているため)。

取り付け

安定したビルド

最新バージョンをインストールするには、次のコマンドを実行します。

 pip install tensorflow-addons
 

アドオンを使用するには:

 import tensorflow as tf
import tensorflow_addons as tfa
 

ナイトリービルド

TensorFlowの最新の安定したバージョンに対してビルドされた、pipパッケージtfa-nightly下にTensorFlowアドオンのナイトリービルドもあります。ナイトリービルドには新しい機能が含まれていますが、バージョン付きのリリースよりも安定性が低い場合があります。

 pip install tfa-nightly
 

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

ソースからインストールすることもできます。これにはBazelビルドシステムが必要です。

 git clone https://github.com/tensorflow/addons.git
cd addons

# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_HOME="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)

# This script links project with TensorFlow dependency
python3 ./configure.py

bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts

pip install artifacts/tensorflow_addons-*.whl
 

コアコンセプト

サブパッケージ内の標準化されたAPI

ユーザーエクスペリエンスとプロジェクトの保守性は、TFアドオンのコアコンセプトです。これらを実現するには、追加がコアTensorFlowで見られる確立されたAPIパターンに準拠する必要があります。

GPU / CPUカスタム操作

TensorFlowアドオンの主な利点は、プリコンパイルされたopがあることです。 CUDA 10のインストールが見つからない場合、opは自動的にCPU実装にフォールバックします。

プロキシ保守

アドオンは、サブパッケージとサブモジュールを区分して、そのコンポーネントに専門知識と既得権を持つユーザーが保守できるように設計されています。

サブパッケージのメンテナシップは、書き込み権限を持つユーザーの数を制限するために実質的な貢献が行われた後にのみ付与されます。貢献は、問題の解決、バグ修正、ドキュメント、新しいコード、または既存のコードの最適化という形で提供されます。サブモジュールのメンテナシップには、エントリのバリアを低くして付与できます。これには、リポジトリへの書き込み権限が含まれないためです。

詳細についてはこのトピックのRFCを参照してください。

サブパッケージの定期的な評価

このリポジトリの性質を考えると、サブパッケージとサブモジュールは、時間がたつにつれてコミュニティにとってますます有用でなくなる可能性があります。リポジトリを持続可能な状態に保つために、コードの隔年レビューを実行して、すべてがまだリポジトリ内にあることを確認します。このレビューに寄与する要素は次のとおりです。

  1. アクティブなメンテナの数
  2. OSSの使用量
  3. コードに起因する問題またはバグの量
  4. より良いソリューションが利用可能になった場合

TensorFlowアドオン内の機能は、3つのグループに分類できます。

  • 推奨 :よく管理されたAPI;使用をお勧めします。
  • 推奨されない :より良い代替案が利用可能です。 APIは歴史的な理由で保持されています。または、APIはメンテナンスが必要であり、廃止予定の待機期間です。
  • 非推奨 :自己責任で使用してください。削除される可能性があります。

これら3つのグループ間のステータスの変更は次のとおりです:推奨<->推奨されません->非推奨。

APIが非推奨としてマークされてから削除されるまでの期間は90日です。理論的根拠は:

  1. TensorFlowアドオンが毎月リリースされる場合、APIが削除されるまでに2〜3回リリースされます。リリースノートはユーザーに十分な警告を与える可能性があります。

  2. 90日間は、メンテナーにコードを修正する十分な時間を与えます。

貢献する

TFアドオンは、コミュニティ主導のオープンソースプロジェクトです。そのため、プロジェクトは、公募、バグ修正、およびドキュメントに依存しています。 貢献方法のガイドについては、 貢献ガイドラインをご覧ください。このプロジェクトは、 TensorFlowの行動規範に準拠しています。参加することにより、あなたはこのコードを守ることが期待されます。

コミュニティ

ライセンス

Apacheライセンス2.0