* Fix GPT2 and Falcon tokenizer cvt for AutoTokenizer imp
* fix fast tokenizer issue
* small fix
* use slow tokenizer in test script
---------
Co-authored-by: Sayan Shaw <sayanshaw@microsoft.com>
* Add TrieTokenizer for RWKV-like LLM models
* add more tests
* fix the windows build
* downloading file instead of check in the vocab file
* a small bug fixing
* Add Falcon-7b and Falcon-40b tokenizer support
* fix alignment and add tokenizer file in test/data to speed up compute
---------
Co-authored-by: Sayan Shaw <sayanshaw@microsoft.com>
* initial checkins
* test pass
* basic impl
* first unit test pass
* merge error
* refine a little bit
* add more unit test
* fix unit test
* Fix the unit test.
* add one more whisper audiodecoder test case
* update the docs
* More updates
* Calculate and specify ir_version so we use the oldest possible for maximum compatibility
* Don't use `ignore_unknown` in call to `find_min_ir_version_for` as it's only supported in the most recent ONNX release.
* initial draft
* second
* third
* polishing
* fix the M_PI name in LINUX platform
* fix bessel function issue
* add a unit test case
* fix the unit test name
* object detection
* Unit test
add e2e fastestdet model test
---------
Co-authored-by: Changming Sun <chasun@microsoft.com>
Co-authored-by: Scott McKay <skottmckay@gmail.com>
* built-in bounding box op
* update boundary check
* assert policy
* more boundary test and check
* XYXY--> X horizon
---------
Co-authored-by: Scott McKay <skottmckay@gmail.com>
* 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 a stft-norm custom op for log-mel spectrum.
* undo the debug change
* Support ONNX standard STFT op signature.
* Add a unit test onnx STFT compatible mode.
* add whisper pre-/post- processing example
* Update dlib.cmake
* undo test code changes
* Update setup.cfg
* update the end2end example with STFT op
* initial PR
* add the attributes for op
* cmake update
* add the missing symbol
* add a unit test case
* fix the unit test
* fix some corner case.
* format Python code with autopep8
* - Fix Split(18) requiring num_outputs.
- Calculate `sizes` in Resize instead of using the simpler `scales`
- ORT implementation does not round correctly when applying scales
- Update center crop to use float so we are more accurate in choosing the crop area.
- Fix minor issue with Debug step by only adding values that are altered to the renaming graph inputs.
- Update unit tests expected output due to the change in Resize using sizes instead of scales.
- Crop e2e example input so before/after image covers same area.
* Simplify.
CenteredCrop doesn't need to use float as it's dividing by 2 (so using float + floor gives the same result).
Remove Resize impl using scales - we most likely will never go back to it.
Address PR comments
Update doc
* Move the pre/post processing scripts into the python module.
Update usage/examples.
* Use better version parsing.
* Update tests, docs,
* Address PR comments.
Remove global Settings and pass onnx opset around directly where needed. Make PrePostProcessor the owner of the checker context.
* align python package version with version.txt
* Update setup.py
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* remove a line
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
* 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>
* Implemented a new version of Kernel and the CustomOp to support
output that matches the HuggingFace model's input without the need
for intermediate python logic.
* Implemented a e2e tutorial for exporting and inferencing using the
HuggingFace's QuestionAnsering model.
Known Issue: Python side doesn't have an implementation of Bert Decoder
and so the augmented model is only half-complete. At the time of
inferencing the HuggingFace tokenizer is used to decode the result back
to string.
When the input is a string, the logic takes a different route where the
input model is split into two and joined again. The user provided
input/output names were not respected on this code path. Fixed the
issue by renaming the input/output post join operation.
* 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
HuggingFace vocab format is newline separated (unlike GPT which is
json). Newline separated is likely to be faster and doesn't require
an external library to parse it. Instead of introducing a json based
format, added support for native HuggingFace newline separated token
format.
* integrate opencv
* small fixing
* Add the opencv includes and libs
* refine a little bit
* standardize the output folder.
* fix ctest on Linux
* fix setup.py on output folder change.
* more fixings for CI pipeline
* more fixing 1
* more fixing 2
* more fixing 3
* ci pipeline fixing 1
* ci pipeline fixing 2
* a silly typo...
* ci pipeline fixing 3
* fixing the file copy issue.
* last fixing.
* re-test the fullpath in build_ext.
* One more try
* extent timeout
* mshost.yml indent
* Update mshost.yaml for Azure Pipelines
* cibuild build python versions
* Update wheels.yml
* only build python 3.8/3.9
* Update wheels.yml for Azure Pipelines
* seperate the ci pipeline