Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge v2.0.0-rc.4, keeping ONNX Runtime v1.17 #7

Merged
merged 50 commits into from
Aug 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
05bc4fb
examples(webassembly): use MNIST as test model
decahedron1 Apr 27, 2024
8ae23f2
fix: stub c++ exception handling for wasm
decahedron1 Apr 27, 2024
80be206
chore(sys): update WASM build
decahedron1 Apr 27, 2024
9b8bdf9
docs: update readme
decahedron1 May 6, 2024
1c0a5e4
feat: direct downcasts of `ValueRef` & `ValueRefMut`
decahedron1 May 6, 2024
1d8b815
feat: implement more kernel attribute types
decahedron1 May 6, 2024
076ddf4
fix: kernel array attribute size type
decahedron1 May 6, 2024
ba0867d
fix: exclude null byte in string kernel attribute extraction
decahedron1 May 6, 2024
9c80410
fix: bad cfg values
decahedron1 May 20, 2024
58ba991
chore: remove old widestring error
decahedron1 May 20, 2024
ce5aaba
feat: add telemetry option to environment builder, closes #203
decahedron1 May 21, 2024
17b4170
chore: update ONNX Runtime to v1.18.0
decahedron1 May 26, 2024
943a797
fix(sys): update API to 1.18
decahedron1 May 26, 2024
fd41c8f
ci(test): run wasm test with `--debug`
decahedron1 May 26, 2024
9a7f046
Revert "ci(test): run wasm test with `--debug`"
decahedron1 May 26, 2024
9453d04
fix(wasm): disable `image::load_from_memory`
decahedron1 May 29, 2024
eb0f402
fix(wasm): update artifact
decahedron1 May 29, 2024
721bf00
ci(test): run if examples or dist.txt changed
decahedron1 May 29, 2024
5dce2c2
fix(sys): update windows artifacts to include DirectML again
decahedron1 Jun 3, 2024
1d89f82
feat(sys): support `pkg-config`
fkasischke Jun 5, 2024
b00c934
docs: nuke mintlify
decahedron1 Jun 8, 2024
812fdb0
config: add python venv to gitignore
decahedron1 Jun 8, 2024
23fce78
feat: option to error out session builder if EP registration fails
decahedron1 Jun 14, 2024
a92dd30
fix(sys): enable SOCKS proxy support, closes #210
decahedron1 Jun 17, 2024
19d66de
feat: MIGraphX execution provider, ref #212
decahedron1 Jun 20, 2024
c64b8ea
refactor: usability
decahedron1 Jun 21, 2024
882f657
fix: bundle libonnxruntime in rlib/staticlib builds (#215)
cagnolone Jun 21, 2024
668260c
fix: ARM build
decahedron1 Jun 21, 2024
860e449
fix: `i686-pc-windows-msvc` build (#218)
qryxip Jun 24, 2024
d59ac43
refactor: take `RunOptions` by reference, add `run_async_with_options`
decahedron1 Jun 30, 2024
8d1f6b6
feat: `OutputSelector`
decahedron1 Jun 30, 2024
8f8bbfb
chore: update to ONNX Runtime v1.18.1
decahedron1 Jun 30, 2024
e1d77b4
refactor: simplify `run_async`
decahedron1 Jul 1, 2024
920cee9
refactor: simplify logging function
decahedron1 Jul 1, 2024
3b93e73
chore: remove unused imports
decahedron1 Jul 1, 2024
a127d0f
refactor: typestate for `RunOptions` that have selected outputs
decahedron1 Jul 1, 2024
dc79ade
chore: more readable imports
decahedron1 Jul 1, 2024
b69f41d
feat: most missing custom operator methods
decahedron1 Jul 2, 2024
e59d0c7
fix arm build
decahedron1 Jul 2, 2024
66b0cb2
fix(sys): only link nsync if required, closes #223
decahedron1 Jul 2, 2024
bf10c18
docs: Add Magika to projects using ort (#224)
ia0 Jul 3, 2024
1bff72d
fix: TVM EP register function definition for non-`load-dynamic`, clos…
decahedron1 Jul 6, 2024
0407adb
fix: link missing absl libraries, closes #228
decahedron1 Jul 6, 2024
0a43482
feat: training (#202)
decahedron1 Jul 6, 2024
3dec017
2.0.0-rc.3
decahedron1 Jul 6, 2024
bb57252
fix(sys): more robust CUDA version check. fixes #234
decahedron1 Jul 7, 2024
b2f4e1f
fix: create an environment if one does not exist when registering Ten…
decahedron1 Jul 7, 2024
bc764d3
feat(sys): CUDA 12 + cuDNN 8 builds, ref #235
decahedron1 Jul 7, 2024
04da381
2.0.0-rc.4
decahedron1 Jul 7, 2024
45785b9
Merge tag 'v2.0.0-rc.4' into HEAD
qryxip Aug 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
- name: Check fmt
run: cargo fmt --all -- --check
- name: Run clippy
run: cargo clippy -p voicevox-ort --all-targets --workspace --features fetch-models
run: cargo clippy -p voicevox-ort --all-targets --features fetch-models
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ort-sys/src/lib.rsをv2.0.0-rc.2時点に留めていることで pykeio#202 で追加されたtraining機能のコンパイルが通らなくなっているため、examples/trainingをClippyの対象から外す。

APIの辻褄合わせはできるだろうが、我々が使わないであろうtraining機能を維持するよりは捨てる方向にした方がよいと思った。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

賛成です!

乖離しすぎるとそれはそれで追従が大変になってくるので、もしそうだったら再考してもいいかも。

coverage:
name: Code coverage
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ on:
paths:
- '.github/workflows/test.yml'
- 'src/**/*.rs'
- 'examples/**/*'
- 'ort-sys/**/*.rs'
- 'ort-sys/**/dist.txt'
- 'build.rs'
- 'Cargo.toml'
- '.cargo/**/*'
Expand All @@ -16,7 +18,9 @@ on:
paths:
- '.github/workflows/test.yml'
- 'src/**/*.rs'
- 'examples/**/*'
- 'ort-sys/**/*.rs'
- 'ort-sys/**/dist.txt'
- 'build.rs'
- 'Cargo.toml'
- '.cargo/**/*'
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ WixTools/
# ONNX Runtime downloaded models
**/*.onnx
**/*.ort
**/*.pbseq
!examples/webassembly/**/*.ort
!tests/data/*.onnx
!tests/data/*.ort
Expand All @@ -195,3 +196,9 @@ WixTools/

# Glassbench results
/glassbench*.db

# Python virtual environment
.venv*

# Training checkpoints
tools/train-data/**/checkpoint
11 changes: 7 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ members = [
'examples/model-info',
'examples/yolov8',
'examples/modnet',
'examples/training',
'examples/webassembly'
]
default-members = [
Expand All @@ -22,8 +23,8 @@ exclude = [ 'examples/cudarc' ]

[package]
name = "voicevox-ort"
description = "A safe Rust wrapper for ONNX Runtime 1.17 - Optimize and Accelerate Machine Learning Inferencing"
version = "2.0.0-rc.2"
description = "A safe Rust wrapper for ONNX Runtime 1.18 - Optimize and accelerate machine learning inference & training"
version = "2.0.0-rc.4"
edition = "2021"
rust-version = "1.70"
license = "MIT OR Apache-2.0"
Expand All @@ -45,7 +46,7 @@ strip = true
codegen-units = 1

[package.metadata.docs.rs]
features = [ "ndarray", "half", "operator-libraries", "fetch-models", "load-dynamic", "copy-dylibs", "__init-for-voicevox" ]
features = [ "ndarray", "half", "training", "operator-libraries", "fetch-models", "load-dynamic", "copy-dylibs", "__init-for-voicevox" ]
targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"]
rustdoc-args = [ "--cfg", "docsrs" ]

Expand All @@ -55,6 +56,8 @@ name = "ort"
[features]
default = [ "ndarray", "half", "download-binaries", "copy-dylibs" ]

training = [ "voicevox-ort-sys/training" ]

operator-libraries = [ "libc", "winapi" ]

fetch-models = [ "ureq" ]
Expand Down Expand Up @@ -90,7 +93,7 @@ anyhow = "1.0"
ndarray = { version = "0.15", optional = true }
thiserror = "1.0"
once_cell = "1.19.0"
voicevox-ort-sys = { version = "2.0.0-rc.2", path = "ort-sys" }
voicevox-ort-sys = { version = "2.0.0-rc.4", path = "ort-sys" }
libloading = { version = "0.8", optional = true }

ureq = { version = "2.1", optional = true, default-features = false, features = [ "tls" ] }
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
<hr />
<a href="https://app.codecov.io/gh/pykeio/ort" target="_blank"><img alt="Coverage Results" src="https://img.shields.io/codecov/c/gh/pykeio/ort?style=for-the-badge"></a> <a href="https://crates.io/crates/ort" target="_blank"><img alt="Crates.io" src="https://img.shields.io/crates/d/ort?style=for-the-badge"></a> <a href="https://opencollective.com/pyke-osai" target="_blank"><img alt="Open Collective backers and sponsors" src="https://img.shields.io/opencollective/all/pyke-osai?style=for-the-badge&label=sponsors"></a>
<br />
<a href="https://crates.io/crates/ort" target="_blank"><img alt="Crates.io" src="https://img.shields.io/crates/v/ort?style=for-the-badge&label=ort&logo=rust"></a> <img alt="ONNX Runtime" src="https://img.shields.io/badge/onnxruntime-v1.17.3-blue?style=for-the-badge&logo=cplusplus">
<a href="https://crates.io/crates/ort" target="_blank"><img alt="Crates.io" src="https://img.shields.io/crates/v/ort?style=for-the-badge&label=ort&logo=rust"></a> <img alt="ONNX Runtime" src="https://img.shields.io/badge/onnxruntime-v1.18.1-blue?style=for-the-badge&logo=cplusplus">
</div>

`ort` is an (unofficial) [ONNX Runtime](https://onnxruntime.ai/) 1.17 wrapper for Rust based on the now inactive [`onnxruntime-rs`](https://github.com/nbigaouette/onnxruntime-rs). ONNX Runtime accelerates ML inference on both CPU & GPU.
`ort` is an (unofficial) [ONNX Runtime](https://onnxruntime.ai/) 1.18 wrapper for Rust based on the now inactive [`onnxruntime-rs`](https://github.com/nbigaouette/onnxruntime-rs). ONNX Runtime accelerates ML inference and training on both CPU & GPU.

## 📖 Documentation
- [Guide](https://ort.pyke.io/)
Expand All @@ -24,11 +24,11 @@

- **[Twitter](https://twitter.com/)** uses `ort` to serve homepage recommendations to hundreds of millions of users.
- **[Bloop](https://bloop.ai/)** uses `ort` to power their semantic code search feature.
- **[pyke Diffusers](https://github.com/pykeio/diffusers)** uses `ort` for efficient Stable Diffusion image generation on both CPUs & GPUs.
- **[edge-transformers](https://github.com/npc-engine/edge-transformers)** uses `ort` for accelerated transformer model inference at the edge.
- **[Ortex](https://github.com/relaypro-open/ortex)** uses `ort` for safe ONNX Runtime bindings in Elixir.
- **[Supabase](https://supabase.com/)** uses `ort` to remove cold starts for their edge functions.
- **[Lantern](https://github.com/lanterndata/lantern_extras)** uses `ort` to provide embedding model inference inside Postgres.
- **[Magika](https://github.com/google/magika)** uses `ort` for content type detection.

## 🌠 Sponsor `ort`
<a href="https://opencollective.com/pyke-osai">
Expand Down
102 changes: 0 additions & 102 deletions docs/mint.json

This file was deleted.

5 changes: 5 additions & 0 deletions docs/next-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
11 changes: 11 additions & 0 deletions docs/next.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import nextra from 'nextra';

export default nextra({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.jsx'
})({
output: 'export',
images: {
unoptimized: true
}
});
23 changes: 23 additions & 0 deletions docs/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"private": true,
"name": "ort-docs",
"version": "0.0.0",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"next": "^14.2.3",
"nextra": "^2.13.4",
"nextra-theme-docs": "^2.13.4",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@types/node": "20.14.2",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"typescript": "^5.4.5"
}
}
5 changes: 5 additions & 0 deletions docs/pages/_app.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import font from 'next/font/google';

export default function App({ Component, pageProps }) {
return <Component {...pageProps} />;
}
37 changes: 37 additions & 0 deletions docs/pages/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"-- Links": {
"type": "separator",
"title": "Links"
},
"link-oc": {
"title": "Sponsor ↗",
"href": "https://opencollective.com/pyke-osai",
"newWindow": true
},
"link-api": {
"title": "API Reference ↗",
"href": "https://docs.rs/ort/2.0.0-rc.4/ort"
},
"link-crates": {
"title": "Crates.io ↗",
"href": "https://crates.io/crates/ort",
"newWindow": true
},
"-- Docs": {
"type": "separator",
"title": "Docs"
},
"index": "Introduction",
"setup": {
"title": "Setup"
},
"perf": {
"title": "Performance"
},
"troubleshooting": {
"title": "Troubleshooting"
},
"migrating": {
"title": "Migration & versioning"
}
}
Loading
Loading