Open qryxip opened 4 days ago
まあダウンロードサイズは50MBくらいなので、一緒でもいいかもですね・・・!!
VOICEVOX/ort
的に別れていた方が都合良さそうであれば(本家からの変更が少なくて済みそうであれば)、onnxruntime-builder側を変えてあげる方が綺麗かも?
300MBは解凍後ですね。
drwx------ - ryo ryo 2024-07-02 17:29 ./voicevox_core-windows-x64-directml-999.999.999
.rw-r--r-- 17M ryo ryo 2024-07-02 17:29 ├── onnxruntime.dll
.rw-r--r-- 324M ryo ryo 2024-07-02 17:29 ├── onnxruntime_providers_cuda.dll
.rw-r--r-- 11k ryo ryo 2024-07-02 17:29 ├── onnxruntime_providers_shared.dll
.rw-r--r-- 11k ryo ryo 2024-07-02 17:29 ├── README.txt
.rw-r--r-- 12 ryo ryo 2024-07-02 17:29 ├── VERSION
.rw-r--r-- 3.6M ryo ryo 2024-07-02 17:29 ├── voicevox_core.dll
.rw-r--r-- 54k ryo ryo 2024-07-02 17:29 ├── voicevox_core.h
.rw-r--r-- 18k ryo ryo 2024-07-02 17:29 └── voicevox_core.lib
microsoft/onnxruntimeだとCPU版とDirectML版とCUDA版を分けてて、pykeio/ortだとCPU&DirectML版とCUDA版という分け方にしてますね。
正直onnxruntime_providers_cuda.dllみたいなのが入ってくるのは見通しが悪くなるし混乱もしそうなので、microsoft/onnxruntime式か、あるいはpykeio/ort式でもいいんじゃないか?と思っています。
あとsupported_devices
も{ "cuda": true, "dml": true }
を返すというのもありますが、まあこれは #802 でOnnxruntime
のメソッドになるということもあり「ONNX Runtime (≠ VOICEVOX CORE)が対応しているデバイス情報」というドキュメント/仕様にしてしまってもよいかなと思ってます。
(SupportedDevices::THIS
とstd::ops::BitAnd
実装を追加して「VOICEVOX COREとONNX RuntimeとでGPU対応がそれぞれ異なる」ということを表明する、といった工夫もできそうです)
正直onnxruntime_providers_cuda.dllみたいなのが入ってくるのは見通しが悪くなるし混乱もしそうなので、microsoft/onnxruntime式か、あるいはpykeio/ort式でもいいんじゃないか?と思っています。
良いと思います!どっちの仕様にしようか迷いますねぇ。 まあonnxruntime式(全部バラバラ)のが便利そうではありますが・・・。
supported_devices
の仕様は・・・あれ、今ってcudaとdml別々に返してないんでしたっけ。
だったら{ "cuda": true, "dml": true }
的なのを返したほうが便利だと感じますね!!
不具合の内容
https://github.com/VOICEVOX/voicevox_core/pull/802#issuecomment-2202402961
現象・ログ
割愛
再現手順
割愛
期待動作
download_test
は通るべき。--device directml
と指定するとonnxruntime_providers_cuda.dll (約300MB)まで付いてくる。このような挙動は望ましくないかもしれない。VOICEVOXのバージョン
N/A
OSの種類/ディストリ/バージョン
その他
DirectML版とCUDA版を分離する場合、段取りとしてはonnxruntime-builder (ビルドしなおし) → VOICEVOX/ort (リストの更新) → voicevox_core (voicevox-ortの更新)となるはず。