* Unify the image operations in extensions library
* fix the build configuration issue
* More build fixings
* Fix the native image codec
* fix encode_image
* Add bgr/rgb conversion for encoding image
* parity check
* build break
* update PNG encoding parameters
* build break on Linux
* using MSE to compare images
* fix the discrependency between Linux and Windows
* final code refinement
* one more change
* fix the C++ warnings
---------
Co-authored-by: Sayan Shaw <52221015+sayanshaw24@users.noreply.github.com>
* initial checkins for mllama image process
* fix some tests
* some fixings
* add more image
* More test assertions
* parity test passed
* code clean up
* code refinement
This added support for native image decoding on Windows & Apple platforms.
This helps us remove libpng & libjpeg completely on these platforms, and
in the meantime support more image formats thanks to OS vendors,
* initial commit
* Ugm vocab loaded is good
* test passed
* fixes unit test on win32
* finish the parity check
* code refinement
* code refinement for review
* Remove OpenCV dependency from C_API model
* fix build on Windows
* switch ci build flag
* try to fix the macOS build issue
* more fixing
* fix the macOS build issue
* list jpeg source
* verified on MacOS
* update the pp_api too
* avoid the codecs library conflicts
* Add the unit tests
* move the codec test
* add the missing dl lib for extensions test
* refine the code
* a smaller fixing for Windows Python
* optimize the tokenizer for efficiency
* fix the unit test failures.
* fix the api test case failures
* removed the unused code.
* More test cases fixings
* One more fixing
* fix macOS build issues
* refine the test
* add more diagnosis info.
* fix unit test in CI Linux
* fix the pp_api test failure
* add the decoder_prompt_id for whisper tokenizer
* temporarily disable android prebuilt
* disable the prebuilt for android
* disable the prebuilt for android 2
* Add a unit test
* correct test ids
* reimplement resize cpu kernel for image processing
* accuracy fixing and code refinement
* fix the build issues
* fix Linux build issue
* more fixings
* Fix the pipeline issue
* fix the ci script
* try to fix CUDA machine pool
* switch cmake cmp0169 flag to new
* the missing spm code.
* more refinement on cmake build targets
* Update ci.yml
* Update ci.yml
* update the jpg files after using libjpeg instead of libjpeg-turbo
* exclude cutlass too
* upgrade the protobuf library to be consistent with ORT
* update the protoc generated files
* use the right patch name
* Update cutlass.cmake
* Feature extraction C API for whipser model
* Update the docs
* Update the docs2
* refine the code
* fix some issues
* fix the Linux build
* fix more data consistency issue
* More code refinements
* only keep the image decoder from opencv
* initial build
* refine the code
* Add clear functions
* Update CMakeLists.txt
* Update opencv.cmake
* change the output type to float
* get the result
* align image-process with original Python
* move the LoadRawImages into library
* fix the calculation error
* fix the pipeline build issue
* fix the build breaks in ci pipeline
* support json configuration file and refactor the code.
* initial checkins
* fix the selectedops build failures
* add the tokenization implementation
* update the windows DEF file for c abi in cmake file
* fix the build on linux
* fix some warnings and remove the unused code
* initial import of unit tests from tfmtok
* add streaming API support
* fix the merges loading issues
* complete export from tfmtok - needs input id fixing
* fix the unit test failures.
* fix all unit test failure
* refactor streaming code
* remove the unused code
---------
Co-authored-by: Sayan Shaw <sayanshaw@microsoft.com>
* cmake fast gelu
* bridge func and cuda kernel
* tune ut
* fix build warning
* fix format
* tune ut
* drop OCOS_ENABLE_CONTRIB
* tune cmake
---------
Co-authored-by: Randy Shuai <rashuai@microsoft.com>
* the cuda kernel first example
* Update test_ortops.cc
* revert some unneccesary changes
* unix-like os build failure
* refactor header files
* fix python dll exporting error.
* Initial checkins for returnable ORT ABIs
* fix for linux build
* more fixes on Python, test...
* remove the statusmsg
* native unit tests fixing
* Python unit tests fixing
* last unit test fixing
* Refactor setup for Azure ops to try and make common things more re-usable, and for the actual ops to simply layer in the specific input/output constraints for that type of request.
Currently builds on Linux, Windows (x64 only) and Android
Android requires a manual pre-build of openssl and curl.
Linux requires a manual pre-install of openssl.
Windows currently only works for x64. Other targets need the triplet adjusted.
* Address PR comments
* Fix could of android build warnings.
* Update .gitignore to remove old path
* Fix build break from merge
* using the latest Ort header instead of minimum compatible headers
* Update ext_ortlib.cmake
* Update ortcustomops.def
* change the default ORT API version value
* evaluate the audio decoder library
* MP3 Decoder
* rename it to test_audio_codec
* add the audio decoder to whisper model
* whisper end-to-end draft
* fix the mp3 decoder
* Running with ONNX models
* Add more audio format supports
* refine the end-to-end script
* Update operators/audio/audio_decoder.hpp
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Update operators/audio/audio_decoder.hpp
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Update operators/audio/audio_decoder.hpp
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* some fixings of comments and more test cases.
* changes for review comments.
* Update audio_decoder.hpp
* Update audio_decoder.hpp
* code refinement
* Update operators/audio/audio_decoder.hpp
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
---------
Co-authored-by: Sayan Shaw <52221015+sayanshaw24@users.noreply.github.com>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Add ability to prevent exception propagation with top level try/catch hander macros.
If combined build with ORT has exceptions disabled in ORT but ort-ext has an operator that requires exceptions, we enable exceptions in ort-ext but prevent them propagating up via try/catch in the entry points that ORT can call
- RegisterCustomOps
- CustomOpBase constructor and Compute
Removed some places in CustomOpApi that threw is OpKernelInfo* was nullptr but standardizing all kernels to store the OpKernelInfo provided in the ctor.
Added unit tests
- need to validate on more platforms and add CI for build where we don't want to allow exceptions to propagate
* Update pyop
* Update CMakeLists.txt
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Update includes/exceptions.h
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Update includes/exceptions.h
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Update includes/onnxruntime_customop.hpp
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Merge with main and update
Address PR comments
Fix some issues.
* Delete local file
* Fix pyop update
* Add CI
Address PR comments
---------
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Co-authored-by: Wenbing Li <10278425+wenbingl@users.noreply.github.com>
* Add BertTokenizer to iOS package ops config.
* Also register tokenizer ops in com.microsoft.extensions.
Co-authored-by: Wenbing Li <10278425+wenbingl@users.noreply.github.com>
* Using the header files from the ONNXRuntime package
* Update includes/onnxruntime_customop.hpp
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* fix the build break.
* one more fixing
* wired top project
* ort 1.9.0 used
* switch to 1.10.0 package.
* change the vmimage to latest
* URL issue
* cmake policy
* ignore onnxruntime.dll native scan
* update the Onebranch exclusedPaths
* fixing some build tool issues
* update again
* typo
* undo of ORT dll removal
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* Initial changes for supporting mobilenet and superresolution.
- Script to update model with pre/post processing
- custom ops for decode/encode
- user just has to provide jpg or png bytes
- superresolution can return the updated image in jpg or png
- models for testing
Updated cmake setup to enable building of the vision pre/post processing ops
- opencv2 is treated as an internal dependency rather than the mechansim for selecting which operators to include.
* Add extra check in decode.
* more C++ code fixing and polish for release
* fixing for android build
* build flags for android release
* add missing exporting function
* imint
* first versoin
* more C++ code fixing and polish for release (#275)
* more C++ code fixing and polish for release
* fixing for android build
* build flags for android release
* add missing exporting function
* support build_id on Python package building (#281)
* support buildid in package building
* undo the change on build.sh
* build.sh issue on macos
* Add `$schema` to `cgmanifest.json` (#284)
Co-authored-by: Jamie Magee <jamie.magee@microsoft.com>
* test package with a simple java app
* demo app
* some fixing for windows platform
* refine the example app
* fix the missing symobls issue for Linux build
* fix the package package build issue
* typo
* a missing change
* fix PythonOp
* fix Android test issue
* one more Android change
* replace build flags in ci pipeline
* android AAR package build
* refine the code for android package
Co-authored-by: Jamie Magee <jamie.magee@gmail.com>
Co-authored-by: Jamie Magee <jamie.magee@microsoft.com>
* Add two opencv operators as ONNX custom ops.
* update the git apply command line
* adjust the difference threshold
* do not break the build on binskim issue
* Make ImageReader be optional
* try to fix some potential build break
* undo the debug flag in setup.cfg
* status
* update
* update
* fix bug
Co-authored-by: Ze Tao <zetao@microsoft.com>
Co-authored-by: Wenbing Li <10278425+wenbingl@users.noreply.github.com>