機械学習モデルを最適化する
import tensorflow as tf import tensorflow_model_optimization as tfmot model = tf.keras.Sequential([...]) pruning_schedule = tfmot.sparsity.keras.PolynomialDecay( initial_sparsity=0.0, final_sparsity=0.5, begin_step=2000, end_step=4000) model_for_pruning = tfmot.sparsity.keras.prune_low_magnitude( model, pruning_schedule=pruning_schedule) ... model_for_pruning.fit(...)
TensorFlow Model Optimization Toolkit は、機械学習モデルを最適化してデプロイおよび実行できるようにするための一連のツールです。このツールキットにはさまざまな用途がありますが、以下に関する手法をサポートしています。
- クラウドおよびエッジデバイス(モバイル、IoT など)の遅延と推論のコストを削減します。
- モデルをエッジデバイスにデプロイします(処理、メモリ、消費電力、ネットワーク使用量、モデルのストレージ容量に関する制限あり)。
- モデルを実行できるようにし、既存のハードウェアまたは新しい専用アクセラレータ向けに最適化します。
タスクに応じてモデルと最適化ツールを選択します。
-
既製のモデルでパフォーマンスを向上させる
多くの場合、事前に最適化されたモデルによってアプリの効率性を向上させることができます。 -
TensorFlow 用の Model Optimization Toolkit を使用する
トレーニング後にツールを使用して、トレーニング済みの TensorFlow モデルを最適化してみます。 -
さらに最適化する
トレーニング時間の最適化ツールを使用して、手法について説明します。