Keras モデルの構造化プルーニングを反復して実行するランナー。この API には次のメソッドがあります。
-
__init__(model, input_specs)
新しい
IterativePruningRunner
オブジェクトを作成します。- model
- プルーニングするベースライン モデル。
keras.Model
のインスタンスです。 - input_specs
- モデルの入力仕様を表すのに使用される 1 つの
tf.TensorSpec
またはそのリスト。
-
ana(eval_fn, excludes=None, forced=False)
モデル解析を実行します。解析結果は '.vai' ディレクトリに保存されます。
forced
が TRUE に設定されている場合を除き、これ以降の呼び出しにはこのキャッシュされた結果が直接使用されます。- eval_fn
- 最初の引数に
keras.Model
オブジェクトを取り、評価スコアを返す呼び出し可能オブジェクト。 - excludes
- プルーニングから除外されるレイヤー名またはレイヤー インスタンスのリスト。
- forced
- TRUE に設定されている場合、キャッシュされた解析結果を使用する代わりにモデル解析を実行します。
-
prune(ratio=None, threshold=None, spec_path=None, excludes=None, mode='sparse')
ベースライン モデルをプルーニングし、スパース (疎) モデルを返します。どの程度プルーニングするかは、ratio、threshold、またはプルーニング仕様の 3 つの方法で指定できます。ratio の使用を推奨します。threshold やプルーニング仕様を使用する方法は、手動調整による実験に適しています。
- ratio
- ベースライン モデルの想定される FLOPs 削減率。これは目安となる値であり、実際の FLOPs 削減率はこの値と正確に一致しないことがあります。
- threshold
- ベースライン モデルに対するプルーニング済みモデルの精度低下の相対的な比率。
- spec_path
- モデルのプルーニングに使用されるプルーニング仕様のパス。
- excludes
- プルーニングから除外されるレイヤー名またはレイヤー インスタンスのリスト。
- mode
- ベースライン モデルをプルーニングしてスパース モデルを返すモード。
-
get_slim_model(spec_path=None)
スパース モデルからスリム モデルを生成します。この変換は、デフォルトでは最新のプルーニング仕様を使用して実行されます。スパース モデルが最新の仕様から生成されたものでない場合は、仕様のパスを明示的に指定できます。
- spec_path
- スパース モデルからスリム モデルへの変換に使用されるプルーニング仕様のパス。