QDucasse / nn_benchmark

🧠 Benchmark facility to train networks on different datasets for PyTorch/Brevitas
MIT License
24 stars 1 forks source link

Bump onnxruntime from 1.2.0 to 1.3.0 #2

Closed dependabot-preview[bot] closed 4 years ago

dependabot-preview[bot] commented 4 years ago

Bumps onnxruntime from 1.2.0 to 1.3.0.

Release notes

Sourced from onnxruntime's releases.

ONNX Runtime v1.3.0

Key Updates

General

  • ONNX 1.7 support
    • Opset 12
    • Function expansion support that enables several new ONNX 1.7 ops such as NegativeLogLikelihoodLoss, GreaterOrEqual, LessOrEqual, Celu to run without a kernel implementation.
  • [Preview] ONNX Runtime Training
    • ONNX Runtime Training is a new capability released in preview to accelerate training transformer models. See the sample here to use this feature in your training experiments.
  • Improved threadpool support for better resource utilization
    • Improved threadpool abstractions that switch between openmp and Eigen threadpools based on build settings. All operators have been updated to use these new abstractions.
    • Improved Eigen based threadpool now allow ops to provide cost (among other things like thread affinity) for operations
    • Simpler configuration of thread count. If built with OpenMP, use the OpenMP env variables; else use the ORT APIs to configure the number of threads.
    • Support for sessions to share global threadpool. See this for more information.
  • Performance improvements
    • ~10% average measured latency improvements amongst key representative models (including ONNX model zoo models, MLPerf, and production models shipped in Microsoft products)
    • Further latency improvements for Transformer models on CPU and GPU - benchmark script
    • Improved batch inferencing latency for scikit-learn models for large batch sizes
      • Significant improvements in the implementations of the following ONNX operators: TreeEnsembleRegressor, TreeEnsembleClassifier, LinearRegressor, LinearClassifier, SVMRegressor, SVMClassifier, TopK
    • C# API optimizations - PR3171
  • Telemetry enabled for Windows (more details on telemetry collection)
  • Improved error reporting when a kernel cannot be found due to missing type implementation
  • Minor fixes based on static code analysis

Dependency updates

Please note that this version of onnxruntime depends on Visual C++ 2019 runtime. Previous versions depended on Visual C++ 2017. Please also refer https://github.com/microsoft/onnxruntime/tree/rel-1.3.0#system-requirements for the full set of system requirements.

APIs and Packages

  • [General Availability] Windows Machine Learning APIs - package published on Nuget - Microsoft.AI.MachineLearning
    • Performance improvements
    • Opset updates
  • [General Availability] ONNX Runtime with DirectML package published on Nuget -Microsoft.ML.OnnxRuntime.DirectML
  • [General Availability] Java API - Maven package coming soon.
  • [Preview] Javascript (node.js) API now available to build from the master branch.
  • ARM64 Linux CPU Python package now available on Pypi. Note: this requires building ONNX for ARM64.
  • Nightly dev builds from master (Nuget feed, TestPypi-CPU, GPU)
  • API Updates
    • I/O binding support for Python API - This reduces execution time significantly by allowing users to setup inputs/outputs on the GPU prior to model execution.
    • API to specify free dimensions based on both denotations and symbolic names.

Execution Providers

  • OpenVINO v2.0 EP
  • DirectML EP updates
    • Updated graph interface to abstract GPU-dependent graph optimization
    • ONNX opset 10 and 11 support
    • Initial support of 8bit and quantized operators
    • Performance optimizations
  • [Preview] Rockchip NPU EP
  • [Preview] Xilinx FPGA Vitis-AI EP
  • Capability to build execution providers as DLLs - supported for DNNL EP, work in progress for other EPs.
    • If enabled in the build, the provider will be available as a shared library. Previously, EPs had to be statically linked with the core code.
Commits
  • eb5da13 Cherry pick fixes to release branch rel-1.3.0 (#3936)
  • d80e15f Fix DmlCopyTensor test (#3923) (#3925)
  • 18dc0ec Rework jar by creating os-arch folders (#3849)
  • c00945a Build ORT by default for Mac OS X versions 10.12+ (#3626)
  • 99415f0 Fix bug where linear_output_ is not cleared when linear_before_reset is true ...
  • 475ea38 Fix ACL EP convolution-activation fusion optimization (#3896)
  • f170f31 Extend workaround with input name matching in DML fused graph kernel (#3918)
  • 0f82b42 Ensure pt model is set to cpu in ort_trainer (#3867)
  • 2949617 Add Benchmark Script for Bert Models (#3829)
  • 2fed37c Fix bug in handling of an initializer that provides a graph output. (#3912)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking Bump now in your Dependabot dashboard.

Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 4 years ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.