MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / format_and_print

Method format_and_print

lite/load_and_run/src/options/plugin_options.cpp:142–203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

140namespace lar {
141template <>
142void DebugOption::format_and_print(
143 const std::string& tablename, std::shared_ptr<ModelLite> model) {
144 auto table = mgb::TextTable(tablename);
145 auto&& network = model->get_lite_network();
146 table.padding(1);
147 table.align(mgb::TextTable::Align::Mid)
148 .add("type")
149 .add("name")
150 .add("shape")
151 .add("dtype")
152 .eor();
153
154 auto to_string = [&](lite::Layout& layout) {
155 std::string shape("{");
156 for (size_t i = 0; i < layout.ndim; i++) {
157 if (i)
158 shape.append(",");
159 shape.append(std::to_string(layout.shapes[i]));
160 }
161 shape.append("}");
162 return shape;
163 };
164 auto get_dtype = [&](lite::Layout& layout) {
165 std::map<LiteDataType, std::string> type_map = {
166 {LiteDataType::LITE_FLOAT, "float32"},
167 {LiteDataType::LITE_HALF, "float16"},
168 {LiteDataType::LITE_INT64, "int64"},
169 {LiteDataType::LITE_INT, "int32"},
170 {LiteDataType::LITE_UINT, "uint32"},
171 {LiteDataType::LITE_INT16, "int16"},
172 {LiteDataType::LITE_UINT16, "uint16"},
173 {LiteDataType::LITE_INT8, "int8"},
174 {LiteDataType::LITE_UINT8, "uint8"}};
175 return type_map[layout.data_type];
176 };
177
178 auto input_name = network->get_all_input_name();
179 for (auto& i : input_name) {
180 auto layout = network->get_io_tensor(i)->get_layout();
181 table.align(mgb::TextTable::Align::Mid)
182 .add("INPUT")
183 .add(i)
184 .add(to_string(layout))
185 .add(get_dtype(layout))
186 .eor();
187 }
188
189 auto output_name = network->get_all_output_name();
190 for (auto& i : output_name) {
191 auto layout = network->get_io_tensor(i)->get_layout();
192 table.align(mgb::TextTable::Align::Mid)
193 .add("OUTPUT")
194 .add(i)
195 .add(to_string(layout))
196 .add(get_dtype(layout))
197 .eor();
198 }
199

Callers

nothing calls this directly

Calls 15

TextTableClass · 0.85
to_stringFunction · 0.85
paddingMethod · 0.80
eorMethod · 0.80
addMethod · 0.45
alignMethod · 0.45
appendMethod · 0.45
get_all_input_nameMethod · 0.45
get_layoutMethod · 0.45
get_io_tensorMethod · 0.45
get_all_output_nameMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected