Hi
I am trying to use the script to_kmodel.py provided in the examples to convert my own onnx model to a kmodel file.
When I execute the script using the Yolo onnx model provided in the example, it works correctly.
But, when I use my own onnx file (a very simlple LeNet conv network), it crashes, with the following error message:
Unhandled exception. System.AggregateException: One or more errors occurred. (Only The Expr Have CheckedType Can Get It’s Shape)
—> System.InvalidOperationException: Only The Expr Have CheckedType Can Get It’s Shape
at Nncase.IR.Expr.get_CheckedShape()
at Nncase.Passes.Rules.Neutral.FoldNopBinary.GetReplace(Binary binary, Call call, Expr lhs, TensorConst rhs)
at Nncase.Passes.Rules.Neutral.FoldNopBinary.GetReplace(IMatchResult __result, RunPassContext __context)
at Nncase.Passes.DataFlowRewriter.DefaultRewriteLeaf(Expr expr)
at Nncase.IR.ExprRewriter.RewriteLeafCall(Call expr)
at Nncase.IR.ExprRewriter.RewriteLeafCall(Call expr, Unit context)
at Nncase.IR.ExprRewriter1.VisitLeafCall(Call expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitCall(Call expr, TContext context)
at Nncase.IR.Call.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.VisitOperands(Expr expr, TContext context) at Nncase.IR.ExprVisitor3.VisitFunction(Function expr, TContext context)
at Nncase.IR.Function.Accept[TExprResult,TTypeResult,TContext](ExprFunctor3 functor, TContext context) at Nncase.IR.ExprFunctor3.DispatchVisit(Expr expr, TContext context)
at Nncase.IR.ExprVisitor3.DispatchVisit(Expr expr, TContext context) at Nncase.Passes.DataFlowRewriter.DispatchVisit(Expr expr, Unit context) at Nncase.IR.ExprFunctor3.Visit(Expr expr, TContext context)
at Nncase.IR.ExprRewriter1.Rewrite(Expr expr, TContext context) at Nncase.IR.ExprRewriter.Rewrite(Expr expr) at Nncase.Passes.RewriteProvider.Rewrite(Expr expr, IEnumerable1 rules, RunPassContext context)
at Nncase.CompilerServicesProvider.Rewrite(Expr expr, IEnumerable1 rules, RunPassContext options) at Nncase.CompilerServices.Rewrite(Expr expr, IEnumerable1 rules, RunPassContext options)
at Nncase.Passes.DataflowPass.RunCoreAsync(BaseFunction function, RunPassContext options)
at Nncase.Passes.Pass2.RunAsync(TInput input, RunPassContext context) at Nncase.Passes.PassManager.FunctionPassGroup.Runner.RunAsync() at Nncase.Passes.PassManager.FunctionPassGroup.RunAsync(IRModule module) at Nncase.Passes.PassManager.RunAsync(IRModule module) at Nncase.Compiler.Compiler.RunPassAsync(Action1 register, String name, IProgress1 progress, CancellationToken token) at Nncase.Compiler.Compiler.InitializeModuleAsync(IRModule module) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification)
at Nncase.Compiler.Interop.CApi.CompilerImportOnnxModule(IntPtr compilerHandle, IntPtr streamHandle)
Aborted (core dumped)
This is very obscure, can anyone explain or tell me what is going wrong?
I can’t upload the onnx file (new user), but it can be found here.