forward-tacotron (複合)

ユースケースと概要説明

ForwardTacotron は、元々 PyTorch* でトレーニングされ、その後 ONNX* 形式に変換されたテキスト読み上げタスクモデルです。モデルは LJSpeech データセットでトレーニングされました。ForwardTacotron は、テキストからメルスペクトログラム回帰を実行します。詳細については論文論文リポジトリーを参照してください。

ONNX モデル

利便性のため、事前トレーニングされたモデルを ONNX 形式で提供します。

PyTorch でトレーニングを再現して ONNX に変換する手順

モデルは以下の手順で取得した ONNX 形式で提供されます。

  1. 元のリポジトリーのクローンを作成します。

git clone https://github.com/as-ideas/ForwardTacotron
cd ForwardTacotron
  1. 変換がテストされたコミットをチェックアウトします。

git checkout 78789c1aa845057bb2f799e702b1be76bf7defd0
  1. README.md に従って、ForwardTacotron モデルをトレーニングします。

  2. 提供されたスクリプト forward_to_onnx.py を ForwardTacotron のルート・ディレクトリーにコピーします。

  3. スクリプトを実行して ForwardTacotron を onnx 形式に変換します。

python3 forward_to_onnx.py --tts_weights checkpoints/ljspeech_tts.forward/fast_speech_step<iteration>K_weights.pyt

注:

  1. ONNX は PyTorch パイプラインからの build_index 操作をサポートしていないため、モデルは 2 つの部分 (forward_tacotron_duration_prediction.onnx, forward_tacotron_regression.onnx) に分割されています。

  2. アライメント生成のため 183K 反復で Tacotron モデルのトレーニングを停止し、290K 反復で ForwardTacotron トレーニングを停止しました。

複合モデル仕様

メトリック

ソース・フレームワーク

PyTorch*

精度

主観的

forward-tacotron-duration-prediction モデルの仕様

forward-tacotron-duration-prediction モデルは、前処理されたテキスト (リポジトリーの text_to_sequence を参照) を受け入れ、処理された埋め込みと、処理されたすべての埋め込みの期間を生成します。

メトリック

GOPs

6.66

MParams

13.81

入力

シーケンス、名前: input_seq、形状: 1, 241、形式: B, C

説明:

  • B - バッチサイズ

  • C - 連続する記号の数 (文字または音素)

出力

  1. 入力シンボルの継続時間、名前: duration、形状: 1, 241, 1、形式: B, C, H、ここで: シーケンス内の各シンボルの予測継続時間が含まれます。

    • B - バッチサイズ

    • C - 連続する記号の数 (文字または音素)

    • H - 空の次元

  2. 処理された埋め込み、名前: embeddings、形状: 1, 241, 512、形式: B, C, H、ここで: 各シンボルの処理された埋め込みが順番に含まれます。

    • B - バッチサイズ

    • C - 連続する記号の数 (文字または音素)

    • H - 中間特徴マップの高さ

forward-tacotron-regression モデルの仕様

forward-tacotron-regression モデルは、長さで整列され処理された埋め込みを受け入れます (例えば、長さが [2, 3] で、処理された埋め込みが [[1, 2], [3, 4]] の場合、整列された埋め込みは [[1, 2], [1, 2], [1,2], [3, 4], [3, 4]] になります)、メルスペクトログラムを生成します。

メトリック

GOPs

4.91

MParams

3.05

入力

期間ごとに整列された処理された埋め込み、名前: data、形状: 1, 805, 512、形式: B, T, C

説明:

  • B - バッチサイズ

  • T - メルスペクトログラムの時間

  • C - 処理された埋め込み次元

出力

メルスペクトログラム、名前: mel、形状: 80, 805、形式: C, T

説明:

  • T - メルスペクトログラムの時間

  • C - メルスペクトログラムのメル数

モデルをダウンロードして OpenVINO™ IR 形式に変換

以下の例に示すように、モデルをダウンロードし、必要に応じてモデル・ダウンローダーやその他の自動化ツールによってモデルを OpenVINO™ IR 形式に変換できます。

モデル・ダウンローダーの使用例:

omz_downloader --name <model_name>

モデル・コンバーターの使用例:

omz_converter --name <model_name>

デモの使い方

Open Model Zoo が提供する次のデモでこのモデルを使用して、その機能を確認できます。