Skip to content
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

Migrate towards autogen code #22

Merged
merged 22 commits into from
Jun 16, 2020
Merged

Conversation

alrevuelta
Copy link
Owner

Migrate to autogenerated code

  • Python generated code is now being used
  • MNIST and tinyYOLO models are working
  • Opset and function resolver is not hardcoded anymore.

TODOs for next patches (see issues)

  • Remove unused code
  • Remove all switch cases in the operator (no longer needed)
  • There is a minor issue when resolving the operator functions. When a function is not defined (i.e. for double) there is an error because that symbol can't be found. This should be linked with the default operator stub (using weakrefs?)
  • There is a workaround with the operator set. opset=12 is hardcoded for the initial tests.

Generate all MNIST operators with the Python script and start integrating them in the existing code. So far only float type is supported
-Python generated code is now being used
-MNIST and tinyYOLO models are working
-Opset and function resolver is not hardcoded anymore.

TODOs for next patches (see issues)
-Remove unused code
-Remove all switch cases in the operator (no longer needed)
-There is a minor issue when resolving the operator functions. When a function is not defined (i.e. for double) there is an error because that symbol can't be found. This should be linked with the default operator stub (using weakrefs?)
-There is a workaround with the operator set. opset=12 is hardcoded for the initial tests.
Modify manually maxpool resolver. The Python generator for resolvers has to be rethought. Doesn't make sense for some operators. This modification is a temporal fix until we figure out how to handle this.
Traces to debug issue in win/linux
More traces
And more traces
data_type wasn't set for some operators. Fixed.
Fix data_type for outputs
Windows CI was unexpectedly broken. Attempting to fix it.
Generate all MNIST operators with the Python script and start integrating them in the existing code. So far only float type is supported
-Python generated code is now being used
-MNIST and tinyYOLO models are working
-Opset and function resolver is not hardcoded anymore.

TODOs for next patches (see issues)
-Remove unused code
-Remove all switch cases in the operator (no longer needed)
-There is a minor issue when resolving the operator functions. When a function is not defined (i.e. for double) there is an error because that symbol can't be found. This should be linked with the default operator stub (using weakrefs?)
-There is a workaround with the operator set. opset=12 is hardcoded for the initial tests.
Modify manually maxpool resolver. The Python generator for resolvers has to be rethought. Doesn't make sense for some operators. This modification is a temporal fix until we figure out how to handle this.
Traces to debug issue in win/linux
More traces
And more traces
data_type wasn't set for some operators. Fixed.
Fix data_type for outputs
Remove unused code
Fix return
@alrevuelta alrevuelta marked this pull request as ready for review June 13, 2020 18:08
@alrevuelta
Copy link
Owner Author

alrevuelta commented Jun 13, 2020

@nopeslide I modified a bit the Python scripts to comply with the new interface and created the functions for MNIST and YOLO. The resolving is not hardcoded anymore and the resolver functions generated by Python are being used now.
There are some TODOs and issues/limitations but its a first step.
See #24 #25

@alrevuelta alrevuelta merged commit 1b410de into master Jun 16, 2020
@alrevuelta alrevuelta deleted the migrate-towards-autogen-code branch June 30, 2020 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant