r9y9 / ttslearn

ttslearn: Library for Pythonで学ぶ音声合成 (Text-to-speech with Python)
https://r9y9.github.io/ttslearn/
MIT License
249 stars 37 forks source link

質問:ttslearnを用いたtacotron2学習での転移学習(ファインチューニング)の方法 #27

Closed mikapote closed 2 years ago

mikapote commented 2 years ago

先日はissuesに反応してくださりありがとうございます。 今回の質問は主にp332の内容です。新しく音声合成を作ろうと思ったのですが、コーパスの規模がJSUTコーパスよりも小さいため転移学習をしようと考えました。 しかし出力されたチェックポイントを初期値として学習させる方法が分からず質問させていただきました。 ご存知かとは思いますが、NVIDIA/tacotron2では学習スクリプトを実行する際にオプションを付けることで学習済みモデルを初期値にできるそうです。 このようにレシピ実行時のオプションとして実装されているのか、別の方法で行うのか教えていただけたら幸いです。

実行環境 第10章のnotebooksをGoogle colab proで実行しています。

r9y9 commented 2 years ago

Fine-tuningに関しては、書籍中では解説はしていませんが、extra recipes の jvsコーパスのレシピではサポートしています。以下のコードをご参照ください。

学習済みモデルの読み込み https://github.com/r9y9/ttslearn/blob/42c32543b2a746a2905cbb4f99807535501da543/ttslearn/contrib/multispk_util.py#L157-L176

run.shにおける学習済みモデルの指定 https://github.com/r9y9/ttslearn/blob/42c32543b2a746a2905cbb4f99807535501da543/extra_recipes/jvs/multispk_tacotron2_pwg/run.sh#L148-L155

config.yaml https://github.com/r9y9/ttslearn/blob/42c32543b2a746a2905cbb4f99807535501da543/extra_recipes/jvs/multispk_tacotron2_pwg/config.yaml#L54

mikapote commented 2 years ago

返信ありがとうございます。 extra recipes の方で実行してみたいとおもいます。