-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update the programming model section #549
Comments
PR #540 defines global concepts "platform operator" and "platform operand". |
Some terms that would be good to define:
|
If you're following this issue, please review: #572 (comment) |
Programming Model changes in #572 (comment) LGTM. Edit: Should we also say the nodes of the graph are connected by edges, represented by MLOperands? This is complementary to "MLOperands representing the data flow" but using graph theory language. |
Updated to read:
|
As discussed in webmachinelearning#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 webmachinelearning#448 and webmachinelearning#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 webmachinelearning#549 and webmachinelearning#572.
* 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]>
Yes we can. Much thanks for doing a pass also on this part of the spec that I believe will be read by many web developers and people interested in the lay of the land. |
Review and update the programming model section to ensure it still reads well and is up to date with the rest of the specification. This section can be used as a place to define concepts that apply globally.
The text was updated successfully, but these errors were encountered: