Tracking issue for unsupported parts of the standard
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 101
- Forks
- 8
- Avg merge
- 18h 53m
- Merged PRs (30d)
- 5
Description
There are some parts of the standard that we don't yet support or we can't test due to their limited usage, but it would be a good idea to write these down in case they come up.
Unticked features written in bold have (unstable and possibly partial) internal implementations and test suites. Let ticked features be the ones that are stable.
Features in this list without their own issue are not significant enough to be a blocker for a release.
- Functions - Limited testing due to limited ORT support
- Initialisers - Replaceable by
Constant, initialisers as input defaults unsupported in ORT. #50 - External tensor data - Currently values that become
TensorProtomust be kept in memory asnumpy.ndarray. How will this affect running type inference, when e.g. attributes are expected? - Sparse tensors - Mostly seem to have a use in initialisers, but currently their appearances for e.g.
Constantare ignored. - Map value type - Though in the standard and undoubtedly would be useful, I'm not sure if it's possible to create/use one.
- Non-standard (non-numpy) data types - though unmentioned (?) in the standard directly, some operators accept dtypes like
bfloat16. We would need to slightly modify our representation to accept this. - Custom naming - Note this isn't strictly required by the standard for producers but it sometimes comes up (e.g. for partial output evaluation). Since Spox tries to keep errors from reaching ONNX checkers it autogenerates all names. It could be useful to allow the user to use their own naming, or access Spox's, if they really wish to.
- Training, differentiability - This seems to be mostly a preview feature.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the linked sections of docs/IR.md and review the existing internal implementations and test suites for one unchecked feature. Narrow the work to a specific support or testing target, with completion defined by stable behavior and passing tests before marking the tracking entry complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100