diff --git a/lite/src/mge/network_impl.cpp b/lite/src/mge/network_impl.cpp index a7719520679ca92c412c3af53aefc29fcf307bcc..58eb463e9228797cfaf1d5b5c6e4e38e3716f335 100644 --- a/lite/src/mge/network_impl.cpp +++ b/lite/src/mge/network_impl.cpp @@ -660,8 +660,10 @@ void NetworkImplDft::set_io(const NetworkIO& network_io) { } void NetworkImplDft::try_infer_tensor_layout(std::shared_ptr tensor, Var var) { - if (var.node()->capable_shape_infer()) { - auto&& static_infer_mgr = m_load_config.comp_graph->static_infer_manager(); + using InferType = mgb::cg::static_infer::InferType; + auto&& static_infer_mgr = m_load_config.comp_graph->static_infer_manager(); + if (static_infer_mgr.get_infer_type(var.node()).shape & + (InferType::CONST | InferType::RT_STATIC)) { auto shape = static_infer_mgr.infer_shape_fallible(var.node()); if (!shape) { LITE_WARN( diff --git a/src/core/impl/graph/var_node.cpp b/src/core/impl/graph/var_node.cpp index 863354ee2ff49d3b7353524388c144322dbda135..1380acef78f8bccf6866935b043c199329075166 100644 --- a/src/core/impl/graph/var_node.cpp +++ b/src/core/impl/graph/var_node.cpp @@ -596,18 +596,6 @@ bool VarNode::is_graph_dest_varnode() { return ComputingGraphImpl::downcast(owner_graph())->var_receiver(this).size() == 0; } -bool VarNode::capable_shape_infer() { - auto&& mgr = - ComputingGraphImpl::downcast(owner_graph())->static_infer_manager_impl(); - return mgr.has_shape_infer(this); -} - -bool VarNode::capable_value_infer() { - auto&& mgr = - ComputingGraphImpl::downcast(owner_graph())->static_infer_manager_impl(); - return mgr.has_value_infer(this); -} - VarNode& VarNode::add_flag(Flag flag) { modify_flag(flag, m_flag | flag); return *this; diff --git a/src/core/include/megbrain/graph/var_node.h b/src/core/include/megbrain/graph/var_node.h index e5778456c7f966f46e0ea22177a6042c74af70bf..3b84c378e3bdc5bd692f8d79daaf161e3d27ea77 100644 --- a/src/core/include/megbrain/graph/var_node.h +++ b/src/core/include/megbrain/graph/var_node.h @@ -488,16 +488,6 @@ public: MGE_WIN_DECLSPEC_FUC MemAllocPlan& init_mem_plan( const DeviceTensorND* fixed_alloc = nullptr); - /*! - * \brief check infer shape capablity by check m_static_infer_trait's shape infer - */ - MGE_WIN_DECLSPEC_FUC bool capable_shape_infer(); - - /*! - * \brief check infer shape capablity by check m_static_infer_trait's value infer - */ - MGE_WIN_DECLSPEC_FUC bool capable_value_infer(); - //! whether the var is graph output, if it is output, the Flag of //! NO_SYS_MEM_ALLOC can be modified. MGE_WIN_DECLSPEC_FUC bool is_graph_dest_varnode();