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

Method gen_output_mask

imperative/src/impl/subgraph.cpp:51–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51SmallVector<bool> Subgraph::gen_output_mask() {
52 std::unordered_set<size_t> invalid_outputs = {outputs.begin(), outputs.end()};
53 for (auto&& input : inputs) {
54 invalid_outputs.erase(input);
55 }
56 for (auto&& expr : exprs) {
57 for (auto&& output : expr.outputs) {
58 invalid_outputs.erase(output);
59 }
60 }
61 for (auto&& constant : constants) {
62 invalid_outputs.erase(constant.first);
63 }
64 invalid_outputs.insert(0);
65 SmallVector<bool> mask(outputs.size(), true);
66 for (size_t i = 0; i < outputs.size(); ++i) {
67 if (invalid_outputs.count(outputs[i])) {
68 mask[i] = false;
69 }
70 }
71 return mask;
72}
73
74void Subgraph::replace_vars(const std::unordered_map<size_t, size_t>& replace_map) {
75 // FIXME: preprocess replace_map

Callers 1

makeMethod · 0.80

Calls 6

beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
insertMethod · 0.45
sizeMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected