Commit graph

2950 commits

Author SHA1 Message Date
Ryan Lai
5ce675c3b9
Expose Onnxruntime Intra Op thread controls through WinML Native API (#4638)
* Register ILearningModelSessionOptionsNate interface

* Threading options exposed

* Add interrogator for Session options

* Add test

* Polish test

* PR comments

* Set intra op threads

* Add adapter api to grab intra op threads

* Add adapter test for getting intraop num threads

* Make ILearningModelSessionNative and update winml api test

* Make it required when building engine to set the intraop num threads

* Make test  more pretty

* Change naming of idl function

* Revert "Change naming of idl function"

This reverts commit c06916aa5bf94e3bf233ed281e508b935fc8638d.

* PR comment on naming

* Skip the test because it's influenced if it's built with openmp

Co-authored-by: Ryan Lai <ryalai96@gamil.com>
2020-07-30 17:55:26 -07:00
gwang-msft
de0b04b971
[Android NNAPI EP] Add support for dynamic output (#4650)
* add dynamic output shape support

* fix bugs associates with scalar inputs

* addressed comments, fixed issue the output buffer size is not correctly set, refactor shaper class

* split the execution logic from nnapi::Model into nnapi::Execution

* update comments for certain scenarios, 1. dynamic output buffer size, 2. ONNX scalar input

* move ctor of nnapi::Execution to public
2020-07-30 16:42:17 -07:00
gwang-msft
282975aefb
[Android NNAPI EP] Add QLinearAdd op Support, move some throw with return status (#4607)
* remove dependency of external jd-dnnlibrary

* add qlinearadd support

* combine some qlinear ops logics, move some throw into return status

* merge master

* minor bug fixes

* addressed comments
2020-07-30 11:45:11 -07:00
Changming Sun
51332e3c81
Change Linux CI build time out value to 3 hours (#4664)
Because it often need more than 1 hr 55 minutes, increase the value so that we'll less likely see pipeline failed.
2020-07-30 02:52:05 -07:00
George Wu
319d30e50e
dnnl only run opset 10 model tests to reduce footprint/runtime (#4663) 2020-07-30 17:25:53 +08:00
Sheil Kumar
0a8bfb10fa
Inbox WinML tests fail because Inbox loads binaries from system32 (#4660)
* make dml and onnxruntime system32 only when winml and onnxruntime is loaded from system32

* use __ImageBase as that will not incur the unsupport store api call into GetModuleHandleEx

* remove accidental comment

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-30 00:09:18 -07:00
Hariharan Seshadri
382f94c95c
Fix regression introduced in cast transformer (#4658) 2020-07-29 23:32:01 -07:00
Tixxx
f90a2d46ae
Changes to support TNLRV3 fine-tuning (#4639)
* added reducesumlogexp gradient
added test
fixed type mismatch when calling cudnnreduce kernel
fixed python frontend to remove redundant states to match pytorch state dict
2020-07-29 19:17:59 -07:00
Faith Xu
d8f3e46d45
Readme updates (#4448)
* Readme updates

* Update package repo table
2020-07-29 13:25:36 -07:00
gwang-msft
db475c4f35
Add option for onnx_test_runner can pause after launch, make create_test_dir work on non-windows os (#4618)
* minor fix for test dir util

* add pause option for onnx_test_runner

* add flush std to show pause prompt text

Co-authored-by: gwang0000 <62914304+gwang0000@users.noreply.github.com>
2020-07-29 11:47:01 -07:00
Tianlei Wu
326cc686df
Update notebook: disable GPU for tensorflow (#4649) 2020-07-29 10:09:06 -07:00
S. Manohar Karlapalem
623dd53eb7
Rename inner-scoped variable to avoid MSVC warning (#4587) 2020-07-28 18:03:57 -07:00
RRRachelllll555
f3fc8ca954
Add input tensor calibration (#4619)
* add input tensor calibration

* set default fusions to be true

Co-authored-by: t-yguo <t-yguo@microsoft.com>
2020-07-28 14:04:41 -07:00
ashbhandare
d4983f83ff
Shape independent gradient builder for ops requiring broadcast (#4586)
* Adding CPU implementation of BroadcastGradientArgs op

Modify to take shape as input instead of tensor

Cleanup

Correct schema

Corrected kernel, added tests, addressed review comments.

Initial change, to add ReduceSumTraining cpu op

cpu support

Initial changes to gradient builder

Non-empty reduction case passing.

Added exception,test for invalid broadcast,addresed review comments.

Initial change, to add ReduceSumTraining cpu op

cpu support

cuda support + more UTs

on comments + UT

no op support for {} axes with new attr - noop_with_empty_axes

Add noop attribute to ReduceSumTraining use

Add testing for no-shape graph, modify AddSub grad builder, logging.:

MulGrad support

Div support

Expand support

Gemm support

MatMul grad change

Transpose Grad change

BiasGeluGrad change.

Fixes after squash

* Remove logging, add specific exception for shape inference error

* fix build

* Review comments

* Review comments

* Fix windows build

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-07-28 13:01:07 -07:00
RandySheriffH
948a33bdfc
FixPyOpSegFault&MakeItStaticLib (#4600)
* remove pyop wrapper

* add py threading logic

* fix doc

* fix doc

* fix doc

* format doc

* format doc

* format doc

* reenable test

Co-authored-by: RandySheriffH <rashuai@microsoft.com>
2020-07-28 11:45:25 -07:00
Bowen Bao
6c2bd127ba
more types for comparison ops (#4634) 2020-07-28 09:53:19 -07:00
M. Zeeshan Siddiqui
73ad92e773
Change ignore_index to 0 in Bert-Loss. (#4640) 2020-07-28 04:37:11 -07:00
Yufeng Li
a06cf6a3b3
Show quantization model size in benchmark of transformer (#4626)
* Show quantization model size in benchmark of transformer

* refine model size calculation
2020-07-27 23:56:33 -07:00
Tiago Koji Castro Shibata
73c99f8269
Set WINVER (#4636) 2020-07-27 20:24:11 -07:00
Xiang Zhang
d73e01e5b9
remove ENABLE_TELEMETRY macro (#4633) 2020-07-27 20:06:11 -07:00
albertomagni-ms
c08e5f55e9
Fix misleading indentation (#4629)
* Adjust indentation of statement, without this fix GCC 7.5 errors
out with:
"this ‘if’ clause does not guard this statement, but the
latter is misleadingly indented as if it were guarded by the ‘if’"

* Add braces around the if-statement for improved clarity.

Co-authored-by: Alberto Magni <alberto.magni@microsoft.com>
2020-07-27 14:42:58 -07:00
Sheil Kumar
efa393e596
WinML should dynamically link against onnxruntime.dll and only system32 for inbox builds (#4615)
* Dynamically link onnxruntime.dll

* fixes

* add preceeding backslash to onnxruntime.dll for inbox builds

* remove /d

* loadlibrary -> loadlibraryex

* use loadlibrary system32 option

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-27 09:56:49 -07:00
Sheil Kumar
222fd08f20
DirectML.dll is loaded via LoadLibraryW but should use LoadLibraryExA (#4616)
* create dml device via loadlibraryexa

* add build_INBOX flag to adapter

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-25 21:29:46 -07:00
Alisha Sonawalla
1e67fff93c
Add GetStringTensorElement, GetStringTensorElementLength and FillStringTensorElement API (#4374)
Add new string tensor APIs and unit tests
2020-07-24 21:35:46 -07:00
Sheil Kumar
c361a59cff
disable gpu timeouts in winml (#4604)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-24 13:44:44 -07:00
Tiago Koji Castro Shibata
48d969f4bf
Constexpr CreateFeatureValueFromInspectable (#4460) 2020-07-24 13:08:14 -07:00
Hariharan Seshadri
9510f26744
[Python] Support more APIs for the SessionOptions class (#4596) 2020-07-24 12:56:54 -07:00
ytaous
9888c9e944
SplitTraining op to support split as input (#4597)
* SplitTraining op to support split as input

* on comments and minor refactor

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-07-24 12:49:19 -07:00
Sherlock
aa328c2c20
Update GratherGard to accumulate in fp32 (#4601) 2020-07-24 10:54:31 -07:00
Yufeng Li
9c75c29403
refine opset version getter (#4602) 2020-07-24 10:34:56 -07:00
ashbhandare
5189530b7b
Create the ConcatTraining op (#4595)
* Working changes for ConcatTraining op

* Refactor to move changes to orttraining

* Fix segfault

* Support -ve axis for shape inferencing

* fix build

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-07-24 10:03:58 -07:00
ytaous
d5b98a13c2
Move ReduceSumTraining op under orttraining (#4588)
* move training op under orttraining

* code clean up

* fix build

* on comments

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-07-23 21:36:52 -07:00
Ryan Lai
f35ce4677f
add double and uint8_t datatypes (#4603)
Co-authored-by: Ryan Lai <ryalai96@gamil.com>
2020-07-23 21:32:29 -07:00
Tianlei Wu
ace41b8064
Force return_tuple=True to handle transformers breaking change of output format. (#4599) 2020-07-23 11:35:41 -07:00
Tianlei Wu
ea87c0d028
Update Transformer Optimizer documents (#4591)
(1) Add bert-base-cased and gpt2 benchmark results on V100
(2) Update list of supported models.
(3) Add comments to gpt2_helper.
(4) Use IO Binding in test parity by default.
2020-07-23 08:38:39 -07:00
gwang-msft
03ebe33850
[Android NNAPI EP] Add support for LRN/Grouped Conv ops, fix issues where NNAPI will fall back to CPU (#4582)
* add LRN/Grouped Conv Support, minor changes

* better pool ops sdk version requirement

* reduce string comparision for gemm/matmul ops

* fix nnapi fall back to cpu for softmax

* addressed review comments, correct a small error in the code
2020-07-23 00:05:39 -07:00
RRRachelllll555
c5df918744
improve calibration tool (#4561)
* improve calibration tool

* modify calibration interface name

* modify calibration interface name

* refine calibrate and calibrate_user

* refine and add type info

* refine and add type info

* add e2e user example file

* remove unnecessary files

* remote test images no longer needed

* update readme document

Co-authored-by: t-yguo <t-yguo@microsoft.com>
2020-07-22 21:31:49 -07:00
Dmitri Smirnov
1b253d18ef
Updated tags for MCR images (#4574)
* Updated pushed CPU and CUDA tags.

* Add tensorRT, fix typo.

* Add OpenVINO tags. Remove 2020.2 installation instructions for VAD-M.

* Revert instruction changes for V-ADM and update 2020.2 to 2020.3
2020-07-22 19:39:42 -07:00
Xueyun Zhu
e2acb165e9
Add exception check in training_runner when worker runs into error, and misc check on nccl and mpi calls (#4380)
* error check

* fix build warning treated as error
2020-07-22 14:32:19 -07:00
gwang-msft
c2ec3b734b
[Android NNAPI EP] Remove dependency on external JD/DNNLibrary (#4576)
* remove dependency of external jd-dnnlibrary

* remove extra variables not used any more

* update /cgmanifest.json
2020-07-22 14:08:12 -07:00
Pranav Sharma
f0edd074fb
Optimize CreateEnv by not creating the logging manager instance if env instance has already been created. (#4583)
* Optimize CreateEnv by not creating the logging manager instance if env instance has already been created.

* Move creation of logging mgr inside if block
2020-07-22 12:29:55 -07:00
Sheil Kumar
fa6d035090
Create WindowsAI zip files automatically as part of the pipeline (#4584)
* copy rename nupkg to zip as part of build task

* update both symbols and regular package

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-22 10:53:47 -07:00
George Wu
6b53a74867
replace invalid sample (#4567) 2020-07-21 23:51:17 -07:00
S. Manohar Karlapalem
e00e2e84d6
[OpenVINO] Update MCR dockerfile with Ubuntu 18.04 package names (#4581)
* Update Ubuntu version codename for install components

* Specify OpenVINO dockerfile's name in documentation

Also install NCS udev rules.
2020-07-21 23:48:24 -07:00
Andrews548
f20afc4991
Update ACL/ArmNN EP (#4571)
* Add BN to ArmNN EP

* Add Concat to ArmNN EP

* ACL logging improvements

* ArmNN logging improvements

* Fallback to CPU for 9x9 convolution in ACL EP

* Fallback to CPU for 9x9 convolution in ArmNN EP

* Enable python support for ACL and ArmNN EPs when compiled with BSP toolchain

* Removed the matmul operator

* Fix conv infer shape function

* Fix provider_names list for armnn

Co-authored-by: Andrei-Alexandru <andrei-alexandru.avram@nxp.com>
2020-07-21 22:25:58 -07:00
Yufeng Li
822b23ff2f
Add support of EmbeddingLayerNorm (#4562) 2020-07-21 21:43:02 -07:00
Hariharan Seshadri
bf78e4d18b
Handle cases which produce an empty output in the MatMul op family (#4573) 2020-07-21 17:57:47 -07:00
Ryan Lai
0b4659c3fe
Populates TensorProto with tensor from protobuf file (#4535)
* Expose load tensor proto from protobuf file function

* Add comment

* Remove use of fstream and use parsefromzerocopystream

* Close file descriptor after finish parsing it

* Close input stream too

* Set Close on delete only, no need to close file descriptor

* Revert "Set Close on delete only, no need to close file descriptor"

This reverts commit 5ba6e3c31b.

* Revert "Close input stream too"

This reverts commit 4564776733.

* Revert "Close file descriptor after finish parsing it"

This reverts commit 846e550c4f.

* Revert "Remove use of fstream and use parsefromzerocopystream"

This reverts commit 25a3117183.
2020-07-21 17:50:15 -07:00
Changming Sun
603f2d1138
Exclude a few OpenVino flaky tests (#4572) 2020-07-21 12:14:34 -07:00
Chi Lo
affdeb53c2
Add Python API for specifying device options. (#4205)
* Add python API for specifying CUDA device id

* Modification for providing session based python api for specifying
device id

* When include header file pybind11/stl.h, conversion between c++
containers and Python list, vector and dict data structure are
automatically enabled.

https://pybind11.readthedocs.io/en/stable/advanced/cast/stl.html#

Therefore, refactor the code for better leverage this advantage.

* Make struct CudaDeviceOptions as default cuda device options

* Implement sess.set_providers(list_of_providers, list_of_provider_option_dicts)

But still stay consistent with existing sess.set_providers(list_of_provider)

* Add cuda provider option default setting

* Add support for setting cuda cuda_mem_limit and arena_extend_strategy.
Also resolved the merge conflict on session.py

* Use python ctypes to call cuda library to help python unittest

* Refine the code with reviewer's suggestions

* Add the capability of getting execution provider's configuration

- Once we introduced the capability to set execution provider's
configuration, it makes sense to add capability of getting ep's configuration.

* Modify the code with reviewer's suggestions.

* Using stoull() and stoul() depends on 32/64-bits architecture.

* Rewrite the testcases for testing setting CUDA device id

Note: We need to make sure every ORT process be run on one CUDA device
at a time.

* Make sure old session object is destroyed by python gc before new
session object is being created

* Move testcases to original onnxruntime_test_python.py

* Fix bugs to pass CI build

* Make it pass CI build (cont.)

* Make it pass CI build (cont.)
2020-07-21 07:28:13 -07:00