flow matching を使ってサイン波生成してみるサンプル。
実装時は pytorch は 2.0.1 を使った。
pip install -r requirements.txt
WANDB_MODE=offline python train.py config.yaml ./output_dir/
WANDB_MODE=offline
をつけないと WandB サービスへのログインが求められる。
visualize.ipynb
参照
- 300 エポック(50000 イテレーション)くらいのモデルだと、ステップ 30 くらいかければかなりきれいなサイン波が作れる
- ステップ数を大幅に増やすと逆効果になる
- より小さいモデルで学習させたとき、エポック数も増やしていくと逆に波が汚くなっていった
- なぜか test loss が train loss ほど下がらない
- もちろんネットワークの
.eval()
を抜くと train loss とがっつり相関する - layer normalization か dropout の影響な気がするけど、まだちゃんと調べられてない
- もちろんネットワークの