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

Method to_json

src/core/impl/graph/operator_node.cpp:380–411  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

378
379#if MGB_ENABLE_JSON
380std::shared_ptr<json::Value> OperatorNodeBase::to_json() const {
381 auto cvt_var_array = [](const VarNodeArray& arr) {
382 auto rst = json::Array::make();
383 for (auto i : arr)
384 rst->add(json::String::make(i->id_str()));
385 return rst;
386 };
387
388 auto objptr = json::Object::make();
389 auto&& obj = *objptr;
390 obj["node_type"] = json::String::make("operator");
391 obj["id"] = json::String::make(id_str());
392 obj["name"] = json::String::make(name());
393 obj["type"] = json::String::make(dyn_typeinfo()->name);
394 obj["input"] = cvt_var_array(input());
395 obj["output"] = cvt_var_array(output());
396 obj["extra"] = to_json_extra_json;
397
398 if (m_input_waiting_spec.valid()) {
399 auto wpair_ptr = json::Object::make();
400 obj["waiting_spec"] = wpair_ptr;
401
402 auto&& wpair = *wpair_ptr;
403 for (auto&& i : m_input_waiting_spec.val()) {
404 wpair[i.comp_node.to_string()] =
405 json::Object::make({{"dev_ready", cvt_var_array(i.dev_ready)}});
406 }
407 } else {
408 obj["waiting_spec"] = json::Null::make();
409 }
410 return objptr;
411}
412#endif
413
414/* ===================== OperatorNodeConfig ===================== */

Callers

nothing calls this directly

Calls 6

makeFunction · 0.70
nameFunction · 0.50
addMethod · 0.45
id_strMethod · 0.45
validMethod · 0.45
to_stringMethod · 0.45

Tested by

no test coverage detected