2024年07月25日

ユーザー制御型ポリフォニック音楽生成Polyffusionの実装

このエントリーをはてなブックマークに追加
follow us in feedly
以前のPolyffusionの実装から、
短期間にフレームワークが何回も根本的に変わっている様なので、新しい方ではどうやるかと言うと

git clone https://github.com/aik2mlj/polyffusion
cd polyffusion

python3.10.13 でなくても大丈夫だと思います。
python3.10.12 でも実行可能だと思います。
pip install -e polyffusion
pip install -e polyffusion/chord_extractor
pip install -e polyffusion/mir_eval
pip install -r requirements.txt


.................

学習の方には POP909 データセットと事前学習モデル
Inferenceの方にも事前学習checkpointsがあります。

問題が生じ得る変更点としてpolyffusion/inference_sdf.py実行時に生じる事が幾つかあります。


Converting json to yaml...
Delete old json file? (y/n)

こう聞かれます。

...yamlファイルは勝手に作られます。

python polyffusion/inference_sdf.py --chkpt_path=/chkpts/weights_best.pt --custom_params_path=/01-11_102022/params.json
 最低限必要なパラメータはこの二つだと思います。
chkpt_pathも、custom_params_pathも、 ファイルを直接指定するようになりました。

result以下でなければならないのかとも思ったのですが...そう言う事は無いようです。

 File "/usr/local/lib/python3.10/dist-packages/omegaconf/dictconfig.py", line 480, in _get_node
  raise ConfigKeyError(f"Missing key {key!s}")
omegaconf.errors.ConfigAttributeError: Missing key model_name
  full_key: model_name
  object_type=dict


おそらくこの問題が生じます。
...これは、パラメータファイルの中に、 model_name を書けば良いのでしょうか?


 独自データで独自モデルの学習

python polyffusion/main.py --model sdf_chd8bar --output_dir result/sdf_chd8bar

後は、学習ファイルnpzのリストをpickleファイルに書いておくだけです。
学習されたモデルファイルはresult/sdf_chd8bar以下に保存されます。

pickle配列の[0]が学習で
[1]がvalidationです。



.................


inferenceで実行する方は、事前学習モデルで実行する時と同じです...


tak_tak0 at 08:37コメント(0)サーバ   この記事をクリップ!

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
サイト内検索
にほんブログ村 科学ブログへ
にほんブログ村
adsense
Archives
amazon
blogchart
QRコード
QRコード
Recent Comments