Address #1155
Add debug helper methods to be able to dump input name and shape information for node inputs, and the data from node outputs.
As the input data comes from graph inputs, initializers or node outputs we don't dump it.
Must be manually enabled by building with '--cmake_extra_defines onnxruntime_DEBUG_NODE_INPUTS_OUTPUTS=ON'
Advance ONNX submodule to 5c51f0dbbe88ee1536f17ee7bd462b2ab3772c52
This commit in ONNX contains a fix to ConstantOfShape test data.
Uncomment ConstantOfShape.
Update test script, make sure exclusions are uniform.
Not needed any more. Because we don't build the date library.
And Sheil says: "It’s a little bit intrusive for callers to be forced onto cpp14 just because they are consuming onnxruntime."
* Add version and latest commit id to ORT Server
* Update cmake
* Change build id to build number
* Use target_compile_definitions instead of add_definitions
* Improve TensorRT GetCapability Accuracy
* Update onnxruntime_providers.cmake
* made changes based on feedback
* update unit tests for TensorRT
* update onnx-tensorrt submodule to v5.0 branch
* remove uncessary comments
* convert int32 to int64 at inferencing output
* add more data types in compute
* change returns in compute
* use StatusCode as return in compute
* Use local ort python package in server model tests
* Create symlink for onnxruntime during test
* Using generated _pb2.py in the build folder
* Generate onnx_ml_pb2.py from ONNX CMakeList.txt
* Update model tests for python package path
* Only use onnx python package from build
* Revert some changes for pb2.py generation
* Fixes memory leaks in executor and adds executor tests
* Remove logging test from executor_test.cc
* Uses RAII to allocate and freee MLValue buffers
* Change private member buffer to buffer_
* Accomodate missing optional 'axes' when 'steps' is present in Slice op (#946)
* Accomodate missing optional axes when steps is present in Slice implementation
* PR feedback
* Update package links (#937)
* Update package links
* Minor fix
* Update README.md
* Minor edit
* Update onnx commit (#949)
* Update onnx commit
* disable failing tests which don't have to be fixed for this release
* dummy change to fix file permission
* fix file permission
* Simple integration into CMake build system
* Adds vcpkg as a submodule and updates build.py to install hosting dependencies
* Don't create vcpkg executable if already created
* Fixes how CMake finds toolchain file and quick changes to build.py
* Removes setting the CMAKE_TOOLCHAIN_FILE in build.py
* Adds Boost Beast echo server and Boost program_options
* Fixes spacing problem with program_options
* Adds Microsoft headers to all the beast server headers
* Removes CXX 14 from CMake file
* Adds TODO to create configuration class
* Run clang-format on main
* Better exception handling of program_options
* Remove vckpg submodule via ssh
* Add vcpkg as https
* Adds onnxruntime namespace to call classes
* Fixed places where namespaces were anonymous
* Adds a TODO to use the logger
* Moves all setting namespace shortnames outside of onnxruntime namespace
* Add onnxruntime session options to force app to link with it
* Set CMAKE_TOOLCHAIN_FILE in build.py
* Remove whitespace
* Adds initial ONNX Hosting tests (#5)
* Add initial test which is failing linking with no main
* Adds test_main to get hosting tests working
* Deletes useless add_executable line
* Merge changes from upstream
* Enable CI build in Vienna environment
* make hosting_run*.sh executable
* Add boost path in unittest
* Add boost to TEST_INC_DIR
* Add component detection task in ci yaml
* Get tests and hosting to compile with re2 (#7)
* Add finding boost packages before using it in unit tests
* Add predict.proto and build
* Ignore unused parameters in generated code
* Removes std::regex in favor of re2 (#8)
* Removes std::regex in favor of re2
* Adds back find_package in unit tests and fixes regexes
* Adds more negative test cases
* Adding more protos
* Fix google protobuf file path in the cmake file
* Ignore unused parameters for pb generated code
* Updates onnx submodule (#10)
* Remove duplicated lib in link
* Follow Google style guide (#11)
* Google style names
* Adds more
* Adds an additional namespace
* Fixes header guards to match filepaths
* Consume protobuf
* Unit Test setup
* Json deserialization simple test cases
* Split hosting app to lib and exe for testability
* Add more cases
* Clean up
* Add more comments
* Update namespace and format the cmake files
* Update cmake/external/onnx to checkout 1ec81bc6d49ccae23cd7801515feaadd13082903
* Separate h and cc in http folder
* Clean up hosting application cmake file
* Enable logging and proper initialize the session
* Update const position for GetSession()
* Take latest onnx and onnx-tensorrt
* Creates configuration header file for program_options (#15)
* Sets up PredictRequest callback (#16)
* Init version, porting from prototype, e2e works
* More executor implementation
* Adds function on application startup (#17)
* Attempts to pass HostingEnvironment as a shared_ptr
* Removes logging and environment from all http classes
* Passes http details to OnStart function
* Using full protobuf for hosting app build
* MLValue2TensorProto
* Revert back changes in inference_session.cc
* Refactor logger access and predict handler
* Create an error handling callback (#19)
* Creates error callback
* Logs error and returns back as JSON
* Catches exceptions in user functions
* Refactor executor and add some test cases
* Fix build warning
* Add onnx as a dependency and in includes to hosting app (#20)
* Converter for specific types and more UTs
* More unit tests
* Update onnx submodule
* Fix string data test
* Clean up code
* Cleanup code
* Refactor logging to use unique id per request and take logging level from user (#21)
* Removes capturing env by reference in main
* Uses uuid for logging ids
* Take logging_level as a program argument
* Pass logging_level to default_logging_manager
* Change name of logger to HostingApp
* Log if request id is null
* Update GetHttpStatusCode signature
* Fix random result issue and camel-case names
* Rollback accidentally changed pybin_state.cc
* Rollback pybind_state.cc
* Generate protobuf status from onnxruntime status
* Fix function name in error message
* Clean up comments
* Support protobuf byte array as input
* Refactor predict handler and add unit tests
* Add one more test
* update cmake/external/onnx
* Accept more protobuf MIME types
* Update onnx-tensorrt
* Add build instruction and usage doc
* Address PR comments
* Install g++-7 in the Ubuntu 16.04 build image for vcpkg
* Fix onnx-tensorrt version
* Check return value during initialization
* Fix infinite loop when http port is in use (#29)
* Simplify Executor.cc by breaking up Run method (#27)
* Move request id to Executor constructor
* Refactor the logger to respect user verbosity level
* Use Arena allocator instead of device
* Creates initial executor tests
* Merge upstream master (#31)
* Remove all possible shared_ptrs (#30)
* Changes GetLogger to unique_ptr
* Reserve BFloat raw data vector size
* Change HostingEnvironment to being passed by lvalue and rvalue references
* Change routes to getting passed by const references
* Enable full protobuf if building hosting (#32)
* Building hosting application no longer needs use_full_protobuf flag
* Improve hosting application docs
* Move server core into separate folder (#34)
* Turn hosting project off by default (#38)
* Remove vcpkg as a submodule and download/install Boost from source (#39)
* Remove vcpkg
* Use CMake script to download and build Boost as part of the project
* Remove std::move for const references
* Remove error_code.proto
* Change wording of executable help description
* Better GenerateProtobufStatus description
* Remove error_code protobuf from CMake files
* Use all outputs if no filter is given
* Pass MLValue by const reference in MLValueToTensorProto
* Rename variables to argc and argv
* Revert "Use all outputs if no filter is given"
This reverts commit 7554190ab8e50ba6947648c2f3e2a3d4d9606ce0.
* Remove all header guards in favor of #pragma once
* Reserve size for output vector and optimize for-loop
* Use static libs by default for Boost
* Improves documentation for GenerateResponseInJson function
* Start Result enum at 0 instead of 1
* Remove g++ from Ubuntu's install.sh
* Update cmake files
* Give explanation for Result enum type
* Remove all program options shortcuts except for -h
* Add comments for predict.proto
* Fix JSON for error codes
* Add notice on hosting application docs that it's in beta
* Change HostingEnvironment back to a shared_ptr
* Handle empty output_filter field
* Fix build break
* Refactor unit tests location and groups
* First end-to-end test
* Add missing log
* Missing req id and client req id in error response
* Add one test case to validate failed resp header
* Add build flag for hosting app end to end tests
* Update pipeline setup to run e2e test for CI build
* Model Zoo data preparation and tests
* Add protobuf tests
* Remove mention of needing g++-7 in BUILD.md
* Make GetAppLogger const
* Make using_raw_data_ match the styling of other fields
* Avoid copy of strings when initializing model
* Escape JSON strings correctly for error messages (#44)
* Escape JSON strings correctly
* Add test examples with lots of carriage returns
* Add result validation
* Remove temporary path
* Optimize model zoo test execution
* Improve reliability of test cases
* Generate _pb2.py during the build time
* README for integration tests
* Pass environment by pointer instead of shared_ptr to executor (#49)
* More Integration tests
* Remove generated files
* Make session private and use a getter instead (#53)
* logging_level to log_level for CLI
* Single model prediction shortcut
* Health endpoint
* Integration tests
* Rename to onnxruntime server
* Build ONNX Server application on Windows (#57)
* Gets Boost compiling on Windows
* Fix integer conversion and comparison problems
* Use size_t in converter_tests instead of int
* Fix hosting integration tests on Windows
* Removes checks for port because it's an unsigned short
* Fixes comparison between signed and unsigned data types
* Pip install protobuf and numpy
* Missing test data from the rename change
* Fix server app path (#58)
* Pass shared_ptr by const reference to avoid ref count increase (#59)
* Download test model during test setup
* Make download into test_util
* Rename ci pipeline for onnx runtime server
* Support up to 10MiB http request (#61)
* Changes minimum request size to 10MB to support all models in ONNX Model Zoo
* move files
* move files
* Remove NonMaxSuppression from Contrib op, move it to Onnx domain, opset 10
* move NMS out of namespace contrib
* update data type in UT
* update to latest onnx
* white list the node test for Mod which is not implemented yet
Change MLAS to be able to build standalone without onnxruntime header dependencies. This is enabled when building with MLAS_NO_ONNXRUNTIME_THREADPOOL defined.
mlas.h had been changed to include the ThreadPool header, but this header now just has a forward reference for the class. The header was also doing a "using onnxruntime::concurrency"; that has been removed and the external mlas.h users fixed up as needed.
As before, if ThreadPool==nullptr, then MLAS uses OpenMP or falls back to a single threaded implementation. The build option to use the Win32 system thread pool has been removed as onnxruntime can't hit that path and I don't use that option for standalone tests anymore.
* enable android build
* Add 'log' to onnxruntime_EXTERNAL_LIBRARIES
* Remove cmake about header_files_test.cc
* Add Android CI pipeline
* Remove some ms-specific(?) ci
* Fix bash error
* Add execute flag for install_deps_android.sh
* Add install_ubuntu_for_android.sh
* Remove python in deps for android
* Add comment for BUILD_ARCH
* Set BUILD_SERVICE to cpu
* Set BUILD_OS in run_build.sh
* Fix -o bug in run_build.sh
* Android -> android
* Correct the android ndk location
* Checkout submodules in my own azure pipelines
* Revert "Remove some ms-specific(?) ci"
This reverts commit 302463213480487d8944c3127a3b311c591d55c0.
* Revert "Checkout submodules in my own azure pipelines"
This reverts commit 1acfb6755f933e532b8312ca35bb4900a833903f.
* Exclude unreferenced global data and op doc strings in the opschema object. The first causes a decrease in the binary size by at least 85k. The latter reduces resident memory size.
* Update onnx to incorporate my PR that fixes SetDoc compiler warnings
* Adding a custom op interface to the C API to remove shared library dependency.
* Remove old custom op test
* Rework how custom ops handle inputs/outputs to enable custom op output shape calculation in the compute method
* Add a nicer C++ API for custom ops and switch the tests to use it.