Commit graph

907 commits

Author SHA1 Message Date
Hariharan Seshadri
723e30b361
Refine node selection logic in ShapeToInitializer optimizer (#1219)
* Initial commit

* Modify existing test to cover the change

* PR feedback

* PR feedback
2019-06-17 19:17:53 -07:00
Changming Sun
e84cb7b579 Revert "Use shared threadpool in LSTM (#1167)"
This reverts commit c6abb17b8d.
2019-06-17 19:00:22 -07:00
Changming Sun
40ec69191a Revert "Let mlas use the session threadpool for gemm functions (#1196)"
This reverts commit 280ab9a2d0.
2019-06-17 19:00:22 -07:00
Ke Zhang
13d8558404
move environment.h/cc from framework to session project/folder. (#1241) 2019-06-17 18:01:21 -07:00
Ke Zhang
d448f39832
refactor a little bit to not ask every execution provider to give an implementation of getkernalregistry. It's not needed for a runtime-based exp actually. (#1231) 2019-06-17 13:50:07 -07:00
RandySheriffH
6d7081f33f
Add PyOp doc and UT (#1200)
* Enable Interop Op test in ci pipelines

* add doc

* update doc

* update doc

* add supported types

* format doc

* update doc

* update doc

* update doc

* update doc

* update doc

* update doc

* update doc

* remove comment

* catch up with latest C API

* fix cmake issue

* update doc

* add comments

* update doc

* update doc

* fix compile err on mac

* update doc

* update doc

* update doc

* update doc

* add sequence chart

* format sequence chart

* format sequence chart

* update doc

* update doc

* update doc

* update doc

* update doc

* update doc

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* fix cmake issue

* add graph dependency

* add graph dependency

* add graph dependency

* add links

* enable test from yml

* revert change in yml

* renable test in yml

* update doc
2019-06-17 11:15:44 -07:00
Maik Riechert
f9374217c6 Add -P flag to perftest & repurpose -x (#1236)
Note that this is a backwards-incompatible change as -x now doesn't set the execution mode anymore.
2019-06-17 10:41:22 -07:00
shahasad
5f21eedcbd
Script for uploading code coverage data to dashboard (#1209)
- Added Python script to post the code coverage data to the MySQL table used for dashboard
- Added a build job to run a windows cpu debug build on every merge on master, and run the script
- Removed the code coverage step from the CI build
2019-06-15 18:33:22 -07:00
jignparm
08731589c9
Refactor CI pipelines, and add YAML NuGet package generation pipelines ( for CPU, MKLML, NoContribOps) (#1223)
* Initial check in

* Add win x86

* minor update to x86

* update win-ci

* update win-ci

* update win-x86ci

* add linux and mac templates

* add nuget pipelines and test templates

* remove buildConfig

* add compliance template

* fix minor typos

* update pool for macos

* update mac agent pool

* update macos pool

* update agent pools for tests

* turn off debug build for testing

* some modifications to packaging scripts

* change ordering of compliance tasks

* Add mklml pipeline

* Add packagename variable to mklml pipeline

* remove unrequired dependent jobs from mklml pipeline

* Update build command for macOS legs in mklml and cpu pipeline

* Set vcvars to true

* Add no contrib ops pipeline

* Add no-contrib-ops pipeline

* set vcvars to true for package tests

* remove repetition in nuget templates

* get buildarch correct

* get name of test template correct

* remove steps from test_all_os.yml

* add parameters to test_all_os.yml

* Need jobs, not steps

* set envars for disablecontrib ops

* add cleanup tasks and CG to package tests

* fix path to cleanup script for macos

* remove buildDirectory -- not needed

* remove fp16tiny_yolov2 model from nocontribops tests

* remove debugging info

* fix individual linux pipelines to use correct template

* remove unneeded bak_latest2

* increase timeout to 120 to allow for variance

* turn off code coverage report
2019-06-14 14:51:03 -07:00
Hariharan Seshadri
2148827d3a
Implement CUDA kernel for Shrink operator (#1208)
* Initial commit

* More changes

* fix build issue

* More changes

* More changes

* More changes

* Resolve PR comments

* Revert "Resolve PR comments"

This reverts commit 63f3cf4095bcd4a579dff3dafeb858a78b0f294a.

* Resolve PR comments revised
2019-06-13 16:12:44 -07:00
RandySheriffH
6850e55966
Fix install_onnx.sh issue (#1201)
* switch from map to array to keep visiting sequence

* add comment

* improve comment
2019-06-13 13:37:59 -07:00
Hariharan Seshadri
fc9a895b46
Add shape inference logic for Crop (contrib) op (#1157)
* Add shape inference logic for Crop contrib op

* Fix build break

* More refinements

* PR feedback

* PR feedback 2
2019-06-13 12:45:09 -07:00
Ryan Hill
6c17567d7b
Add C++ headers to nuget package (#1218) 2019-06-13 11:38:19 -07:00
Scott McKay
065e9dc1ba
Block size mismatches are expected if sequence length varies or there are NonZero ops. Reduce log severity of message due to that. (#1211) 2019-06-13 19:13:31 +10:00
Scott McKay
fa2eea7339
Use cmath instead of math.h for fabs (#1217)
* Use cmath instead of math.h so qualify some fabs calls with std:: due to change.

* Remove accidental text
2019-06-13 10:58:49 +10:00
Scott McKay
c1a34a8ba6
Add ability to dump node input/output (#1202)
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'
2019-06-13 06:47:50 +10:00
Hector Li
bbdd1d658b
use cudnnRNNForwardInferenceEx for unpacked (padded) layout case (#899)
1. Use cudnnRNNForwardInferenceEx for unpacked (padded) layout case, place the sequence_lens data on CPU
2. Fix hard code device ID issue. In cuda kernel, it should get the device id from provider.
2019-06-12 09:51:15 -07:00
Ryan Hill
38963d81eb
Simplify some CustomOp code (#1206)
test_inference.cc reformatted with clang-format
2019-06-11 17:00:04 -07:00
Scott McKay
87d65389e6
Add ability to change the logging severity of the default logger. (#1165)
Add ability to set the session and run logger severity via SessionOptions and RunOptions
Inherit severity from the next logger up if logger severity isn't specified in SessionOptions or RunOptions
Expose ability to set default logger severity in python bindings.
2019-06-12 08:54:03 +10:00
Changming Sun
15bcde5053
Fix a build break in tf_test_session.h (#1205)
This file need tensorflow C API package to build, so it is not part of the CI.
2019-06-11 14:05:24 -07:00
Changming Sun
6d5ea08936
Add nsync lib to onnxruntime_mlas_test's deps (#1199)
* Add nsync lib to onnxruntime_mlas_test's deps
2019-06-11 13:01:16 -07:00
edgchen1
0b9b429fe1
CPU GRU and LSTM Ops: Address corner case where output is uninitialized (#1193)
* Updated CPU GRU to zero Y output between max specified sequence length and max sequence length implied by input shape.

* Updated CPU LSTM to zero Y output between max specified sequence length and max sequence length implied by input shape.

* Disabled LSTMTest.ONNXRuntime_TestLSTMSequenceLengthShorterThanInputSequenceLength for nGraph execution provider and added TODO to investigate failure.
2019-06-11 09:58:34 -07:00
Sreekanth Yalachigere
24d6b0f5c4 MKL-DNN Subgraphs (#1116)
* subgraph with memcpy fix

* Linux compile errors fix

* Linux compile errors fix

* subgraph with memcpy fix

* Linux compile errors fix

* Linux compile errors fix

* memcpy (PR1020) fix implemented

* check graph viewer GetNode for nullptr at other plances

* documents

* Review changes (UseSubgraph simplified)

* static_cast<int> removed

* static_cast<int> removed 2

* fall back to CPU implementation in GetCapability()

* check shape for null. fall back to CPU implementation in GetCapability()

* backend data errors fixed

* PR review changes

* disable Opset10 tests

* removed tests from main.cc of test runner. added a check at GetCapability()

* backend data and Model-Zoo related fixes

* subgraph with memcpy fix

* Linux compile errors fix

* Linux compile errors fix

* subgraph with memcpy fix

* Linux compile errors fix

* memcpy (PR1020) fix implemented

* documents

* Review changes (UseSubgraph simplified)

* static_cast<int> removed

* fall back to CPU implementation in GetCapability()

* check shape for null. fall back to CPU implementation in GetCapability()

* backend data errors fixed

* PR review changes

* disable Opset10 tests

* removed tests from main.cc of test runner. added a check at GetCapability()

* backend data and Model-Zoo related fixes

* patch to run tests and models separatly
2019-06-10 20:18:56 -07:00
Ryan Hill
3c3186c761
Convert more C APIs to return OrtStatus (#1194)
* Change SessionOptions APIs to always return a status, for consistency and ease of use (a couple returned 0 or -1 for success/failure)
2019-06-10 18:36:04 -07:00
RandySheriffH
011957995e
add immutable exclude list (#1181)
* add immutable exclude list

* trigger callback

* switch to set for failed cases

* tweak conditions

* restore space

* cancel judgement

* fix comment

* restore onnx install sequence

* better comment and set const string

* set set const

* revert change on install_onnx.sh
2019-06-10 17:32:42 -07:00
Dmitri Smirnov
a92998c235
Uncomment ConstantOfShape tests. (#1059)
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.
2019-06-10 14:36:36 -07:00
ybrnathan
f72c1501c5
Optimize concat PrepareForCompute perf by reserve vector size. (#1198) 2019-06-10 12:54:17 -07:00
shahasad
97dfd5ee21
Add code coverage (#1192)
* added the runcoverage powershell script

* updated the run coverage script. added installation to the windows CI for trying

* exclude other parts of win ci

* fix in the download script

* fix in the download script

* fix in the download script

* fix in the download script

* fix in the download script

* fix in the download script

* fix in the download script

* fix in the download script

* fix in the download script

* added the runtestcoverage script to the pipeline

* some typo fix

* formatting

* re-commenting previously commented block

* cleaned up the powershell script

* fix path in pipeline

* fix path in pipeline

* fixed model path

* some fixes

* excluded long running tests

* add the publish job

* uncomment other tasks

* fixed excluded tests

* some format correction

* stopped running the test debug

* try placing the tes-all at the beginning

* try running the failing test only

* edit run_coverage

* some fix

* skip onnx_model_test

* Added memory size log in powershell script

* try running the onnxruntime_test_all.exe separately from codecov

* enable error reporting, and double memory size in powershell

* corrected the set-item

* remove memory resize, since we are already at max 2 GB

* fixed the tvm.dll issue

* added back the onnx tests in codecov. added back the regular test run

* cleanup

* remove * from the the module path

* add junction target resolution for modules dir

* remove junction-resolution

* reduced tests

* added target extraction for the junction paths in build machine

* added the appropriate change in win ci pipeline to call the updated ps script

* fix typo

* added back all the tests that were disabled

* try fixing the source root

* cleanup and enable all tests

* increase timeout for windows CPU CI due to codecoverage

* templatized the code coverage steps. Conitnue on error with any codecoverage step

* change quote marks
2019-06-09 22:30:41 -07:00
Changming Sun
280ab9a2d0
Let mlas use the session threadpool for gemm functions (#1196) 2019-06-09 19:57:04 -07:00
Changming Sun
be36385a8c
Delete docker/scripts/install_deps_x86.sh and enable onnx tests for x86 (#1191) 2019-06-08 16:17:18 -07:00
Raymond Yang
6b586bc041 Avoid warning status in python release pipeline (#1195) 2019-06-08 00:22:32 -07:00
gapar2
71466fc805 Fixes two broken links. (#1081) 2019-06-07 20:20:02 -07:00
Changming Sun
ccab8165eb
Delete scripts/install_ubuntu_x86.sh (#1189)
* Delete scripts/install_ubuntu_x86.sh to reduce duplicated code
2019-06-07 15:48:52 -07:00
Konstantinos Karanasos
32c6c71e86 Convert Shape operator to initializer (#1159)
This PR introduces a rewrite rule that replaces a Shape node with an initializer when the shape of the input is statically known through shape inference.
2019-06-07 14:15:19 -07:00
RandySheriffH
cdb27de090
implement python opeartor (#1045)
* implement python opeartor

* format code

* remove dup

* limit type

* format code

* cancel default logging func

* add comment

* fix compile err

* fix comments

* switch to c++ style cast

* implement interop framework

* fix format

* move includes

* cancel needless linking

* fix comment

* add UT

* exclude def
2019-06-07 11:50:23 -07:00
Hector Li
8d68098c20
ConstantOfShape CUDA implementation (#1168)
* ConstantOfShape CUDA implementation

* Enhance the fallback logic, so the case that Shape -> ... -> ConstantOfShape won't fallback ConstantOfShape to CPU provider

* move shared code to cpu implementation

* do the fill based on sizeof(data_type)

* update method access level
2019-06-07 11:41:58 -07:00
Dmitri Smirnov
e43e64bf84
Implement Equal for CUDA. (#1183) 2019-06-07 11:11:50 -07:00
Xavier Dupré
d33dbb23b2
replace onnxmltools by keras-onnx in one example (#1151) 2019-06-07 12:03:46 +02:00
Changming Sun
d8ac0d64d0
Make C API capable of defining CUDA custom ops (#1178)
Recreate the PR on behalf of Rui Xia, for #779
2019-06-06 13:45:32 -07:00
Ryan Hill
b68bb51dd0
Change SessionOptions APIs to always return a status (#1171)
* Change SessionOptions APIs to always return a status, for consistency and ease of use (a couple returned 0 or -1 for success/failure)
2019-06-06 13:24:24 -07:00
G. Ramalingam
b23ab6a06e
Implementation of sparse tensor (#1121)
* Initial implementation of sparse tensor

* minor cleanup

* minor cleanup (remove empty line)

* simplify template usage in test-case

* address linux build error

* fix constructor order to address compiler warning

* Address PR comments

* handle allocation in optimizer execution frame

* address compiler warning message and PR feedback comment

* address gcc unused warning for protobuf code

* address PR comment
2019-06-06 11:50:38 -07:00
Dmitri Smirnov
7a80770b52
Remove filtering from the backend scripts runner (#1169)
Remove filtering from the backend scripts runner as we only run it
  on the tip of onnx.
2019-06-06 10:04:55 -07:00
Klein Hu
1a86421aff Create a syslog sink for logging in !Win32 env (#1163)
* Create a syslog sink for logging in !Win32 env

* Move syslog level logic to syslog_sink.c
2019-06-06 16:35:06 +10:00
Changming Sun
88ea58a383
Add double tensor support for Div and Sub (#1172)
Needed by the preprocessing step of inception models.

TF source code: https://github.com/tensorflow/models/blob/master/research/slim/preprocessing/inception_preprocessing.py
2019-06-05 21:10:09 -07:00
Scott McKay
c6abb17b8d
Use shared threadpool in LSTM (#1167) 2019-06-06 07:16:31 +10:00
Ryan Hill
7cd2d9f3c4
Change Path_lib to not use Shlwapi.dll if compiled as WINAPI_PARTITION_APP (#1161) 2019-06-05 11:05:33 -07:00
KeDengMS
7c4494a0bc
Fix CUDA thread_local to allow multiple CUDA execution providers (#1149)
This fixes #1034: Can't Create Model Sessions on Different GPU
The root cause of the bug is that CUDA execution provider uses thread_local to save per-thread-context and allocator, and when two CUDA execution providers are running on the same thread there's a conflict. The fix is to add a std::unordered_map to differentiate EPs in the same thread.
2019-06-04 16:32:27 -07:00
Hariharan Seshadri
a863c67ef8
Fix error message for legacy opset (6 and lower) models at model load time (#1147)
* Initial commit

* Resolve comments and revert changes in files that are not needed for this change

* Single line addition revert

* Resolve comments
2019-06-04 11:56:49 -07:00
jywu-msft
7316e54153 re-enable disabled tests on nGraph after fixing remaining subgraph resolve error (#1158)
* fix subgraph resolve error for nGraph.

* input_args need to be processed in order.
2019-06-04 09:40:24 -07:00
Ryan Hill
148141dd5f Change Compute function to return a status code instead of an integer. (#1139) 2019-06-04 08:34:32 -07:00