Comments (6)
I assume we are talking about multiple returns? This is indeed not possible, see https://github.com/iml130/mlir-emitc/blob/cbbeed65364e9e1b62737fec18e08587e3945bee/lib/Dialect/EmitC/Conversion/MHLORegionOpsToEmitC.cpp#L153%C3%9FL157 and reported in our MHLO HLO Op Coverage docs. Is this a requirement for the work on your side?
from mlir-emitc.
Indeed else for example argmax lowering to MHLO doesn't work which rules out a large class of models.
from mlir-emitc.
On the one hand, we can of course work on supporting multiple returns to mhlo.reduce
(a reproducer that doesn't requires to be touched before running it would be super helpful!).
On the other hand, with lowering argmax
, you're referring to lowering https://www.tensorflow.org/api_docs/python/tf/math/argmax to MHLO? In that case #278 would be an alternative to improve the mhlo.reduce
support or not? Since our resources are limited, do you have a preference?
from mlir-emitc.
I've briefly looked into this. It should be fairly easy to support the two results case via an overload, but I don't see an easy way to generalize the reduction function to arbitrary arity.
from mlir-emitc.
Two result case would go a long way (I think it is probably second most common post plain single result). That would be very helpful.
For the arbitrary arity case, could it be expanded to a for loop constantly reapplying function? (for (...) { x = f(val[it], x) } kind). So you'd need a function to be able to get the slice of the tensor at iteration I kind.
from mlir-emitc.
The two result case is now supported with #285 landed.
from mlir-emitc.
Related Issues (20)
- C/C++ generated code sample HOT 2
- cmake error HOT 2
- Question about test file HOT 1
- Invalid Pass Pipeline HOT 1
- Composing legalizations HOT 6
- Add support for `tosa.argmax` HOT 1
- MHLO select scalar pred support HOT 1
- Reenable `tosa.rescale` test
- Plan to handle quantization for tosa-to-emitc? HOT 3
- hi,where I can find InsertEmitCTosaIncludeBase definition? thx! HOT 1
- Refactor types of attributes passed in TOSA reference implementation
- Refactor type of shift argument passed to tosa.mul
- Safe keras models in newer file format
- Use rewriter instead of utility functions for attribute conversion HOT 2
- Refactor type of shift argument passed to tosa.rescale
- Missing Operations in emitC MHLO HOT 1
- Extend mhlo::slice for Tensor3D HOT 1
- Extend mhlo::concatenate
- Make SliceOp implementation dimension agnostic HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mlir-emitc.