mirror of
https://github.com/neodyland/sbv2-api.git
synced 2025-12-22 23:49:58 +00:00
b80f8bc4b65c656945c311d282ca8abf0610baee
sbv2-api
このプロジェクトはStyle-Bert-ViTS2をONNX化したものをRustで実行するのを目的としています。
学習したい場合は、Style-Bert-ViTS2 学習方法 などで調べるとよいかもしれません。
JP-Extraしか対応していません。(基本的に対応する予定もありません)
ONNX化する方法
cd convert
# (何かしらの方法でvenv作成(推奨))
pip install -r requirements.txt
python convert_deberta.py
python convert_model.py --style_file ../../style-bert-vits2/model_assets/something/style_vectors.npy --config_file ../../style-bert-vits2/model_assets/something/config.json --model_file ../../style-bert-vits2/model_assets/something/something_eXXX_sXXXX.safetensors
Todo
- WebAPIの実装
- Rustライブラリの実装
- 余裕があればPyO3使ってPythonで利用可能にする
- GPU対応(優先的にCUDA)
- WASM変換(ortがサポートやめたので、中止)
構造説明
sbv2_api- 推論用 REST APIsbv2_core- 推論コア部分docker- dockerビルドスクリプト
APIの起動方法
cargo run -p sbv2_api -r
CUDAでの起動
cargo run -p sbv2_api -r -F cuda,cuda_tf32
Dynamic Linkサポート
ORT_DYLIB_PATH=./libonnxruntime.dll cargo run -p sbv2_api -r -F dynamic
テストコマンド
curl -XPOST -H "Content-type: application/json" -d '{"text": "こんにちは","ident": "something"}' 'http://localhost:3000/synthesize'
curl http://localhost:3000/models
謝辞
- litagin02/Style-Bert-VITS2 - このコードの書くにあたり、ベースとなる部分を参考にさせていただきました。
- Googlefan - 彼にモデルをONNXヘ変換および効率化をする方法を教わりました。
Description
Languages
Rust
78.3%
Python
10.8%
Jupyter Notebook
6%
TypeScript
2.5%
Shell
1%
Other
1.4%