27 lines
714 B
Python
27 lines
714 B
Python
from __future__ import annotations
|
|
|
|
from typing import Protocol
|
|
|
|
|
|
class CompilerBackend(Protocol):
|
|
def compile(self, bie_path: str, output_dir: str, **kwargs) -> str:
|
|
"""Compile BIE into NEF and return the generated NEF path."""
|
|
|
|
|
|
class KneronCompilerBackend:
|
|
def compile(self, bie_path: str, output_dir: str, **kwargs) -> str:
|
|
import ktc
|
|
|
|
km = ktc.ModelConfig(
|
|
kwargs["model_id"],
|
|
kwargs["version"],
|
|
kwargs["platform"],
|
|
bie_path=bie_path,
|
|
)
|
|
return ktc.compile([km], output_dir=output_dir or None)
|
|
|
|
|
|
def get_compiler_backend(name: str | None = None) -> CompilerBackend:
|
|
_ = name
|
|
return KneronCompilerBackend()
|