Commit graph

41 commits

Author SHA1 Message Date
Yulong Wang
e9e6bedf37
[js/webgpu] generate operator table for webgpu (#15954)
### Description
[js/webgpu] generate operator table for webgpu
2023-05-20 12:20:41 -07:00
Yulong Wang
f3b8130d1a
[js/web] support npm run pull:wasm [buildID] (#15877)
### Description
support `npm run pull:wasm [buildID]`

remove `npm run pull:wasm:debug` as it can be simply replaced with `npm
run pull:wasm debug`.
2023-05-15 16:19:34 -07:00
Yulong Wang
357e6289be
[wasm] allow pull debug artifacts from script (#15859)
### Description
allow pull debug artifacts from script

`npm run pull:wasm` - to pull release artifacts
`npm run pull:wasm:debug` - to pull debug artifacts
2023-05-09 11:00:08 -07:00
Yulong Wang
4712009f8a
[js/web] add target ort.webgpu.min.js (#15780)
### Description
add target ort.webgpu.min.js

WebGPU is experimental feature, so I don't want to put webgpu into the
ort.min.js file. This change adds 2 ways for users to access ort-web
with webgpu:
- using script tag: by URL
`https://cdn.jsdelivr.net/npm/onnxruntime-web@1.15.0/dist/ort.webgpu.min.js`
( this URL is not ready yet )
- using `import()`: use `import { Tensor, InferenceSession } from
'onnxruntime-web/webgpu';` - 'onnxruntime-web/webgpu' instead of
'onnxruntime-web'
2023-05-04 10:05:39 -07:00
Changming Sun
1fb2f2605b
Update VERSION_NUMBER (#15773)
### Description

1. Update VERSION_NUMBER for preparing the upcoming release. This PR's
commit will not be included in the 1.15 release branch
2. Delete package/rpm/onnxruntime.spec since it was not used in past
years.

### Motivation and Context
Preparing the release.

Fixed
[AB#15311](https://aiinfra.visualstudio.com/6a833879-cd9b-44a4-a9de-adc2d818f13c/_workitems/edit/15311)
2023-05-03 15:07:34 -07:00
Yulong Wang
14cc02c65c
[js/web] WebGPU backend via JSEP (#14579)
### Description
This change introduced the following new components into ONNX Runtime
Web:
- JavaScript Execution Provider (JSEP)
  - Asynchronized inferencing execution powered by Emscripten's Asyncify
- WebGPU backend implemented in TypeScript
  - initial implementation of kernels:
    - elementwise operators (22)
    - binary operators (5)
    - tensor: Shape, Reshape, Transpose, Gemm
    - nn: Conv, {Global}Maxpool, {Global}AveragePool


Code need to be polished. still working on it.

## Q&A
What is JSEP?
> JSEP, aka JavaScript Execution Provider, is a new ONNXRuntime
execution provider that specifically works on Web environment
(browsers). JSEP allows JavaScript code to kick in from various places
when ONNX Runtime inferences a model.

Why JSEP?
> JSEP is a hybrid mode EP that contains both C/C++ and
TypeScript/JavaScript implementation. There are 2 strong reasons why we
introduces JSEP:
> 1. the C/C++ part helps JSEP to leverage ONNX Runtime's capabilities
as much as possible including graph transformer, optimizers and also the
capabilities to fallback to CPU EP. TypeScript/JavaScript helps JSEP to
develop and debug much easier in the browser for the kernel
implementation.
> 2. the requirement of asynchronized execution from JavaScript API (eg.
`buffer.mapAsync()`) makes it impossible to run `OrtRun()` in a
synchronized context (see "async problem" section below). This is done
by using Emscripten's Asyncify.

What is WebGPU?
> WebGPU is the new GPU API that available in browser. It's one of the
only 2 APIs that currently available to access the GPU from browser (the
other is WebGL).
> WebGPU is designed with more advanced and stronger features comparing
to WebGL and is potentially solution that offer the best GPU performance
for model inferencing that currently available.

What is the async problem and why we have the problem?
> The "async problem" is a problem that you cannot call an async
function in a synchronous context. Think about the following C++ code:
> ```c
> // C-style declarations (API)
> typedef void (*ON_COMPLETE)(PVOID state, DATA *data);
> void read_data_from_file(FILEHANDLE file, ON_COMPLETE on_complete);
> 
> // implementation
> DATA * my_impl_read_data_from_file_sync(FILEHANDLE file) {
>   // how to implement?
> }
> ```
> The answer is, it's impossible to implement this function. Usually we
try to find a sync version API, or launch a thread to call the async
function and sync-wait on the main thread. Unfortunately, in browser
environment, neither is possible.
>
> WebGPU does not offer any synchronized API for data downloading (GPU
to CPU). This is the only operation that MUST be async. As `OrtRun()`
will eventually call into DataTransfer for copy data from GPU to CPU,
and `OrtRun()` is a synchronized function, this cannot be done in normal
way.

What is Emscripten? How is the Asyncify feature resolved the problem?
> Emscripten is the C/C++ compiler for WebAssembly. It's what we use to
compile ORT and generates the WebAssembly artifacts which runs on
browsers.
>
> Asyncify is a [compiler
feature](https://emscripten.org/docs/porting/asyncify.html) that allows
calling async functions from a synchronized context. In short, it
generates code to unwind and rewind call stack to emulate async
execution. With this feature, we are able to call the async function
inside `OrtRun()` call.

## Design Overview

**Inter-op**

JSEP is doing pretty much same thing to just another EP. It exposes an
interface for inter-op with JavaScript, which is defined in
onnxruntime/wasm/js_internal_api.js:
```js
// init JSEP
Module["jsepInit"] = function (backend, alloc, free, copy, copyAsync, createKernel, releaseKernel, run) {
    Module.jsepBackend = backend;
    Module.jsepAlloc = alloc;
    Module.jsepFree = free;
    Module.jsepCopy = copy;
    Module.jsepCopyAsync = copyAsync;
    Module.jsepCreateKernel = createKernel;
    Module.jsepReleaseKernel = releaseKernel;
    Module.jsepRun = run;
};
```
This simple JavaScript snippet defines all language barrier level
functions that requires by JSEP to achieve implementing kernels and data
transfers using JavaScript inside ONNX Runtime:
- `jsepBackend`: assign the singleton object to webassembly module
- `jsepAlloc` and `jsepFree`: implementation of data transfer's Alloc()
and Free()
- `jsepCopy`: synchronized copy ( GPU to GPU, CPU to GPU)
- `jsepCopyAsync`: asynchronized copy ( GPU to CPU)
- `jsepCreateKernel` and `jsepReleaseKernel`: a corresponding object
that maintained in JS to match lifecycle of Kernel in ORT
- `jsepRun`: OpKernel::Compute() should call into this

The abstraction above allows to tie as little as possible connections
and dependencies between C/C++ and TypeScript/JavaScript.

**Resource Management**

Lifecycle of tensor data and kernels are managed by ORT(C/C++) but the
implementation are left to JavaScript. JavaScript code are responsible
to implement the callbacks correctly.

For WebGPU, the GPU data is managed by JavaScript using a singleton map
(tensot_data_id => GPUBuffer). GPU pipeline is managed as singleton.
Shaders are managed using a singletonmap (shader_key => gpu_program),
while shader_key is generated by cache_key (OP specific, including
attributes) and input shapes.

**about data transfer**
`js::DataTransfer::CopyTensor` implemented to call either synchronized
or asynchronized copy callback, depending on the destination is GPU or
not. Emscripten's macro `EM_ASYNC_JS` is used to wrap the async function
to be called in the synchronized context.

**run kernel in JS**

Kernel class constructor calls once `jsepCreateKernel()` with an
optional per-kernel specific serialization to pass attributes into
JavaScript.

`Compute()` are implemented in a way that a metadata serialization is
performed in a base class and JavaScript code can access the data using
the Emscripten specific builtin macro `EM_ASM_*`.

**disabled features**
memory pattern is force disabled, because the WebGPU data is not
presented by a general memory model (a buffer can be represented by
offset + size).
concurrent run support is disabled. WebGPU is stateful and it also has
async function call. To support concurrent run will significantly
increase the complexity and we don't get any real benefit from it.

**prefer channels last**
JSEP prefers channels last and returns `DataLayout::NHWC` in method
`GetPreferredLayout()`. This will let the graph transformers to
preprocess the graph into a channels last form so that a more optimized
WebGPU shader can be used.

**Testing code**
It's impossible to test JSEP directly because JSEP itself does not
contain any kernel implementation. However, it has the kernel
registration which need to work together with the corresponding
JavaScript code. There are unit tests that run onnx models from
JavaScript API.

---------

Co-authored-by: Scott McKay <skottmckay@gmail.com>
2023-04-24 15:21:18 -07:00
Yulong Wang
f972d21e81
[js] upgrade dependencies and enable strict mode (#14930)
### Description
This PR includes the following changes:
- upgrade js dependencies
- enable STRICT mode for web assembly build.
- corresponding fix for cmake-js upgrade
- corresponsing fix for linter upgrade
- upgrade default typescript compile option of:
    - `moduleResolution`: from `node` to `node16`
    - `target`: from `es2017` to `es2020`
- fix ESM module import in commonJS source file

## change explanation

### changes to onnxruntime_webassembly.cmake
`-s WASM=1` and `-s LLD_REPORT_UNDEFINED` in latest version is
by-default and deprecated.

### changes to onnxruntime_node.cmake
The npm package `cmake-js` updated its way to find file `node.lib`.
previously it downloads this file from Node.js public release channel,
and now it generates it from a definition file.

The node.js release channel does not contain a windows/arm64 version, so
previously cmake-js will fail to download `node.lib` for that platform.
this is why we made special handling to download the unofficial binary
to build. now this is no longer needed so we removed that from the cmake
file.

### changes to tsconfig.json
`node16` module resolution supports async import and `es2020` as target
supports top level await.
2023-03-22 15:05:04 -07:00
Yulong Wang
cfb6e528c8
[js/web] remove 'module' field from package.json (#14532)
### Description
this is a workaround for
[#14529](https://github.com/microsoft/onnxruntime/issues/14504) when
consuming onnxruntime-web as ES module.
2023-02-02 13:46:57 -08:00
Rui Ren
eacd829d23
Bump ORT version number (#14226)
### Description
Bump ort version after the creation of release candidate of 1.14

Co-authored-by: ruiren <ruiren@microsoft.com>
2023-01-26 12:33:47 -08:00
dependabot[bot]
3c695f78fe
Bump electron from 15.5.5 to 18.3.7 in /js/web (#13617)
Bumps [electron](https://github.com/electron/electron) from 15.5.5 to
18.3.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/electron/electron/releases">electron's
releases</a>.</em></p>
<blockquote>
<h2>electron v18.3.7</h2>
<h1>Release Notes for v18.3.7</h1>
<h2>Fixes</h2>
<ul>
<li>Fixed WCO not responding to touch events on windows. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35177">#35177</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35176">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/35174">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed <code>webContents.getUserAgent()</code> incorrectly returning
an empty string unless previously set. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35130">#35130</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35151">17</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/35132">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/35131">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue in which calling setBounds() after e.preventDefault
in a 'will-move' or 'will-resize' event wouldn't change the window's
shape until the mouse button was released. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35082">#35082</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35083">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/35084">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed context menu not showing all items on macOS when dock is not
hidden. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35198">#35198</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35199">19</a>)<!--
raw HTML omitted --></li>
<li>None. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35171">#35171</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35172">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/35173">20</a>)<!--
raw HTML omitted --></li>
</ul>
<h2>Other Changes</h2>
<ul>
<li>Fixed page size always being restricted to 4k on Linux arm64. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35184">#35184</a></li>
<li>Security: backported fix for CVE-2022-2478. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35099">#35099</a></li>
<li>Security: backported fix for chromium:1334864. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35097">#35097</a></li>
</ul>
<h2>electron v18.3.6</h2>
<h1>Release Notes for v18.3.6</h1>
<h2>Fixes</h2>
<ul>
<li>Fixed a crash when calling <code>BrowserWindow.setEnabled()</code>.
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34973">#34973</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34971">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34972">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed a potential crash when changing window settings after
initializing WCO with an invalid <code>titleBarStyle</code>. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34873">#34873</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35031">17</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34874">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34875">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed alwaysOnTop BrowserWindow option for X11 Linux. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34911">#34911</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34912">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34913">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue where BrowserWindows on macOS were incorrectly marked
as resizable. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34907">#34907</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34906">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34433">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue where Windows Control Overlay buttons did not respect
maximizable/minimizable/closable states of a BrowserWindow. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34720">#34720</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34733">17</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34722">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34721">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue where calling
<code>BrowserWindow.setRepresentedFilename</code> on macOS with
<code>titlebarStyle: 'hiddenInset'</code> or <code>titlebarStyle:
'hidden'</code> inadvertently moves the traffic light location. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34847">#34847</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34848">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34849">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue where some <code>BrowserWindow</code>s opened from
new links wouldn't properly load URLs. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34910">#34910</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34189">19</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue where the minimize button with WCO enabled would
incorrectly be highlighted in some cases. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34838">#34838</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34837">17</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34839">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34840">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed an issue with background colors being improperly applied to
<code>BrowserView</code>s on Windows. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/33478">#33478</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/33546">16</a>)<!--
raw HTML omitted --></li>
<li>Fixed empty app_id when running under wayland. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34877">#34877</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34878">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34879">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed missing Sec-CH-UA headers and empty navigator.userAgentData.
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34758">#34758</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34760">17</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34757">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/34524">20</a>)<!--
raw HTML omitted --></li>
<li>Fixed symbol generation on 32-bit Windows release builds. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35096">#35096</a>
<!-- raw HTML omitted -->(Also in <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35090">19</a>,
<a
href="https://github-redirect.dependabot.com/electron/electron/pull/35091">20</a>)<!--
raw HTML omitted --></li>
<li>Prevent brief display of &quot;Ozone X11&quot; in window title on
Linux. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34943">#34943</a></li>
</ul>
<h2>Other Changes</h2>
<ul>
<li>Backported fix for CVE-2022-2294. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34882">#34882</a></li>
<li>Security: backported fix for 1287804. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35102">#35102</a></li>
<li>Security: backported fix for 1333333. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34689">#34689</a></li>
<li>Security: backported fix for 1335054. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34687">#34687</a></li>
<li>Security: backported fix for 1335458. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34685">#34685</a></li>
<li>Security: backported fix for 1336014. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35004">#35004</a></li>
<li>Security: backported fix for 1339844. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35002">#35002</a></li>
<li>Security: backported fix for 1340335. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/35000">#35000</a></li>
<li>Security: backported fix for 1340654. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34998">#34998</a></li>
<li>Security: backported fix for CVE-2022-2162. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34714">#34714</a></li>
<li>Security: backported fix for CVE-2022-2295. <a
href="https://github-redirect.dependabot.com/electron/electron/pull/34881">#34881</a></li>
</ul>
<h2>electron v18.3.5</h2>
<h1>Release Notes for v18.3.5</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dee6e01e9e"><code>dee6e01</code></a>
Bump v18.3.7</li>
<li><a
href="483e39cc74"><code>483e39c</code></a>
chore: cherry-pick 97193a64b431 from chromium (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35184">#35184</a>)</li>
<li><a
href="cd7490d233"><code>cd7490d</code></a>
fix: consider dock space when showing menu (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35198">#35198</a>)</li>
<li><a
href="b990bd6c97"><code>b990bd6</code></a>
fix: allow setsize to be called within a move or resize for
preventDefault (#...</li>
<li><a
href="56a0b45ef2"><code>56a0b45</code></a>
fix: modify file extension generation on Windows (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35171">#35171</a>)</li>
<li><a
href="5871f81bb9"><code>5871f81</code></a>
fix: touch events not recognized by WCO on windows (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35117">#35117</a>)
(<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35177">#35177</a>)</li>
<li><a
href="511f27506f"><code>511f275</code></a>
ci: turn off windows on arm test result comments (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35167">#35167</a>)</li>
<li><a
href="8189ee64b9"><code>8189ee6</code></a>
chore: add electron deps to //src gitignore (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35148">#35148</a>)</li>
<li><a
href="cc52f07023"><code>cc52f07</code></a>
ci: switch to GHA for WOA (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35127">#35127</a>)</li>
<li><a
href="890adefb95"><code>890adef</code></a>
docs: new main -&gt; renderers messageChannel example (<a
href="https://github-redirect.dependabot.com/electron/electron/issues/35133">#35133</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/electron/electron/compare/v15.5.5...v18.3.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=electron&package-manager=npm_and_yarn&previous-version=15.5.5&new-version=18.3.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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`.

[//]: # (dependabot-automerge-start)
Dependabot will merge this PR once CI passes on it, as requested by
@fs-eire.

[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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

You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/onnxruntime/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 14:58:09 -08:00
Yulong Wang
cc0a6213e4
[js] update versions of a few build dependencies (#13977)
### Description
update versions of a few build dependencies for onnxruntime NPM
packages.

update nodejs version to v16.x in linux CI. v12 is too out-of-dated. see
[nodejs release
schedule](https://github.com/nodejs/release#release-schedule)

### Motivation and Context
- upgrade to latest webpack allows using of latest Node.js LTS version.
previous version of webpack does not work on Node.js v18 and it is fixed
in latest version
- upgrade to latest typescript, ts-loader and other dev deps to
accelerate the build and bundling.
- upgrade also helps to resolve security warnings that may be vulnerable
in out-of-dated version
2022-12-16 17:26:54 -08:00
Jian Chen
397edf9918
Bumping up version number to 1.14.0 on main branch (#13401)
### Description
Bumping up version number to 1.14.0



### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2022-10-21 19:16:44 -04:00
Yulong Wang
5be3e87c71
[js] upgrade minimist@1.2.6 (#12689) 2022-08-25 01:40:42 -07:00
RandySheriffH
0264a9c29b
Bump ort version number (#11948)
* bump ort version number

* update link and note url

* update version to silence assert

Co-authored-by: Randy Shuai <rashuai@microsoft.com>
2022-07-22 12:55:53 -07:00
Yulong Wang
0c78b71352
prepare test folder from GitHub (#12220)
* consume onnx test data from github

* ensure tests

* update script and allow opset specification

* fix python format

* fix python format

* consume new filter format

* fix linting error
2022-07-20 22:01:08 -07:00
dependabot[bot]
c0dd9be7ba
Bump electron from 13.6.6 to 15.5.5 in /js/web (#11884)
Bumps [electron](https://github.com/electron/electron) from 13.6.6 to 15.5.5.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v13.6.6...v15.5.5)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-28 15:50:44 -07:00
dependabot[bot]
04fe1bd2ed
Bump electron from 12.2.3 to 13.6.6 in /js/web (#10978)
Bumps [electron](https://github.com/electron/electron) from 12.2.3 to 13.6.6.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v12.2.3...v13.6.6)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 12:51:56 -07:00
Chi Lo
8ba52b0a05
Bump master version to 1.12 (#10797)
* bump master version to 1.11

* bump master version to 1.12
2022-03-28 12:30:11 -07:00
Yulong Wang
80917342b7
[js] upgrade mocha@8.2.1 to 9.2.1 (#10793) 2022-03-07 20:40:24 -08:00
Sunghoon
a7f6442c45
[js] release pipeline for web and react native (#10656)
* skip browserstack test at release pipeline

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* pool name as a parameter to run at lotus

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

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

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

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

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

* create a packaging pipeline for web

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

* make web-ci-pipeline as a template

* make web-ci-pipeline as a template

* make web-ci-pipeline as a template

* make web-ci-pipeline as a template

* change a paramter name checking a pipeline

* make a pool name changable for react native pipeline

* disable code sign validation for react native

* fix react native package.json publish

* fix indentation

* remove unnecessary comment

* test onnxruntime-common package publish

* ts and js files use lf as eol for windows

* use Linux style of ending line break

* change newLine at only tsconfig.json

* restore a commented code

* fix git restore directory for npm packaging

* fix a typo

* force eol to lf on windows for js directory in CI
2022-03-01 21:38:33 -08:00
jingyanwangms
8043a9facc
Bump master version to 1.11 (#9957)
* Bump master version to 1.11

* Update Windows AI version

* update version in onnxruntime_c_api.cc
2021-12-14 23:32:06 -08:00
Yulong Wang
a3ebc5e082
[js/web] do not use nodejs type 'Buffer' in web (#9839)
* [js/web] do not use nodejs type 'Buffer' in web

* resolve comments and validate tests

* remove 'Buffer' in test
2021-11-24 14:14:42 -08:00
Yulong Wang
74ca417c0e
[js/web] optimize bundle file size (#9817)
* es2017 by default for ort-common

* add visualizer and define plugin

* es2017 for ort-web. also add build target for es5

* add multiple reduced size build for ort-web

* resolve comments, add e2e tests and add docs
2021-11-22 13:56:55 -08:00
Yulong Wang
31dc768e07
update ONNX Runtime Web CI to use same script for package versioning (#9698)
* use ps script for package generating

* allow e2e test has no common pkg
2021-11-10 12:52:34 -08:00
Yulong Wang
1527af3e30
[js/web] deduplicate test cases between opsets (#9327)
* [js/web] deduplicate test cases between opsets

* fix eslint error
2021-10-12 22:37:19 -07:00
Ye Wang
4934455ab6
Bumping up to 1.10 (#9006)
* bump to 1.10

* Update Versioning.md

* Update README.rst

* Change opset version to 15
2021-09-22 16:34:28 -07:00
Ye Wang
e2194797a7
bumping up to version 1.9 (#8982)
* bump up version

* makes the windowAI column align with ORT version

* update the hardcoded version string

* fix a typo
2021-09-07 14:30:55 -07:00
Yulong Wang
206537936f
[js/web] enable proxy worker for wasm backend (#8862) 2021-08-31 10:23:42 -07:00
Guoyu Wang
52a212e4f1
Bump ORT master version to 1.8.2 (#8646) 2021-08-09 11:10:29 -07:00
harshithapv
0f989c6162
bumping onnxruntime version to 1.8.1 (#8429) 2021-07-19 16:48:56 -07:00
Yulong Wang
a272a75cd1
[js/web] allow pull wasm artifacts from CI (#7886)
* [js/web] allow pull wasm artifacts from CI

* resolve comments
2021-06-02 17:49:12 -07:00
Yulong Wang
ccdedf1b2e
[js] update documents (#7852)
* [js] update documents

* escape double quotes

* update operators.md

* resolve comments
2021-05-27 14:51:57 -07:00
Yulong Wang
21ff8fabe9
[js/web] fix webpack config for onnxruntime-web (#7785)
* fix webpack config for onnxruntime-web

* fix regex of .worker.js file

* fix regex

* fix for testrunner

* fix require('..') in test-main
2021-05-21 19:18:22 -07:00
Yulong Wang
c91602070d
[js] update version of package "onnxruntime-web" and "onnxruntime-react-native" (#7769) 2021-05-20 09:52:34 -07:00
Yulong Wang
97d9bcd644
[js/web] fix bundle for multi-thread, add e2e test and support nodejs (#7688)
* fix bundle for multi-thread, add e2e test and support nodejs

* add copyright banner

* resolve comments

* add comments for isMultiThreadSupported()
2021-05-14 18:15:38 -07:00
Yulong Wang
ec885040ef
[js] specify correct config for terser (#7627)
* add copyright banner

* fix worker loading failure

* add a section in document for formatter and linter
2021-05-10 11:50:39 -07:00
Yulong Wang
bdefc6c4d8
[js/web] support multi-thread for wasm backend (#7601) 2021-05-07 12:12:37 -07:00
Yulong Wang
8eaa4c33e2
[js] fix library bundling and some trivial improvement (#7550)
* [js] fix library bundling

* fix filename in code comments
2021-05-03 18:31:55 -07:00
Yulong Wang
3600c3e66e
[js/web] integrate latest changes from onnxjs (#7535)
* [js/web] integrate latest changes from onnxjs

* apply ESLint rules: filename-case and header

* remove filename-case rule for wasm .d.ts
2021-05-03 15:03:25 -07:00
Yulong Wang
add4e4225b
[js/web] fix pacakge metadata of onnxruntime-web (#7543) 2021-05-02 13:26:07 -07:00
Yulong Wang
4ebc9c3b5e
[JS] onnxruntime-web (#7394)
* add web

* add script and test

* fix lint

* add test/data/ops

* add test/data/node/ to gitignore

* modify scripts

* add onnxjs

* fix tests

* fix test-runner

* fix sourcemap

* fix onnxjs profiling

* update test list

* update README

* resolve comments

* set wasm as default backend

* rename package

* update copyright header

* do not use class "Buffer" in browser context

* revise readme
2021-04-27 00:04:25 -07:00