| 120 | } |
| 121 | |
| 122 | bool parseInputData( |
| 123 | std::string s, std::vector<std::map<std::string, std::string>>& map_vec) { |
| 124 | if (s.empty()) |
| 125 | return false; |
| 126 | llvm::SmallVector<llvm::StringRef> data_group; |
| 127 | llvm::SplitString(s, data_group, ":"); |
| 128 | for (auto&& data_str : data_group) { |
| 129 | llvm::SmallVector<llvm::StringRef> datas; |
| 130 | llvm::SplitString(data_str, datas, ";"); |
| 131 | std::map<std::string, std::string> map; |
| 132 | for (auto&& data : datas) { |
| 133 | llvm::StringRef nameString, fileString; |
| 134 | std::tie(nameString, fileString) = data.split("="); |
| 135 | map[nameString.str()] = fileString.str(); |
| 136 | } |
| 137 | if (map.size() > 0) { |
| 138 | llvm::outs() << "Model input data:\n"; |
| 139 | for (auto& it : map) { |
| 140 | llvm::outs() << " input name= " << it.first << ". "; |
| 141 | llvm::outs() << "file= " << it.second << "\n"; |
| 142 | } |
| 143 | } |
| 144 | map_vec.push_back(map); |
| 145 | } |
| 146 | return true; |
| 147 | } |
| 148 | |
| 149 | void run(const serialization::GraphLoader::LoadResult& graph, bool verbose) { |
| 150 | auto output_vars = graph.output_var_list; |