-
Notifications
You must be signed in to change notification settings - Fork 120
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
ONNX Runtime本体にマージされたRust実装を使う #427
Comments
issue作成ありがとうございます!! VOICEVOXのonnxruntime-rsはいくつかの変更が加わっていますが、これらの差分がなくても大丈夫なのかは検討しないとかも? |
また追加しなおす必要がありそうですね。 これの |
こちらのタスクですが、とりあえず本家onnxruntimeのリポジトリをforkしていろいろ進めています! fork側のissueはこちらです。 onnxruntimeリポジトリの修正は↑のissueで続けると良さそうで、 |
#725 により、一旦不要になったと思います。 |
内容
日本時間で2023年2月9日、ONNX Runtime本体へのRustバインディング追加のPRがマージされました。
まだ深く触れたりした訳ではないのですが、onnxruntime-rsとの最大の違いとしてはonnxruntime.dllの読み込みが
dlopen
/LoadLibrary*
ベースになったことが挙げられるのではないかと思います。DLLのパスを指定することもできます。ただし読み込んだDLLはEnvironment
共々OnceCell
で管理されるみたいなので、DLLの読み直しはできなさそうです。onnxruntime::environment::Environment::with_library_path
あとは
ORT_RUST_STRATEGY=compile
という指定でonnxruntime.dllのダウンロードするのではなく手元でCMakeする選択肢が入ったことでしょうか (あと何故かこっちがデフォルトになってます)。Pros 良くなる点
個人的な意見としては、
dlopen
/LoadLibrary*
ベースになったことはVOICEVOX COREにとっても大きいと思ってます。DLLが無いときには人間が読めるメッセージを出せますし、voicevox_core.dllの読み込みから
initialize
までの間にonnxruntime.dllをどっかからダウンロードしてくる機構も考えられます。あとはrpathの指定や$ORT_OUT_DIR
でのハックも不要になりますし、Python APIの取り回しも良くなるでしょう。Cons 悪くなる点
実現方法
必要であるならVOICEVOX/onnxruntimeとしてフォークし、onnxruntime-rsから切り替える。
VOICEVOXのバージョン
OSの種類/ディストリ/バージョン
その他
The text was updated successfully, but these errors were encountered: