-
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
onnxruntime-rsからortに乗り換える #718
Comments
賛成です! 乗り換えコストと恩恵どっちが大きそうか分からなかったのですが、メンテされているライブラリに乗っかるのは基本的に正義だと思うのでそちらが良いのかなと思いました。 |
リポジトリには 以下v2を見た感触です。
|
お~~~ なるほどです!! 依存をortへ変更していくタイミングですが、いつが良さそうでしょうか? 個人的には、ちょっとコア周りのタスクがいっぱいある現状がちょっと片付くのを待てるから嬉しいな~というのと、一般論としてやはりメジャーアプデしてしばらく経ってからが良いのかな~とか思っています。 あ、VVM asyncのタイミングに合わせる・合わせないの思いは自分的に特に無いです。 |
#721, VOICEVOX/voicevox_project#24, ONNX Runtimeのv1.16化の3つを合わせると、コアv0.15に合わせるのがよいのかなと思ってます。 2月にまとめてできればとよいなと思っています。少なくともortへの移行は名無し。さんと白緑さんが前試してましたし、そんなに労力はかからないかなと。 |
あ~なるほどです。dlopenとかは特に大きめではありますね! ortが2月もずっとv2-alphaだったらどうすべきか悩みそうですね・・・。 |
個人的にはalphaでも強行していいかなと思っています。メンテされていないものを自力メンテして使うよりはましではないかなと(今回のortの場合フォークして改造する手間もおそらくそんなに無いわけですし)。 あと移行の労力についてもそんなに無いと思ってます。ちょっとさっきまで航空機内と空港の充電スペースでortへの切り替えをやってみたのですが、Linux/CPUでテストを通せるところまで割とさくっといきました。 エラー分岐は所々 ❯ git diff --stat
Cargo.lock | 66 +++++++++++++---------
Cargo.toml | 6 +-
crates/voicevox_core/Cargo.toml | 5 +-
crates/voicevox_core/src/infer/runtimes/onnxruntime.rs | 286 +++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------
4 files changed, 192 insertions(+), 171 deletions(-) |
なるほどです。僕個人もまあalphaでも良いかなと正直思ってます。 けどまあortを今forkしたほうが楽であればforkします! |
乗換なら |
@neoedmund 現状だと対応している演算が少なくて難しそうです! |
対応している演算はVOICEVOXで使ているのと合致するかどうか。実行速度はvulkanでわるくない筈。 |
内容
ONNX Runtimeを扱うためのライブラリを、onnxruntime-rsからortにします。
#427 の方は、ちゃんと使えるようになるのに何年待たなくてはならないかわからないのでortの方がよいと思いました。
Pros 良くなる点
dlopen
/LoadLibrary
, 静的リンクCons 悪くなる点
onnxruntime-rsと比べると無いはず。 microsoft/onnxruntime本家のRustバインディングが動きだしたら別かとは思いますが、今動きだしたとして半年は待つ必要はありそうな感じなので…
実現方法
VOICEVOXのバージョン
N/A
OSの種類/ディストリ/バージョン
その他
The text was updated successfully, but these errors were encountered: