#ifndef MIGRAPHX_GUARD_TEST_ONNX_ONNX_TEST_HPP #define MIGRAPHX_GUARD_TEST_ONNX_ONNX_TEST_HPP #include #include #include #include #include #include #include #include #include #include #include inline migraphx::program optimize_onnx(const std::string& name, bool run_passes = false) { migraphx::onnx_options options; options.skip_unknown_operators = true; auto prog = migraphx::parse_onnx(name, options); auto* mm = prog.get_main_module(); if(run_passes) migraphx::run_passes(*mm, {migraphx::rewrite_quantization{}, migraphx::dead_code_elimination{}}); // remove the last identity instruction auto last_ins = std::prev(mm->end()); if(last_ins->name() == "@return") { mm->remove_instruction(last_ins); } return prog; } #endif