-
Notifications
You must be signed in to change notification settings - Fork 127
Closed
Labels
Description
内容
ONNX Runtimeのセッション開始時にExecution Provider (EP)に問題がある(例: 正しいバージョンのCUDAが入ってないのにCUDA版を使おうとする)場合、現在の挙動ではそのままエラーになります。acceleration_mode=Gpu
時ではこれは望ましい挙動です。
ここでacceleration_mode=Auto
時に限っては、EPに問題があった場合にエラーではなくCPUExecutionProvider
にフォールバックするようにすることを提案します。
Pros 良くなる点
-
AccelerationMode::Auto
が"auto"らしくなるAuto
はデフォルトの値であり、VOICEVOX COREに初めて触れる人が選ぶ(というよりデフォルトのままにする)であろう値です。その役割が何なのかというと「その場で最適なEPを選択する」となると思います。CPUにフォールバックする方がこの役割に合致すると思います。
Cons 悪くなる点
- 挙動の破壊的変更
実現方法
#725 の実装をベースに、acceleration_mode=Auto
のときに限りort::SessionBuilder::with_execution_provider
でEPを登録する。ortはCPUにフォールバックした旨をwarning
レベルのログで教えてくれる。
https://github.com/pykeio/ort/blob/v2.0.0-rc.2/src/execution_providers/mod.rs#L229-L231
VOICEVOXのバージョン
N/A
OSの種類/ディストリ/バージョン
- Windows
- macOS
- Linux
その他
Hiroshiba