Commit graph

8505 commits

Author SHA1 Message Date
Scott McKay
65c50bb25b
Create NodeArg for all initializers if IR version is > 3. (#742)
Previously all initializers had to have matching graph inputs and the NodeArg was guaranteed to be created via graph input processing.
2019-04-05 14:09:27 +10:00
Mika Fischer
2674d9bd8a Fix profiling with C API (#710)
Currently, when using OrtEnableProfiling to enable profiling using the C API,
the profile output file is created but is always empty.

The reason is that InferenceSession::EndProfiling() needs to be called to
write the profiling data to the output file.

However there's currently no way to call this function via the C API.

This adds a call to EndProfiling() to the descructor of the session if
profiling is enabled in the session options.
2019-04-04 16:23:18 -07:00
Raymond Yang
c35d9797d7
Add unique identifier in function subgraph (#771)
* Add unique identifier in function subgraph

* enable test
2019-04-04 13:31:20 -07:00
Changming Sun
289663fd85 reformat onnxruntime_c_api.cc 2019-04-04 13:03:13 -07:00
Changming Sun
290112d614
Update onnx (#761)
* update onnx
2019-04-04 10:58:45 -07:00
Changming Sun
261a9078a5 Remove redundant code in ml::write_scores 2019-04-04 01:21:48 -07:00
Konstantinos Karanasos
512cfdd9fe
Generalize node removal (#743)
Generalize node removal method in graph_utils. This is a higher-level method that keeps the graph consistent so that no Resolve is needed after the removal of a node. 
The new method supports the removal of nodes with a single input (be it an incoming node or an initializer) and a single output (but allowing multiple output edges of that output). It also takes into account the case that one of the output edges is fed to a subgraph.
Also updated the rewrite rules to use this new, less restrictive method, and improved the rules' conditions. Introduced a GraphEdge struct to simplify various methods in graph_utils.
2019-04-03 22:34:20 -07:00
Changming Sun
7af35ac1e6 Fix two warnings in graph lib 2019-04-03 19:41:11 -07:00
Changming Sun
a196085471 Add error messages to FunctionImpl::FunctionImpl 2019-04-03 19:40:49 -07:00
Shawn Callegari
adc00ab5fc ARM32v7 Dockerfile and build instructions update. (#737) 2019-04-03 14:45:24 -07:00
Ashwini Khade
8bc532bfb9 update onnx and add removed experimental ops to contrib ops (#723) 2019-04-02 22:30:00 -07:00
Du Li
6e9ed17adc Fix a shape inference bug for FusedConv and MaxpoolWithMask (#748) 2019-04-02 21:48:06 -07:00
Changming Sun
fc26b24138
onnx_test_runner: use c api for loading non-tensor test data (#751) 2019-04-02 21:47:24 -07:00
Yufeng Li
0cd4a9381c
Handle seqence length == 0 for RNN (#749)
* Handle seqence length == 0 for RNN

* Zero out the output for seq_len=0

* add unit test for rnn seq len equal 0

* minor fix
2019-04-02 20:33:45 -07:00
Ashwini Khade
2dbce4ebcf
csharp api for graph transformers (#741)
* add graph optimization level to csharp api

* format documentation

* changes per review comments
2019-04-02 17:23:14 -07:00
stevenlix
06888437dd Update onnx-tensorrt submodule to master (#753) 2019-04-02 16:34:00 -07:00
jignparm
acc8ac58d2
Fix C-API sample. Update Issue template. (#750)
* Fix C-API sample. Update Issue template.

* switch back to signed int

* update from int to size_t
2019-04-02 13:37:50 -07:00
Hariharan Seshadri
afe3aae29f
Support empty tensor concats in Concat op (#735)
* Concat bug fix

* CUDA concat changes
2019-04-02 11:32:42 -07:00
Rui Xia
7d47cd39b6 Change bind2nd to bind (#747)
`std::bind2nd` is deprecated in C++11 and removed in C++17 (see [MSDN documentation](https://docs.microsoft.com/en-us/cpp/standard-library/functional-functions?view=vs-2017#bind2nd)). Change to `std::bind` with placeholder instead.
2019-04-02 10:46:37 -07:00
Hector Li
b1115f49cd
Update NMS to compatible with both TF & Pytoch models (#636)
* Update NMS to compatible with both TF & Pytoch models

* update text

* set max_output_boxes_per_batch, iou_threshold, score_threshold as optional input to support dynamic value

* fix typo

* Set the last output selected_indices as optional output

* fix shape inference in case the input don't have shape

* Update schema to remove scores & boxes from output. support for class broadcast.

* change max_output_boxes_per_batch to max_output_boxes_per_class

* update schema to remove the class dimension from boxes
2019-04-01 16:08:02 -07:00
Scott McKay
f4b47ad9f6
Move call to log and fmaxf outside of inner loop. (#745) 2019-04-01 15:19:21 +10:00
stevenlix
40839f1f84
Enable multiple session runs for TensorRT (#724)
* 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
2019-03-30 11:02:13 -07:00
RandySheriffH
6df54f0285 Eable some onnx test cases (#700) 2019-03-29 10:45:02 -07:00
Mika Fischer
7f96c7f028 Use forward_inference to speed up convolutions with MKLDNN (#731) 2019-03-29 10:42:50 -07:00
Hariharan Seshadri
e6a2bdfacd Handle incorrect perm data in Transpose op gracefully (#739) 2019-03-29 10:42:34 -07:00
Prasanth Pulavarthi
667fa39551 fixing spacing for TensorRT documentation (#645)
* fixing spacing for TensorRT documentation
2019-03-29 00:27:08 -07:00
jignparm
73fc91dc59 Fix preFast native rules warnings (#682)
* Address preFast native rules warnings
2019-03-29 00:26:33 -07:00
Scott McKay
b9b6e3abcb ReverseSequence contrib op (#728) 2019-03-29 00:25:37 -07:00
Hariharan Seshadri
333171f602 Bug fix for Range op (#734) 2019-03-29 00:24:18 -07:00
Ahmad El Husseini
e643ce0e08 Fix inconsistent dimension data type in C-API (#726)
* update dimension type

* update dimension type for items added after 0.2.1

* fix gpu build
2019-03-29 00:23:25 -07:00
Changming Sun
165657ee1a
Refactor the /Qspectre cmake code (#736)
* refactor the /Qspectre cmake code

* Remove /Zi
2019-03-29 00:21:54 -07:00
Raymond Yang
6cbf5bcb04
[Minor] Enable pybind in mac build (#732)
* Enable pybind in mac build

* Add wheel build option

* Add numpy installation

* Add numpy installation

* Update mac-ci-pipeline.yml
2019-03-28 21:46:41 -07:00
jignparm
36f5d008de
Add /Qspectre compiler flags (#671)
* Add /Qspectre compiler flags

* Added /Zi. Seems required for binskim to pass

* reset cmake min to 3.11 for nuget pipeline

* Reset CMake min to 3.13
2019-03-28 11:08:05 -07:00
Changming Sun
f6a77617c1 update test data 2019-03-27 21:56:20 -07:00
KeDengMS
deaea702ff
Bump up cmake_minimum_required to 3.13 (#722)
This is consistent with CI version. cmake 3.11 has issues with CUDA build in Linux.
2019-03-27 14:45:24 -07:00
Konstantinos Karanasos
f299104a19
Enable constant folding in L1 transformers (#720) 2019-03-27 13:26:47 -07:00
Changming Sun
fb2a44f642 Remove header_files_test.cc 2019-03-27 13:16:56 -07:00
Raymond Yang
c35b605b8d
Support updated opschema with functionbody (#640)
* 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
2019-03-27 11:38:10 -07:00
shahasad
83ae641425
add documentation for custom ops (#708)
* 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
2019-03-26 21:58:01 -07:00
Ashwini Khade
77b981824a
fix graph transformers and refactor tests (#696)
* fix graph transformers and refactor tests

* fix merge master

* Set default optimization level to Level1

* fix build warnings for Linux

* try root cause tensorrt test failures

* try root cause tensorrt test failure

* Test level2 transformers with  all CI builds

* remove ConvActivation fusion transformer

* change default level back to level1

* remove providers from apply api

* more changes
2019-03-26 20:38:12 -07:00
Konstantinos Karanasos
a872ba7894
Convert Unsqueeze elimination to rewrite rule + improvements in graph utils and graph transformer utils (#670)
* Convert unsqueeze elimination to rewrite rule

* Simplify the way we register predefined transformers and rules in the inference session (all details are now moved to the graph transformer utils)

* Some reorganization and renaming of methods in graph_utils

* Updates in graph transformers test

* Update in edge removal to not perform unnecessary check of node args that led to race conditions when updating the graph

* Improve documentation for rewrite rules

* Remove top-down rule-based transformer (given we currently have only one type of rule-based transformer)
2019-03-26 13:58:15 -07:00
Tao Qin
a28b42a42c Fix path_lib.h for Mac and refine #include in InferenceSesssion.h (#711)
* Fix path_lib.h for macox py build

* don't have to include path_lib.h for model path in InferenceSession
2019-03-26 13:15:59 -07:00
Pranav Sharma
bcf1ce94be
Provide an option to disable contrib ops. (#707) 2019-03-26 12:31:36 -07:00
Tao Qin
39fb68b761
Refactor InferenceSession class (#654)
* Refactor InferenceSession interface

* Make some member and func private

* more protected members

* more protected

* reorder class members

* reordering

* reordering

The InferenceSession was implemented in the pImpl idiom, which hides the actual implementation. There are requirements to expose the implementation to other new classes, so this change is to pave the way.

The main changes are: abandon the pImpl idiom of InferenceSession
2019-03-25 14:09:33 -07:00
Hariharan Seshadri
c8f1da28c4
tile op: make implementation type-agnostic (and support a few more types) (#688)
* Initial commit

* PR feedback

* PR feedback
2019-03-25 11:55:51 -07:00
Changming Sun
6497f0c133 build python only when onnxruntime_BUILD_UNIT_TESTS is ON (#694) 2019-03-22 19:25:49 -07:00
Tracy Sharpe
21dacdd4d6
fix epilogue code (#695)
Repair the epilogue code for the aarch64 SGEMM kernel to restore registers from the correct stack location.
2019-03-22 18:13:41 -07:00
Changming Sun
179afe1594
Remove onnxruntime_USE_PREBUILT_PB (#692)
* Remove onnxruntime_USE_PREBUILT_PB
2019-03-22 17:41:21 -07:00
Changming Sun
a26696fb0e Enable LTO on Linux 2019-03-22 15:30:37 -07:00
Raymond Yang
12ecd77ffb
Update README.md (#686) 2019-03-22 14:47:40 -07:00