モデルの構造化プルーニングを反復して実行するランナー。この 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
- プルーニング仕様パスは、スパース モデルをスリム モデルに変換します。