Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Content: Define operand concept, simplify graph connection steps (#591)
* Content: Define operand concept, simplify graph connection steps As discussed in #572: - Define an "operator" concept, with inputs, outputs, activations. - Defer "platform operator" and "platform operand" to build. - Standardize the graph connection steps across builder methods. - Simplify activation, input and constant steps. Not covered in this change: - Erroring if input's [[builder]] doesn't match `this` - Build algorithm - covered by #448 and #457 - gru() is missing steps to populate output. Added "Issue" note. - Introducing "Validate arguments" section for each method. - Introducing "Calculate output shape" section for each method. For #549 and #572. * Trivial fixes - missing spaces, wrong operation name * lstm(): Fix output2 shape calculation In tip-of-tree, the "desc" MLOperandDescriptor is populated, used, then modified and conditionally used again (if `returnSequence` is true) when creating "output2". This was broken in previous commits in this branch. Restore the intent, using a separate "desc2" MLOperandDescriptor only conditionally populated and then conditionally used. * Update index.bs Co-authored-by: Ningxin Hu <[email protected]> * Initial review feedback: * Add other operand inputs * PreLU -> PReLU * Define split() output shapes calculations * Introduce definition for computational graph with inputs and constants * Revise Programming Model section --------- Co-authored-by: Ningxin Hu <[email protected]>
- Loading branch information