|
|
|
@ -245,6 +245,10 @@ FuncGraphPtr FuncGraph::GenerateGraph(const AbstractBasePtrList &args_spec_list)
|
|
|
|
|
if (!NeedGenerate(kwarg_list)) {
|
|
|
|
|
return shared_from_base<FuncGraph>();
|
|
|
|
|
}
|
|
|
|
|
auto iter = func_graph_cache_.find(args_spec_list);
|
|
|
|
|
if (iter != func_graph_cache_.end()) {
|
|
|
|
|
return iter->second;
|
|
|
|
|
}
|
|
|
|
|
FuncGraphPtr specialized_graph = BasicClone(shared_from_base<FuncGraph>());
|
|
|
|
|
size_t kwarg_count = kwarg_list.size();
|
|
|
|
|
int pos_args_input_count = SizeToInt(arguments_count - kwarg_count - hyper_param_count_);
|
|
|
|
@ -290,6 +294,7 @@ FuncGraphPtr FuncGraph::GenerateGraph(const AbstractBasePtrList &args_spec_list)
|
|
|
|
|
specialized_graph->set_kwonlyargs_count(0);
|
|
|
|
|
specialized_graph->ClearDefaultValues();
|
|
|
|
|
specialized_graph->set_is_generate(true);
|
|
|
|
|
func_graph_cache_[args_spec_list] = specialized_graph;
|
|
|
|
|
return specialized_graph;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|