From a271b8a41c35350295a0972909ba87816ad95384 Mon Sep 17 00:00:00 2001 From: litagin02 Date: Sat, 1 Jun 2024 19:37:50 +0900 Subject: [PATCH] Support limit=-1 for no limit in API, and update FAQ --- docs/FAQ.md | 22 +++++++++++++++++++++- server_fastapi.py | 9 ++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index d2ab1d1..024184b 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -1,9 +1,28 @@ # よくある質問 +## 学習に時間がかかりすぎる + +デフォルトの100エポックは音声データ量によっては過剰な場合があります。デフォルトでは1000ステップごとにモデルが保存されるはずなので、途中で学習を中断してみて途中のもので試してみてもいいでしょう。 + +またバッチサイズが多き過ぎてメモリがVRAMから溢れると非常に遅くなることがあります。VRAM使用量がギリギリだったり物理メモリに溢れている場合はバッチサイズを小さくしてみてください。 + +## どのくらいの音声データが必要なの? + +分かりません。試行錯誤してください。 + +参考として、数分程度でも学習はできるらしく、またRVCでよく言われているのは多くても45分くらいで十分説があります。ただ多ければ多いほど精度が上がる可能性もありますが、分かりません。 + +## どのくらいのステップ・エポックがいいの? + +分かりません。試行錯誤してください。 + +参考として、最初の2k-3kで声音はかなり似始めて、5k-10k-15kステップほどで感情含めてよい感じになりやすく、そこからどんどん回して20kなり30kなり50kなり100kなりでどんどん微妙に変わっていきます。が微妙に変わるので、どこがいいとかは分かりません。 + ## APIサーバーで長い文章が合成できない デフォルトで`server_fastapi.py`の入力文字上限は100文字に設定されています。 `config.yml`の`server.limit`の100を好きな数字に変更してください。 +上限をなくしたい方は`server.limit`を-1に設定してください。 ## 学習を中断・再開するには @@ -16,4 +35,5 @@ ## その他 -調べたりChatGPTに聞くか、それでも分からない場合・またはエラーが出る等明らかに不具合やバグと思われる挙動を見つけた場合は、GitHubの[Issue](https://github.com/litagin02/Style-Bert-VITS2/issues)に投稿してください。 +ググったり調べたりChatGPTに聞くか、それでも分からない場合・または手順通りやってもエラーが出る等明らかに不具合やバグと思われる場合は、GitHubの[Issue](https://github.com/litagin02/Style-Bert-VITS2/issues)に投稿してください。 + diff --git a/server_fastapi.py b/server_fastapi.py index efc880e..98ec798 100644 --- a/server_fastapi.py +++ b/server_fastapi.py @@ -114,9 +114,12 @@ if __name__ == "__main__": load_models(model_holder) limit = config.server_config.limit - logger.info( - f"The maximum length of the text is {limit}. If you want to change it, modify config.yml" - ) + if limit < 1: + limit = None + else: + logger.info( + f"The maximum length of the text is {limit}. If you want to change it, modify config.yml. Set limit to -1 to remove the limit." + ) app = FastAPI() allow_origins = config.server_config.origins if allow_origins: