We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
以下是GroundingDINO的onnx模型转mlir的日志:
root@26d73eb7a565:/workspace/project/GroundingDINO# model_transform.py --model_name groundingdino --model_def onnx/GroundingDINOExport_16_Tokens.onnx --input_shapes [[1,3,544,960],[1,1,1,16],[1,1,1,16],[1,1,1,16],[1,1,1,16],[1,1,16,16]] --mlir mlir/groundingdino.mlir --test_input ./input/input_data.npz --test_result grounding_dino_output_data.npz SOPHGO Toolchain v1.5.beta.0-20231107 2023/11/08 20:14:17 - INFO : _____________________________________________________ | preprocess: | | (x - mean) * scale | '-------------------------------------------------------' config Preprocess args : resize_dims : same to net input dims keep_aspect_ratio : False keep_ratio_mode : letterbox pad_value : 0 pad_type : center -------------------------- mean : [0.0, 0.0, 0.0] scale : [1.0, 1.0, 1.0] -------------------------- pixel_format : bgr channel_format : nchw Input_shape assigned ConstantFolding finished skip_fuse_bn: False Onnxsim opt finished ConstantFolding finished Save mlir file: mlir/groundingdino_origin.mlir [Running]: tpuc-opt mlir/groundingdino_origin.mlir --shape-infer --canonicalize --extra-optimize -o mlir/groundingdino.mlir tpuc-opt: /llvm-project/mlir/lib/IR/PatternMatch.cpp:305: virtual void mlir::RewriterBase::eraseOp(mlir::Operation *): Assertion `op->use_empty() && "expected 'op' to have no uses"' failed. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: tpuc-opt mlir/groundingdino_origin.mlir --init --shape-infer --canonicalize --extra-optimize --deinit --mlir-print-debuginfo -o mlir/groundingdino.mlir #0 0x000055e5ccf37157 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/workspace/install/bin/tpuc-opt+0x5f7157) #1 0x000055e5ccf34e7e llvm::sys::RunSignalHandlers() (/workspace/install/bin/tpuc-opt+0x5f4e7e) #2 0x000055e5ccf37ada SignalHandler(int) Signals.cpp:0:0 #3 0x00007fac0cffb520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) #4 0x00007fac0d04f9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc) #5 0x00007fac0cffb476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476) #6 0x00007fac0cfe17f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3) #7 0x00007fac0cfe171b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b) #8 0x00007fac0cff2e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96) #9 0x000055e5cde82c31 (/workspace/install/bin/tpuc-opt+0x1542c31) #10 0x000055e5cdb20484 PermuteFuse::matchAndRewrite(tpu_mlir::top::PermuteOp, mlir::PatternRewriter&) const (/workspace/install/bin/tpuc-opt+0x11e0484) #11 0x000055e5cdc726b7 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>)::$_2>(long) PatternApplicator.cpp:0:0 #12 0x000055e5cdc6efcf mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) (/workspace/install/bin/tpuc-opt+0x132efcf) #13 0x000055e5cdc3876c (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() GreedyPatternRewriteDriver.cpp:0:0 #14 0x000055e5cdc355bc mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) (/workspace/install/bin/tpuc-opt+0x12f55bc) #15 0x000055e5cdc14bcb (anonymous namespace)::Canonicalizer::runOnOperation() Canonicalizer.cpp:0:0 #16 0x000055e5cdc9b9a4 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/workspace/install/bin/tpuc-opt+0x135b9a4) #17 0x000055e5cdc9bfd1 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/workspace/install/bin/tpuc-opt+0x135bfd1) #18 0x000055e5cdc9e478 mlir::PassManager::run(mlir::Operation*) (/workspace/install/bin/tpuc-opt+0x135e478) #19 0x000055e5ccf2899b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0 #20 0x000055e5ccf27d64 mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_2>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0 #21 0x000055e5cdea2118 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) (/workspace/install/bin/tpuc-opt+0x1562118) #22 0x000055e5ccf2206a mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/workspace/install/bin/tpuc-opt+0x5e206a) #23 0x000055e5ccf22534 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/workspace/install/bin/tpuc-opt+0x5e2534) #24 0x000055e5ccf212b9 main (/workspace/install/bin/tpuc-opt+0x5e12b9) #25 0x00007fac0cfe2d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90) #26 0x00007fac0cfe2e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40) #27 0x000055e5ccf20f15 _start (/workspace/install/bin/tpuc-opt+0x5e0f15) Aborted (core dumped) Traceback (most recent call last): File "/workspace/python/tools/model_transform.py", line 273, in <module> tool.model_transform(args.mlir, args.add_postprocess) File "/workspace/python/tools/model_transform.py", line 51, in model_transform mlir_opt_for_top(mlir_origin, self.mlir_file, add_postprocess) File "/workspace/python/utils/mlir_shell.py", line 60, in mlir_opt_for_top _os_system(cmd) File "/workspace/python/utils/mlir_shell.py", line 50, in _os_system raise RuntimeError("[!Error]: {}".format(cmd_str)) RuntimeError: [!Error]: tpuc-opt mlir/groundingdino_origin.mlir --shape-infer --canonicalize --extra-optimize -o mlir/groundingdino.mlir
请问这是什么原因造成的呢?如果我提前采用onnxsim对模型简化,就不会在这个阶段报错,但在下一步对比mlir和onnx相似度的euclidean_similarity指标过不了。如果不考虑euclidean_similarity误差,直接转bm1684x的fp32模型,推理出来的结果也不对。
The text was updated successfully, but these errors were encountered:
我也遇到了同样的问题,无法解决
Sorry, something went wrong.
请问提前用onnxsim对模型简化这一步具体是怎么操作呢
No branches or pull requests
以下是GroundingDINO的onnx模型转mlir的日志:
请问这是什么原因造成的呢?如果我提前采用onnxsim对模型简化,就不会在这个阶段报错,但在下一步对比mlir和onnx相似度的euclidean_similarity指标过不了。如果不考虑euclidean_similarity误差,直接转bm1684x的fp32模型,推理出来的结果也不对。
The text was updated successfully, but these errors were encountered: