* Update onnx
* Support updated function schema in ORT
* Update onnx related commit hash
* Check out an older commit in ONNX
* Add support for subgraph attribute
* Add comments
* added tools for doc gen, added doc
* doc updated
* some fixes
* hooked up with build.py
* hooked up with build.py and fail on nonupdated doc
* update
* fix graph transformers and refactor tests
* fix merge master
* Set default optimization level to Level1
* fix build warnings for Linux
* try root cause tensorrt test failures
* try root cause tensorrt test failure
* Test level2 transformers with all CI builds
* remove ConvActivation fusion transformer
* change default level back to level1
* remove providers from apply api
* more changes
* Convert unsqueeze elimination to rewrite rule
* Simplify the way we register predefined transformers and rules in the inference session (all details are now moved to the graph transformer utils)
* Some reorganization and renaming of methods in graph_utils
* Updates in graph transformers test
* Update in edge removal to not perform unnecessary check of node args that led to race conditions when updating the graph
* Improve documentation for rewrite rules
* Remove top-down rule-based transformer (given we currently have only one type of rule-based transformer)
* Refactor InferenceSession interface
* Make some member and func private
* more protected members
* more protected
* reorder class members
* reordering
* reordering
The InferenceSession was implemented in the pImpl idiom, which hides the actual implementation. There are requirements to expose the implementation to other new classes, so this change is to pave the way.
The main changes are: abandon the pImpl idiom of InferenceSession
* Adding a custom op interface to the C API to remove shared library dependency.
* Fixup const issues
* Renaming to make things a little simpler
* Add a comment
* Test protobuf-lite
* Test protobuf-lite
* Test protobuf-lite
* Optimize protobuf usage for LITE_RUNTIME to reduce the binary size of
onnxruntime.dll. More details can be found here https://developers.google.com/protocol-buffers/docs/proto.
The reduction is significant. For commit id: 4873b452151bafe49da332aaeab639ef0318fc1ca28d728, the size
reduced by ~700K; from 4873728 to 4172800.
* Add LITE_RUNTIME flag in in.proto files
* Fix merge conflict.
* Address PR comments
* Forgot to add 2 files + fix linux and gpu build errors.
* Fix build errors + test failures
* Fix cuda tests
* Fix tensor rt build
* Use full protobuf for trt
* Address PR comments
* Print tensor shape proto as text string for easier debugging
* unify version logic
* merge function to build.py
* read file to get version
* fix path issue
* format python
* use path join
* fix __init__.py
* move function to a separate file
* remove redundant
* Check usage of node output as implicit input in any subgraphs.
* Add logic to check/update subgraphs when removing a node.
Fix some issues with Graph
- Include local outer scope variables when validating. Required if calling Resolve on a subgraph
- Include outer scope variables in the value info so the type information is captured. Also required to Resolve a subgraph but will detect a type mismatch (previously we threw the type information away).
- Fix GraphNodes iterator so it can be used with std::find_if. Needed to be assignable so the end_ value can't be const.
* added missing probit function for treeregressor
* corrected ml_logit to ml_logistic to reflect update of output
* Updated function names to comply with style guide
* use write_scores() to simplify code block
* graph transformers update
* some updates
* plus changes
* more updates
* fixes per review comments
* enable tests
* adding more tests
* more changes
* update api in inference sesion
* changes per review
* Linux CI fix
* fix linux CI failure
* fix MAC CI failure
* more updates
* add more documentation and add level param to register transformer
* Add AllocKind::kShare to allow copying the MLValue for a pre-existing value to a graph output when an Identity node is involved. Ideally we can make this handling for an Identity node more general purpose, however the current logic to free an MLValue during execution doesn't take into account a re-use point also needing a free. Due to that, limit the scope and start with a somewhat ugly hardcoded approach.
Migrate some changes from PR497
The existing Loop unit tests exercise the new code. Also manually stepped through the problematic model to verify the unnecessary copy was avoided.
* Fix build error
* Fix missing switch case in debug output of allocation plan
* Limit optimization to Loop
Make Transpose op impl generic and add std::string support.
Un-templatize implementation functions that make use of memcpy().
Support all types per spec. Add string tests.
* Fixed typos in docs for 'onnx_test_runner'
* TensorRT Execution Provider (preview) release
Updated build instructions and component governence and third party notices for TensorRT execution provider release.
* test runner option for tensorrt
updated to add option for tensorrt.
* Introduction to TensorRT Execution Provider
Intro README for TensorRT Execution Provider.
* Update BUILD.md
* Update TensorRT-ExecutionProvicer.md
* corrected typo in the filename
* corrected typos
* updated with corrections.
* removed conflicting edits.
* Update BUILD.md