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

Method init_assignee_info

src/opr/impl/loop/grad.cpp:222–235  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

220}
221
222void LoopGrad::AssignorGradOpr::init_assignee_info(
223 const VarNodeArray& assignees, SymbolVar loss) {
224 mgb_assert(!m_assignee_grads_init && m_assignee_grads.empty());
225 m_assignee_grads.reserve(assignees.size());
226 for (auto i : assignees) {
227 auto grad = cg::grad(loss, i, false, false).node();
228 if (grad) {
229 m_assignee_grads.push_back(grad);
230 }
231 }
232 m_assignee_grads_init = true;
233 m_assignee_grads_buf_init = true;
234 m_assignee_grads_empty = m_assignee_grads.empty();
235}
236
237void LoopGrad::AssignorGradOpr::scn_do_execute() {
238 if (should_fwd()) {

Callers 1

bind_grad_varMethod · 0.80

Calls 6

gradFunction · 0.85
emptyMethod · 0.45
reserveMethod · 0.45
sizeMethod · 0.45
nodeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected