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

Method gen_input_mask

imperative/src/impl/subgraph.cpp:31–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31SmallVector<bool> Subgraph::gen_input_mask() {
32 std::unordered_set<size_t> unused_inputs = {inputs.begin(), inputs.end()};
33 for (auto&& expr : exprs) {
34 for (auto&& input : expr.inputs) {
35 unused_inputs.erase(input);
36 }
37 }
38 for (auto&& output : outputs) {
39 unused_inputs.erase(output);
40 }
41 unused_inputs.insert(0);
42 SmallVector<bool> mask(inputs.size(), true);
43 for (size_t i = 0; i < inputs.size(); ++i) {
44 if (unused_inputs.count(inputs[i])) {
45 mask[i] = false;
46 }
47 }
48 return mask;
49}
50
51SmallVector<bool> Subgraph::gen_output_mask() {
52 std::unordered_set<size_t> invalid_outputs = {outputs.begin(), outputs.end()};

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