Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/winml/modelkit/commands/compile.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
from rich.console import Console

from ..config.precision import _DEVICE_TO_PROVIDER, VALID_EPS
from ..onnx import is_compiled_onnx
from ..utils.logging import configure_logging


Expand Down Expand Up @@ -159,6 +160,12 @@ def compile(
if model is None:
raise click.UsageError("Missing option '--model' / '-m'.")

if is_compiled_onnx(model):
raise click.ClickException(
f"{model} is already a compiled EPContext model and cannot be re-compiled. "
"Run 'winml compile' on the original ONNX model."
)

# Import compiler (late import to speed up CLI)
from ..compiler import WinMLCompileConfig, compile_onnx

Expand Down
8 changes: 7 additions & 1 deletion src/winml/modelkit/commands/optimize.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import click
from rich.console import Console

from ..onnx import load_onnx, save_onnx
from ..onnx import is_compiled_onnx, load_onnx, save_onnx


if TYPE_CHECKING:
Expand Down Expand Up @@ -382,6 +382,12 @@ def optimize(
if model is None:
raise click.UsageError("Missing option '--model' / '-m'.")

if is_compiled_onnx(model):
raise click.ClickException(
f"{model} is a compiled EPContext model and cannot be optimized. "
"Run 'winml optimize' on the original ONNX model before compilation."
)

# Inherit debug mode from parent
if ctx.obj and ctx.obj.get("debug"):
verbose = True
Expand Down
7 changes: 7 additions & 0 deletions src/winml/modelkit/commands/quantize.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import click
from rich.console import Console

from ..onnx import is_compiled_onnx
from ..utils.logging import configure_logging


Expand Down Expand Up @@ -141,6 +142,12 @@ def quantize(

configure_logging(verbose=verbose)

if is_compiled_onnx(model):
raise click.ClickException(
f"{model} is a compiled EPContext model and cannot be quantized. "
"Run 'winml quantize' on the original ONNX model before compilation."
)

# Import quantizer (late import to speed up CLI)
from ..quant import WinMLQuantizationConfig, quantize_onnx

Expand Down
Loading