* sync onnx to get equal op with float support
* doc update
* fix test failure because of updated shape inference logic for roialign.
* filter consum test cases since it's not implemented yet.
Description: Describe your changes.
Change the logic to find cublas dll
Motivation and Context
Why is this change required? What problem does it solve?
The name pattern of cublas changed since 10.1. It doesn't include minor version in its name anymore.
If it fixes an open issue, please link to the issue here.
Add MlasGetPreferredBufferAlignment() for use by CPUAllocator::Alloc to get the byte alignment for CPU tensors. Using MLAS allows the value to be based on the platform the binary is running on instead of a constant value fixed at compile time.
* Add arm64 nocontribops pipeline
* minor fix
* Added new template for arm build -- disable all tests
* fix build command
* add arm64 flag for msbuild
* add arm leg as upstream dependency
* update platform to arm64 for msbuild
* remove test task from arm build
* remove ESRP signing of C# dlls in arm build
* Updated to work for both --arm and --arm64
* Make the cross compiling cmake flags symmetric
* Add dynamic check for /Wno-error flag, instead of extra build option
* remove extra full-stop
* replace log sinks
* limit headers to include dir
* first changes to do dynamic linking
* wip for using cxx api
* remove weird dangling dependency
* building with tests failing
* finish updating converters
* fix const
* intital introduction of typedef
* change logging to use spdlog
* get tests passing
* clang format
* map logging levels better
* clean up unused imports
* trent cr comments
* clang-format
* code review comments
* changing buffer use to reserve
* Dynamically link
* revert tvm
* update binary uploading
* catch exceptions by const-ref
* Revert "revert tvm"
This reverts commit 387676dd1018134d15eb71fa126f7caf94380800.
* fix typo
* update versioning of lib
Description:
This change adds the common part of TVM based codegen library. It includes following parts:
* Microsoft TVM Inventory (MTI): a set of TVM ops for neural networks, similar to TOPI
* Compiler pass for traversing ONNX graph and generate TVM ops
* Compiler pass for traversing generated graph and specify TVM schedule
* Compiler pass for handling weight layout
* Utils for debugging
Motivation and Context:
TVM is an open deep learning compiler stack for cpu, gpu and specialized accelerators. To leverage it in ONNX, we built an execution provider named Nuphar. Currently, Nuphar gets good performance on CPUs with AVX2 on quantized LSTM models.
This codegen library was part of Nuphar execution provider. It is split out for sharing with other execution providers, as we'd like to reuse TVM in more devices.
* init
* Update DNNLibrary
* Update DNNLibrary, set compiler flags, it compiles now
* Add more missing flags, add test
* Update DNNLibrary
* Update Compile method, fix allocator and some other bugs
* Update DNNLibrary
* Implement CopyTensor
* Not delete state explicitly since it is managed by unique_ptr
* Add the missing files when SingleUnitTestProjct is ON
* misc changes
* Fix wrong name in provider factory
* Add my own test
* Update the code of add node into graph, and add the missing initializer into graph
* Fix the bug that re-build the graph produces extra output
* Update DNNLibrary
* Transpose nchw (ONNX) -> nhwc (NNAPI)
* Add license
* Add GetSupportedNodes method (implement it later)
* Rename onnxruntime_nnapi_test->onnxruntime_nnapi_squeezenet_test
* Update squeezenet_test.cpp after rebase master
* Remove squeezenet_test.cpp since it is almost same with the c++ sample
* Update DNNLibrary for GetSupportedNodes
* Update GetSupportedNodes
* Revert "Remove squeezenet_test.cpp since it is almost same with the c++ sample"
This reverts commit a97575fd9ff49e50ba1dc8d8154790d8cd86c48d.
* Update DNNLibrary
* Fix multiple outputs bug
* Remove GetKernelRegistry
* Revert "Revert "Remove squeezenet_test.cpp since it is almost same with the c++ sample""
This reverts commit 2a0670e9cbf10ea654111ce39e198a4be0ddd838.
* Set default memory type of NNAPI EP
* Add CPUOutput allocator
* Update DNNLibrary for multiple outputs
* Fix bug of nhwc->nchw
* Remove GetExecutionHandle()
* Update cuda for python wheels
* Update cuda for python wheels
* Update cuda for python wheels
* Update azure-pipelines-py-packaging.yml
* Update to cuda 10
* Only test win gpu
* Update cuda for python wheels
* Use manylinux2010 image to build linux python wheels
Allow wheels built to truly be compliant with a manylinux policy
Implementation of the MLAS changes for NCHWc convolution/pooling support. These changes adopt the blocking format used by MKL-DNN and other convolution libraries for better performance.
* move all contrib ops to one place
* namespace changes
* bug fix - remove redundant file after merge master
* plus more minor bug fixes
* bug fix
* fix extra space in include header + namespace fix
* fix linux build failure:
* fix test group names
* remove redundant test
* Initial commit for OpenVINO Execution Provider
OpenVINO Execution Provider provides the interface for ONNX Runtime
applications to access Intel's hardware accelerators using Intel's
OpenVINO Toolkit.
* Fixed bug in GetCapability to disable custom ops
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Added OPENVINO ci pipeline
Added new pipeline for openvino provider,
made changes to support the docker build and
onnxruntime build with openvino.
Signed-off-by: Luis Daniel Castellanos <luis.daniel.castellanos@intel.com>
* Enabled all unit tests for OpenVINO EP
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Fixed syntax issue in run_docker_build.sh file
* Added missing default OPENVINO_VERSION
Default value for OPENVINO_VERSION env was
missing causing the build to fail
* Added install Model Optimizer deps step
* Fixed python unit tests and some tests from onnx_backend_test_series
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Fixed indentation bug
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled some of the python backend tests for OpenVINO
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled some model tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Remove Duplicate checks for openvino in build.py
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Modified GetCapability for FP16
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled GPU FP32 tests that are not supported
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Convert modelProto to string and use it in compile
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Pass byte-array input args to MO
* Serialized ModelProto passed in-memory to MO
ModelOptimizer python module receives the serialized ModelProto
in-memory.
Uses appropriate ONNX function to load the serialized bytes.
* Make Py_Finalize compatible with older python versions
Also, remove pFunc unassigned variable possibility.
* Fallback if input dims of Matmul is greater than 2
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* fixup: Device #define syntax
* Updated the documentation
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Enable dynamic dim value
* removed commented out code
* Added Dockerfile for openvino EP
Updated instructions on dockerfiles/README.md file
Signed-off-by: Luis Daniel Castellanos <luis.daniel.castellanos@intel.com>
* Disabled fp16_inception_v1 test
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Code formatting with clang-format
Uses style from the .clang-format file in root directory.
* fixup: docker tag and build error fixes
* Heuristics to automatically detect batching
Distributes slices from batch into parallel infer-request objects.
* Handle disabled tests in GetCapability
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled average pool and max pool if ceil_mode is 1
Also dilations are not supported if they are greater than 1
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled Unsqueeze int32 test
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* changes to fix output results bug
* Disabled a few C++ unit tests for MYRIAD FP16
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Manually revert '9fe162bb Enable dynamic dim value'
Reverts compile time setting of dynamic shape
Reverting manually due to significantly huge auto-revert conflicts.
* Fixed unused variable warning
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled Mul test for GPU_FP16 due to accuracy issue
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* VPU documentation update
* Disabled inception_v1 for MYRIAD and HDDL
*Also disabled few C++ accuracy tests for HDDL
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* updates from upstream
* use the new CustomOpApis for I/O interfacing
* Pass initializers as subgraph meta-def inputs in GetCapability()
Requirement due to API changes introduced with PR# 1019.
* Remove obsolete functions
* Save indexes of graph inputs from fused_node info
Both inputs and initializers are passed as data inputs to the
infer function. To identify only inputs among them, save thier
index info from fused_node in Compile function.
* Documentation changes to enable VPU
* Fix VPU related changes in documentation
* Fix minor changes in documentation
* Fix VPU related changes in documentation
* Use Node.In/OutputDefs() to track graph inputs and outputs.
Don't use graph_viewer's GetInputs() or
GetInputsIncludingInitializers().
* Permit "SAME_UPPER" auto_pad attribute from MaxPool
* Disabled fp16_tiny_yolov2 in onnx model tests
* Updated documentation to include configuration guides for myriad and hddl
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Use 8 Infer requests only for VAD-R
* disable debug prints
* Clang-format source files
* Updated BUILD.md with OpenVINO R5 links
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled same upper python tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Update test exclusion syntax
* Change path of install_onnx.sh
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disable tiny_yolov2 in broken tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Revert "Change path of install_onnx.sh"
This reverts commit ba9db165f3be430f2aff1ef413299ed04637196a.
This change is only required for Intel internal CI pipeline until
the settings are matched with the upstream's CI pipeline.
* Added debug statements for debugging CI error
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Add --build_wheel to linux openvino pipeline
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Added -v option to onnx_test_runner for debugging
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed path change patch
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Added -c 1 to onnx_test_runner
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Refactor MO python invocation in separate function
Cleans up Model Optimizer python invocation check and conversion
logic. Invokes MO only once in GetCapability() and passes the
IR strings (xml and bin) to the Compiler as meta-def attributes.
* Add comments
* code cleanup and comments
* Code cleanup for GetCapability
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed unnecessary files
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Revert "Added -v option to onnx_test_runner for debugging"
This reverts commit d1dd70938a94d648df1a1dbbc2e48d0b97e49ec8.
* Revert "Added debug statements for debugging CI error"
This reverts commit b86d41afed2aa29c3508155d6f9c8d3a7263cc60.
* incorporate Status Code changes
* ComputeFunc returns Status::OK() on success
* Use test names to disable tests for MYRIAD and VAD-R
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Rename local identifiers from CNNNetwork to OpenVINO network
CNNNetwork is an OpenVINO's API class that represents more than
just convolutional neural networks (CNNs). Renaming helps to avoid
confusion that the API's only support CNN type models.
* Added error message if building on windows
* Removed duplicate option in Cmake
* Removed unnecessary parameters in activation_opt_test
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Refactor Map search and access logic for efficiently and cleanliness.
* use C++ style casts
* Use os.path.join for python directory path operations
* use C++ style casts
* EP classes should use onnxruntime namespace
* Clean up fixes from PR comments
* Don't explicitly shutdown Py interpreter
* Remove debug print statements
Prints will be re-enabled later with a logging mechanism with
debug/verbose printing options.
* Decrement ref counts for used pyObjects
* Restore build instructions for other compilers
Content under the "Using other compilers" section has been
accidentally deleted by a previous commit. Restoring back that
content from the latest upstream repo.
* CMake code cleanup
Code clean up, commenting and formatting of CMake code.
* Don't pass the unused device_info parameter to OpenVINOGraph ctor.
* Add support for multiple I/O data types
Adds support for the following tensor data types for graph inputs
and outputs:
1) float
2) float16
3) int32
4) int16
5) int8
6) uint16
7) uint8
* cleanup setup.py module list definition
* Deduce index of input using tracked input index map
Ignores initializers in case they are ordered before inputs.
* Removed debug statement in MO code
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* PR feedback
* Removed per_sample_tolerance for openvino
* Removed unnecessary disabled tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed debug function
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled tiny_yolo_v2 due to accuracy issues
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Changed the disabled reason for broken tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled Reshape with no input
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Python formatting with Autopep8
* Minor fix for MYRIAD devices
* Added zero dimension check
*Removed setting batch size for the network
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Set the threshold to larger value for MNIST
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed setting higher threshold in provider_test_utils
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Check for --use_openvino in python wheel setup.py
Add openvino modules to the setup script for building the wheel
package only for --use_openvino a build option.
* Removed nullptr checks for GetNode()
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
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.
* Update BUILD.md
* Update README.md
* Update tensorrt_execution_provider.cc
remap node index to handle the case that nodes in graph may be deleted and node index is not continuous.
* Update onnxruntime_providers.cmake
Solve conflicts to onnx-tensorrt
* Update tensorrt_execution_provider.h
* Update tensorrt_execution_provider.cc
* Update tensorrt_execution_provider.h
* Update tensorrt_execution_provider.cc
* Update tensorrt_execution_provider.h
* Update tensorrt_execution_provider.cc
* Update tensorrt_execution_provider.cc
* Update tensorrt_execution_provider.cc
* Update build.py
* 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
* 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
* updated cmake files for trt
* added trt execution provider
* added trt basic test
* removed trt_path action attribute
* Add files via upload
* Update build.py
* Update trt_allocator.h
* fixed issues found by reviewers
* changed cast operator
* added comment for custom kernel implementation
* changed auto to auto&
* changed to function compile APIs for TRT execution provider
* changed to function compile APIs for TRT execution provider
* added new DType DInt64
* adapted to the changes of onnxruntime_c_api
* removed trt kernel (use function compile instead)
* updated onnx-tensorrt submodule
* set default memory type to TRT fused kernel
* resolve merge conflict
* fixed the issue that USE_CUDA conflicts with USE_TRT
* construct graph by adding nodes in topological order
* made changes for Windows
* change buffers type
* bypass HasImplementationOf check for TRT XP because TRT kernel is not registered
* added domain to version info in rebuilt model proto
* added trt to test option list
* added DomainToVersionMap() to GraphViewer
* removed Copy()
* fixed broken code
* format the code to clang format
* used local reference to the frequently used values
* fixed a couple of issues according to reviewers feedback
* fixed a couple of issues according to reviewers feedback
* added python binding for TRT and enable use_cuda when use_trt is on
* fixed a redefinition issue
* changed shared_ptr to unique_ptr on trt engines, and made a few changes required by reviewers
* enabled trtexecution provider for unit tests
* renamed trt to tensorrt
* added tesorrt to python binding
* update submodule onnx and onnx-tensorrt
* made a couple of minor changes based on reviewer's feedback
* added CUDA_CHECK
* removed test code
* fixed broken code after merge
* updated onnx-tensorrt submodule
* added post processing to align trt inputs/outputs with graph inputs/outputs
* updated onnx submodule
* added CUDA fallback for TensorRT and fixed TensorRT cmake issue
* added ci pipeline for tensorrt and removed some redundent code from trt xp
* fixed syntax issue
* updated onnx-tensorrt submodule
* fix trt build problem by: (#602)
1. Add additional /wd for debug build
2. Add io.h for additional targets
3. Bring back mb version of getopt
* Update install_ubuntu.sh
* Update linux-gpu-tensorrt-ci-pipeline.yml
* Update linux-gpu-tensorrt-ci-pipeline.yml
* Update run_build.sh
* Update run_build.sh
* Update run_build.sh
* Update run_build.sh
* fixed the issue that GetKernelRegistry returns nullptr
* merged master to this branch
* moved some data types to private
* fixed tensorrt CI pipeline issue
* customized test data for TensorRT pipeline
* added onnx-tensorrt in json file and fixed an issue in ci script
* added comments
* sync onnx and maintain old version history for removed exp ops in onnx runtime.
* update
* updating to specific onnx commit - remove exp ops.
* update
* disable the 3 failures to push the change as it's blocking folks.
* update test
* cross compile x86 linux
* fix comments
* install multilib for ubuntu cross compile
* remove tailing slash
* fix -fPIC relocations for x86 target too
* add asm make flag
* fix x86 compile err
* test x86 with zlib and png
* Disable zlib from x86
* install x86 python header
* remove cross-compiling changes
* test 32bit ubuntu
* add x86 ubuntu docker file
* add x86 as arch parametr for docker build
* config pipeline
* avoid dotnet install
* install cmake
* skip dep install
* use latest ubuntu
* install latest cmake
* install x86 deps
* configure cmake
* install ninja
* correct ninja dir
* apt get re2c
* install onnx
* set processor x86
* disable warning
* skip test
* disable test
* disable test
* find lib
* fix typo
* restore test
* disable backend model test
* disable test
* fix test err
* stop installing onnx
* disable onnx test on x86
* restore yml
* mergef with master yml
* cancel needless config setting
* enable x86 flag
* restore all onnx tests
* fix yml typo
* install onnx
* add back x86 flag
* disable cases
* disable case
* disable cases
* add macro to disable cases
* fix typo
* print platform
* remove condition
* Initial commit
* More changes
* More changes
* More changes
* More changes
* PR feedback
* Commiting Azure build config file
* Fix build pipeline
* Cleanup build dir template addition
* Remove conda modules download step
* PR feedback
* Revert x86 arguments to as they are currently
* More changes
* add option numpy_version to build against the installed numpy version and not 1.15.0 (hardcoded version number), default is still 1.15.0
* add option skip_keras_test to skip keras test even if keras is installed (still enabled by default)
disable unnecessary warnings about ubuntu
* enable option PRIVATE for the compilation of the Python bindings (settings recommended on pybind11 documentation)
* test on debian 9
1. Support the new external data extension in ONNX 1.4 onnx/onnx#678
2. Enable onnxruntime_perf_test in Mac Build
3. move path_lib.h from onnx_test_runner source dir to onnxruntime_framework
4. Enable memory planner for string tensors
5. Make memory planner always enabled, to simplify model loading logic
6. Delete some duplicated code between onnxruntime_perf_test and onnx_test_runner
7. Delete win_getopt_mb lib.
8. Remove the dependency on Pathcch lib, which is only available on Windows 8 and newer.
* added packaging pipeline
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* put the c-api header file at root instead of under core/session
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* Update win-ci-pipeline.yml for Azure Pipelines
* parameterize the windows build script
* Update win-package-pipeline.yml for Azure Pipelines
* fixed indenting
* fixed indenting
* fix parameter reference syntax
* try using arch = amd64 for the vcvarsall
* remove duplicate tasks
* use vcvarsall
* some more refactor
* fix typo
* fix typo
* factored out the packaging step into a template
* add x86 build to package pipeline
* use amd64 for vcvars arg
* added gpu pipeline. added msbuild platform param
* fix the msbuild platform
* use amd64 host for x86 build
* use buildarch=x86 for vcvarsall
* remove vcvars from setup steps
* add some logging for PNG lib, and disable fns_candy demo for win32
* set allocator alignment to 32 bit for win32 compiler
* disable parallel execution test for x86
* use 64 bit toolchain for x86 build
* add missing -T flag for toolset
* fix string delimietr in workingdirectory name for package build test step
* fix gpu pipeline
* make io_types test conditional
* use cuda 10 instead of cuda 9.1, similar to the ci build
* try some workaround on the io test
* undo inadvertent local change in build.py, also reenable the io test
* make all test run single threaded
* blacklist few failing tests for x86
* added some log in build.py
* edit build.py to disable parallel test
* add the failed tests into the blacklist for win32
* add tf_pasnet_large to blacklist
* change control flow for build.py onnx tests
* add README, license and TPN to the package
* updated build.py test sequence for parallel executor
* updated onnx test flow as per review comment
* add type checking log in the compare_mlvalue
* fix type cast
* blacklist some failed test as of now
* one more blacklisted test
* support non-tensor types
* support non-tensor types.
* support non-tensor types.
* fix compilation issues
* fix compilation issues
* fix compilation issues
* add test cases
* test cases
* add test cases
* try to fix string test case
* working now
* use allocator (broken)
* string test broken after using allocator
* full working example
* Fix PR comments
* Update cast kernel to support to/from string
* Update namespace
* Add support for literal numeric case
* Update to support -INF test
* Update kernel registration for cast
* Update ONNX to 1.4.1
* Update registy api
* Resolve some comments
* Update cast kernel implementation
* Resolve comments
* Fixed test data in onnx
* Update cast kernel implementation
* Resolve PR comments
* Update cast_op.cc
* Update onnx commits info
* Update comments
* Enable USE_MKLML_FOR_BLAS
* add mklml include directory for onnxruntime_provider and onnxruntime_provider_cuda
* add mklml_include_dir to include_directories
* try removing the --version-script
* remove --no-undefined flag
* remove the -rpath linker flag
* remove the -rpath linker flag, including the -Wl
* remove the --whole-archive flags
* added -all_load -noall_load flags in place of --whole-archive and --no-whole-archive
* spell correct all-load
* set the MacOS specific cmake configs with if(APPLE) condition
* added --build_shared_lib to mac CI
* Create a project for graph optimizer.
Move optimizer related code to the folder optimizer.
* Fix build failures.
* rebase and fix build failures.
* fix build failure.
* fix build failure with cuda path.
* fix python build failure.
* Move two transformers(memcpy and insert_cast) from framework to optimizer.
* rebase.
* SessionState should not depend on optimizer.
* Copy mkldnn to output folder for linux. Nuget doesn't resolve dll dependency correctly within a package
* Modify to copy all dlls to output folder
* update rpath for shared library
* Simplified linker flags for RPATH
* Removing copying of dlls to output folder, since setting RPATH works fine now
* Update ONNX version to pickup Scan spec change that adds scan_output_axes.
Add logic to transpose an output
- write to temporary buffer when executing subgraph
- transpose temporary buffer into Scan output when execution completes
Add unit tests
* Update to ONNX dbf3581835e3a05716e10587511d7ab3b2cdc386 to pickup inferencing bugfix.
Update test to match.
* Disable some tests for opset 9 operators that haven't been implemented yet.
* switch to nonblocking threadpool in inference session and sessions state
* switch to eigen threadpool - first draft
* refine
* refine
* add a switch to easily revert back to windows thread pool
* switch thread pool in test runner and turn on leak checker
* remove unncessary files
* fix build error
* more build fixes
* catch exceptions in parallel executor
* fix mac build error
* fix mac build error
* more build fixes
* more mac build fixes
* fix cv issue
* change macro to include cuda compiler for disabled compiler warning
* try switching the macro to win32 only
* test #error
* move #disable warning to the top
* Update onnxruntime_framework.cmake
* move eigen include to public scope
* turn off eigenthreadpool by default and add todo comment
* update
* cmake change
* rename
* update
* update
* add cmake
* fix build warnings.
* fix comments
* update cmake to avoid run gemmlowp tests
* update cmake
* update
* fix build break
* update
* fix comments
* fix test failure
* add one more test case with padding.
* fix conv implementation of mkldnn and cuda to use updated computekernelshape function.
* fix linux ci build break
* Initial checking for CSharp GPU support
* Enabled C# for GPU build
* Update Onnxruntime to Ort
* Add runtime check for cuda dlls for windows
* Update pretrained model test, for models where name!=model.onnx
* lowered tolerance for float checks to pass new models
* ignore extra ._resnet34v2.onnx file in pretrained test