Commit graph

614 commits

Author SHA1 Message Date
Ryan Hill
fda1d0dce9
Ryanunderhill/ocr custom op (#744)
* Adding a custom op interface to the C API to remove shared library dependency.
* Remove old custom op test
* Rework how custom ops handle inputs/outputs to enable custom op output shape calculation in the compute method
* Add a nicer C++ API for custom ops and switch the tests to use it.
2019-04-05 18:53:20 -07:00
Tao Qin
58ef1306d4
Copy inputs and outputs directly in InferenceSession::SaveModelMetadata (#777)
* Copy required inputs and outputs directly in InferenceSession::SaveModelMetadata

* trivial

* trivial
2019-04-05 15:16:55 -07:00
ybrnathan
3eddb2d61e
Add optimization level as cmd line arguments (#776)
* Add optimization level as cmd line arguments

* fix the help info and add option.
2019-04-05 14:44:28 -07:00
utsabsingharoy
36ed91ee9f CustomRegistry should use composition instead of inheritence
CustomRegistry should use composition instead of inheritence
2019-04-05 14:14:10 -07:00
Changming Sun
867e961ee8 Remove mkldnn_sgemm from math_util.cc
If it is needed, it can be used explicitly in mkldnn provider.
2019-04-05 14:13:10 -07:00
Hariharan Seshadri
ffd9071168
expose graph node name returning non-zero status code (#714)
* Initial commit
2019-04-05 12:50:58 -07:00
Peng Wang (AI FWK)
f4021cf30a fix a minor inaccurate error message 2019-04-05 12:07:28 -07:00
Yufeng Li
ef9a4d98cb
Expose parallel execution option in C# API (#767)
* Expose parallel execution option

* delete unnesary file

* add doc

* update nuget retore to 4.3.0

* resolve comments

* remove unnessary file

* make git ignore csharp/Directory.Build.props

* fix yaml config for nuget 4.3
2019-04-05 12:05:56 -07:00
Changming Sun
43521c0de7 update 2019-04-04 21:22:27 -07:00
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