Commit graph

489 commits

Author SHA1 Message Date
Changming Sun
3cd448e05a Fix: IExecutionProvider::GetCapability returns redundant subgraphs 2019-03-07 17:25:31 -08:00
Faith Xu
e272feb60d Readme updates (#570)
* Update readme

* Update table

* Formatting updates

* Formatting

* Formatting

* Update README.md

* Minor updates

* Update README.md

* Update README.md
2019-03-07 16:19:11 -08:00
jignparm
a79c09388f
Fix GPu package testing for CAPI (#569) 2019-03-07 14:51:18 -08:00
Changming Sun
d40a9f894f
Enable Component Detection (#559)
* Enable Component Detection
2019-03-07 11:07:35 -08:00
Xavier Dupré
b4ffcf8258
Fixes #31, add option numpy_version, skip_keras_test to the parser of build.py, add flag PRIVATE for the python bindings (#544)
* add option numpy_version to build against the installed numpy version and not 1.15.0 (hardcoded version number), default is still 1.15.0
* add option skip_keras_test to skip keras test even if keras is installed (still enabled by default)
disable unnecessary warnings about ubuntu
* enable option PRIVATE for the compilation of the Python bindings (settings recommended on pybind11 documentation)
* test on debian 9
2019-03-07 13:08:02 +01:00
jignparm
4635bcc624 Updating C_API end-to-end test and user samples (#564)
* Updating user sample and C_API unit test

* remove debugging info

* remove precompiled headers

* header file location changed in master...updating
2019-03-07 00:28:15 -08:00
David Fan
b68079fe5d
Support int32_t for Split op (#563)
* Support int32_t for Split op

* Support int32_t for Split op
2019-03-07 00:13:11 -08:00
Ryan Hill
af9c554dd3
Ryanunderhill/custom op (#550)
* Prototype version that demonstrates it can work
* Switched to OrtValue and removed the OrtCustomOpTensor code.
* Support multiple outputs and reading of attributes
* Add custom domain handling to custom ops
* Update documentation
* more wording changes
2019-03-06 19:09:55 -08:00
jignparm
0b143d0703
Fix parentheses and commas (#560) 2019-03-06 18:01:49 -08:00
shahasad
b247fced3b
Linux and MacOS C api packaging (#555)
* added linux packaging template and pipeline

* Update linux-packaging-pipeline.yml for Azure Pipelines

* fix path seperator

* update copy command for linux

* fixed linux gpu artifact name, added mac build

* fixed linux gpu artifact name, added mac build

* fixed vmImage syntax

* use 1 model at a time for macos

* added onnx test on Mac CI

* some refactor of the pipeline scripts

* try fixing the tensorproto for x86 build

* try __cdecl

* try C-style cast

* use ORTAPICALL

* put the deleter under the namespace
2019-03-06 14:56:53 -08:00
Faith Xu
98a9c0e715 Fix json error (#557) 2019-03-06 14:53:07 -08:00
Scott McKay
0e65bfe7ae
Remove caching from InferenceSession::Run (#547)
* Remove caching from InferenceSession::Run

* Fix automatic merge of one file

* trigger rerunning checks
2019-03-06 14:29:42 -08:00
Dmitri Smirnov
54eeb7394a
Implement Scatter. (#523)
Implement Scatter.
  Allow reuse of input Tensor for Output.
  Uncomment Scatter tests.
  Comment out StringNormalizer python tests.
2019-03-06 13:19:58 -08:00
Changming Sun
cf41f76d79
Fix some warnings (#551) 2019-03-06 11:46:59 -08:00
Pranav Sharma
714d4100bd
Update documentation to include openmp dependency. (#545)
* Update documentation to include openmp dependency.

* Update python docs as well
2019-03-05 22:38:40 -08:00
Changming Sun
8e0fff7b8d
Support large model(>2GB) (#520)
1. Support the new external data extension in ONNX 1.4 onnx/onnx#678
2. Enable onnxruntime_perf_test in Mac Build
3. move path_lib.h from onnx_test_runner source dir to onnxruntime_framework
4. Enable memory planner for string tensors
5. Make memory planner always enabled, to simplify model loading logic
6. Delete some duplicated code between onnxruntime_perf_test and onnx_test_runner
7. Delete win_getopt_mb lib.
8. Remove the dependency on Pathcch lib, which is only available on Windows 8 and newer.
2019-03-05 21:27:12 -08:00
shahasad
a4a459477a
Windows packaging build pipeline for C-api packages (CPU and GPU) (#535)
* added packaging pipeline

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* put the c-api header file at root instead of under core/session

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* Update win-ci-pipeline.yml for Azure Pipelines

* parameterize the windows build script

* Update win-package-pipeline.yml for Azure Pipelines

* fixed indenting

* fixed indenting

* fix parameter reference syntax

* try using arch = amd64 for the vcvarsall

* remove duplicate tasks

* use vcvarsall

* some more refactor

* fix typo

* fix typo

* factored out the packaging step into a template

* add x86 build to package pipeline

* use amd64 for vcvars arg

* added gpu pipeline. added msbuild platform param

* fix the msbuild platform

* use amd64 host for x86 build

* use buildarch=x86 for vcvarsall

* remove vcvars from setup steps

* add some logging for PNG lib, and disable fns_candy demo for win32

* set allocator alignment to 32 bit for win32 compiler

* disable parallel execution test for x86

* use 64 bit toolchain for x86 build

* add missing -T flag for toolset

* fix string delimietr in workingdirectory name for package build test step

* fix gpu pipeline

* make io_types test conditional

* use cuda 10 instead of cuda 9.1, similar to the ci build

* try some workaround on the io test

* undo inadvertent local change in build.py, also reenable the io test

* make all test run single threaded

* blacklist few failing tests for x86

* added some log in build.py

* edit build.py to disable parallel test

* add the failed tests into the blacklist for win32

* add tf_pasnet_large to blacklist

* change control flow for build.py onnx tests

* add README, license and TPN to the package

* updated build.py test sequence for parallel executor

* updated onnx test flow as per review comment

* add type checking log in the compare_mlvalue

* fix type cast

* blacklist some failed test as of now

* one more blacklisted test
2019-03-05 18:12:02 -08:00
Faith Xu
3a2f6c6964 Update cgmanifest and TPN (#529)
* Update cgmanifest 

...to include all custom registered CG components

* Update cgmanifest.json

* Updates based on feedback

* Remove .NET (auto-detected)

* Add registrations

* Update TPN

* Remove google/protobuf 

dup of protocolbuffers/protobuf

* Update TPN with google/re2

* Remove libpng
2019-03-05 17:22:39 -08:00
jignparm
94bd74190a
Revert to cuda 9.1 for package release (#546) 2019-03-05 17:20:51 -08:00
Ke Zhang
47a9abd212
minor change for validating input types (#532)
* minor changes for ValidateInput in inferencesession level api.

* update

* valid real graph input and don't validate initializers

* refine the validation logic.

* remove the unnecessary validatation test.

* ensure that the exact input feeds provided from caller.

* fix tests.

* fix c# test failure.

* fix test case

* don't verify the error message which is hard to maintain.

* fix c# test case

* c# test

* c# test

* fix test cases.

* test update
2019-03-05 16:29:39 -08:00
Changming Sun
bfa21c0b9f Re-enable the tests disabled during C API renaming 2019-03-05 16:06:38 -08:00
jignparm
1288a8caed
Initial check-in to support non-tensor (sequence/map) types (#527)
* Initial check-in to support non-tensor (sequence/map) types

* Added support for String tensors

* address PR comments
2019-03-05 16:00:40 -08:00
Hariharan Seshadri
1d3fcc525a
deps: update onnx to a newer commit and update test exclusions (#542)
* Update onnx dep to a newer commit and update test exclusions

* Keeping shrink excuded in c++ tests

* More changes
2019-03-05 12:03:16 -08:00
Du Li
30be4c1ef8
Fix a bug in test data (#539)
* Fix a bug in test data
2019-03-05 11:23:21 -08:00
Raymond Yang
f5dfbba655
Clarify numpy version requirement (#537)
* update packaging numpy version to 1.15.0

* update version in numpy version in linux

* Install numpy 1.15.0

* Finish up numpy requirement after test

* Try fix

* Fix ci script
2019-03-05 11:07:28 -08:00
Yulong Wang
7aba5fe523
perf_test_runner: support specifying thread number (#538) 2019-03-04 16:17:01 -08:00
Randy
4c684a133a
bump up version to 0.3.0 (#536)
* bump up version to 0.3.0

* change to op9 and cuda9.1
2019-03-04 13:41:53 -08:00
Weixing Zhang
8a59287c46
Create OptimizerExecutionFrame for graph optimization (#526)
* Create OptimizerExecutionFrame for optimizer

With this change, optimizer can easily invoke CPU kernels for graph optimization.
2019-03-04 10:56:41 -08:00
Randy
290c472839 remove mkldnn from linux packages (#533) 2019-03-03 20:52:27 -08:00
Hariharan Seshadri
a697e0b710
Implement Shrink operator (#485)
* Initial commit

* Adding shrink tests

* Fix formatting in shrink_test.cc

* Fix broken build

* More changes

* PR feedback and formatting

* Place files in the right location corresponding to def file location in onnx

* Exclude shrink model test in test_series.py

* Remove shrink from exclusion list in main.cc

* Adding test to exclusion list

* More tests

* Formatting

* PR feedback

* PR feedback

* More changes

* PR feedback

* More changes

* Fix broken build

* Fix nit

* Fix nit
2019-03-01 12:51:22 -08:00
Raymond Yang
9fb80ea927 Fix cast optimizer (#524) 2019-02-28 13:35:52 -08:00
Scott McKay
2e6ec07d9a
Check some return status values that were ignored and add logging of any error messages in onnxruntime_perf_test. (#525) 2019-02-27 20:20:06 -08:00
Scott McKay
6c7099a18e
Break dependency on SessionState for ExecutionFrame and OpKernelContext so optimizers can execute a node with a minimal setup (#498)
* Break dependency on SessionState for ExecutionFrame and OpKernelContext so optimizers can execute a node with a minimal setup.

- Create IExecutionFrame
  - split out core logic and interface from extended logic used in full Graph execution (that uses allocation plan and memory pattern planner)
- Update NodeIndexInfo to allow contruction from a subset of nodes
  - split out logic from GraphNodes into a re-usable template so it can be used with a vector of const Node* as well as a vector of unique_ptr<Node>
- Remove SessionState from OpKernelContext
- Misc cleanups
  - move AllocPlanPerValue out of SequentialExecutionPlan as it's used in a more generic manner that isn't specific to a sequential execution plan

NOTE: I manually tested the new paths, especially NodeIndexInfo. There will shortly be optimizers added that use the new infrastucture so they'll get test coverage as part of those changes.

* Fix linux build issue.
Handle graph with no nodes in NodeIndexInfo.
2019-02-27 15:46:50 -08:00
Scott McKay
dfa21af302
Update C API to allow user to enable caching of feeds and fetches info across calls to Run (#522)
* Add ability to enable caching to the C API, and update the internals to pass the feed names and MLValue instances in vectors so the order is deterministic (so cache entry matching works as expected).

* Address PR comment and don't use 'bool'

* Remove meaningless C# test around duplicate input.

We _could_ check input names for duplicates (previously we did this via the usage of unordered_map), but the system will gracefully handle with the duplicate anyway (will just use the last value provided for the input name).

Based on that, I don't think the cost of checking for duplicates is worth it.

* Fix c-style cast in test_run_options.
2019-02-27 13:41:17 -08:00
Faith Xu
96d5211869
Update cgmanifest (#502)
* Update cgmanifest 

...to include all custom registered CG components

* Update cgmanifest.json

* Updates based on feedback

* Remove .NET (auto-detected)
2019-02-27 12:01:24 -08:00
Yang Chen
6e79c93dd2
replaced onnx namespace with ONNX_NAMESPACE (#519) 2019-02-25 22:25:41 -08:00
jignparm
bdf72ad5e3
Update C-API with working example (#503)
* Add working example of C-API

* Section formatting

* Shortened example, and grouped by functionality

* Update C_API.md
2019-02-25 19:06:51 -08:00
Pranav Sharma
0b841c3bd4
Fix various issues with murmurhash. (#514)
* Fix murmurhash when multiple strings are in the input. Also add an attribute to specify output type like sckitlearn. Add type inference to decide output type based on this attribute.

* Address PR comment
2019-02-25 09:58:18 -08:00
shahasad
f9bae489bd
cleanup extra header from c api and sanitize C api test (#517)
* cleaned up the additional header in C-api

* ensure test failure surfaces in the build pipeline

* sanitized runtest.bat

* cleanup unneeded headers

* formatting and typos
2019-02-24 21:06:54 -08:00
jignparm
668fcf22d8
Update InferenceTestCapi.cpp (#516)
* Update InferenceTestCapi.cpp

* switch cwd to folder containing model

* Update

* minor logging
2019-02-24 17:30:33 -08:00
Pranav Sharma
2f1e883c71
Don't use mkldnn and tvm for release pkgs. (#511)
* support non-tensor types

* support non-tensor types.

* support non-tensor types.

* fix compilation issues

* fix compilation issues

* Build without mkldnn for release packages. We'll default to MLAS.

* Remove tvm as well

* Add openmp
2019-02-22 19:29:06 -08:00
Changming Sun
4c7fd49949
Add a few benchmarks (#512)
* Add a few benchmarks
2019-02-22 13:19:54 -08:00
Scott McKay
5171e8b129
Make IExecutionProvider::Type return const std::string& instead of a new string. (#506)
Store the type string in IExecutionProvider so that Type() doesn't need to be a virtual.
2019-02-22 18:27:01 +10:00
Scott McKay
d6a70470dd
Update build.md to say CUDA 10 should work with any VS2017 version. (#507) 2019-02-22 11:05:08 +10:00
jignparm
9d14cbdb1a
Throw friendly error message when Linux distribution has libc version < 2.23 (#493)
* Add check for linux version supporting glibc 2.23 or higher

* Refactor the libc check to SessionOptions

* removed whitespace

* Update SessionOptions.cs
2019-02-21 11:34:44 -08:00
shahasad
62bbe8de40
fix downcast errors in 32-bit build (#501) 2019-02-21 10:05:08 -08:00
Hariharan Seshadri
c2b8ac0154
MatMul op: Support new integer types and double type as part of opset V9 compliance (#482)
* Support new integer types and double type as part of opset V9 compliance
2019-02-20 17:03:37 -08:00
Changming Sun
b69c834c06 Optimize graph partition 2019-02-20 16:32:04 -08:00
Dmitri Smirnov
0e687a2c90
Implement tokenex regular expression matching and add tests. (#480)
* Implement tokenex regular expression matching and add tests.
  Import re2 module.
2019-02-20 15:56:32 -08:00
Changming Sun
b02c1d80d4 Fix an SAL annotation in the C API 2019-02-20 12:51:00 -08:00