forked from mindspore-Ecosystem/mindspore
!11486 rewrite the inputs generator in somas log
From: @laiyongqiang Reviewed-by: @kisnwang Signed-off-by:
This commit is contained in:
commit
a636bc29ec
|
@ -213,6 +213,7 @@ void Somas::InitCommonNodeInputs(bool is_all_nop_node, const CNodePtr &kernel) {
|
|||
|
||||
// Input Tensor
|
||||
auto input_tensor_num = AnfAlgo::GetInputTensorNum(kernel);
|
||||
size_t real_input_index = 0;
|
||||
for (size_t i = 0; i < input_tensor_num; i++) {
|
||||
auto input_node = kernel->input(i + 1);
|
||||
session::KernelWithIndex prenode_index;
|
||||
|
@ -232,7 +233,8 @@ void Somas::InitCommonNodeInputs(bool is_all_nop_node, const CNodePtr &kernel) {
|
|||
continue;
|
||||
}
|
||||
auto parameter = GetSomasParameters(prenode_index.first, prenode_index.second);
|
||||
node->input_parameters_map_[i] = parameter;
|
||||
node->input_parameters_map_[real_input_index] = parameter;
|
||||
real_input_index++;
|
||||
MS_LOG(DEBUG) << "Input [" << prenode_index.first->fullname_with_scope() << "] is not a real cnode kernel.";
|
||||
continue;
|
||||
}
|
||||
|
@ -251,6 +253,7 @@ void Somas::InitCommonNodeInputs(bool is_all_nop_node, const CNodePtr &kernel) {
|
|||
auto input_somas_tensor = pre_somas_node->output_tensors_[prenode_index.second];
|
||||
MS_EXCEPTION_IF_NULL(input_somas_tensor);
|
||||
node->input_tensors_.push_back(input_somas_tensor);
|
||||
real_input_index++;
|
||||
if (input_somas_tensor->type_ == kOutputOnly) {
|
||||
input_somas_tensor->type_ = kCommon;
|
||||
}
|
||||
|
@ -1135,26 +1138,21 @@ void Somas::DumpNodes(std::ofstream &ofs) const {
|
|||
auto scope_name = node->scope_full_name_;
|
||||
std::string split_name = GetSplitName(scope_name);
|
||||
ofs << "$" << node->GetId() << "\t" << split_name << "\t" << static_cast<int>(node->GetType()) << "\t";
|
||||
std::vector<std::pair<string, size_t>> input_list;
|
||||
std::transform(
|
||||
node->input_tensors_.begin(), node->input_tensors_.end(), std::back_inserter(input_list),
|
||||
[](SomasTensorPtr in) -> std::pair<string, size_t> { return std::make_pair("Tensor", in->GetId()); });
|
||||
for (const auto ¶m : node->input_parameters_map_) {
|
||||
auto index = param.first;
|
||||
auto iter = input_list.begin();
|
||||
std::advance(iter, index);
|
||||
input_list.insert(iter, std::make_pair("Parameter", param.second->id_));
|
||||
}
|
||||
auto input_num = node->input_tensors_.size() + node->input_parameters_map_.size();
|
||||
ofs << "inputs[";
|
||||
for (const auto &in : input_list) {
|
||||
if (in.first == "Tensor") {
|
||||
ofs << "%" << in.second << "T"
|
||||
size_t tensor_index = 0;
|
||||
for (size_t input_index = 0; input_index < input_num; input_index++) {
|
||||
auto iter = node->input_parameters_map_.find(input_index);
|
||||
if (iter != node->input_parameters_map_.end()) {
|
||||
ofs << "%" << iter->second->id_ << "P"
|
||||
<< ", ";
|
||||
} else if (in.first == "Parameter") {
|
||||
ofs << "%" << in.second << "P"
|
||||
} else {
|
||||
ofs << "%" << node->input_tensors_[tensor_index]->GetId() << "T"
|
||||
<< ", ";
|
||||
tensor_index++;
|
||||
}
|
||||
}
|
||||
|
||||
ofs << "]";
|
||||
ofs << "\toutputs[";
|
||||
for (const auto &out : node->output_tensors_) {
|
||||
|
|
Loading…
Reference in New Issue