Hiroshiba / check_diffusion_sine

diffusionベースでサイン波を作ったりするチェック用のコード

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

check_diffusion_sine

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 の影響な気がするけど、まだちゃんと調べられてない

About

diffusionベースでサイン波を作ったりするチェック用のコード


Languages

Language:Jupyter Notebook 91.3%Language:Python 8.6%Language:Dockerfile 0.1%