まず完成形
https://sjc1.vultrobjects.com/misskey/files/295913d2-13ff-4206-a81d-0fc429b981ac.mp3misskey.gamelore.fun
ちなみにこの後、Discordでもちゃんとできた。
環境
ローカルです。
手順
基本は以下。
- tarinのeval_intervalは500
- batch_sizeは7
にした。
どこで学習をやめるかだが、定期的に表示されるloss/g/melがもう下がらなそうだな。となったらやめる。
19以下になるといいらしい。
今回はどんなに頑張っても19以下にはならず、19.7くらいだった。
詰まりポイント
なんかgpu使ってくれない
cudaのversionが違うとダメっぽい。
上記の手順通り、まっさらからスタートすればこの問題は発生しないと思われるが、過去にcudaを導入しているとそれが悪さする可能性がある。
下記コマンドでcudaを一回削除して、もう一回入れ直すといい。
nvidia-smiで表示されるversionはまた違うっぽいのであんまり参考にならない。
sudo apt-get purge nvidia* && sudo apt-get autoremove && sudo apt-get autoclean && sudo rm -rf /usr/local/cuda*
参考
CUDA kernel errors might be asynchronously reported at some other API call
RuntimeError: CUDA error: unknown error CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
ビデオメモリが足りないときに出るエラーらしいが、そんな感じもしなかったからよくわからん。 何回かやってればうまくいく。
このエラーはビデオメモリが足りないときに出るエラー。分かりにくい!
— sifue(吉村 総一郎) (@sifue) 2022年8月29日
RuntimeError: CUDA error: unknown error
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
MMVC Clientの話
- デバイスの設定は同じのが複数ある場合、若いのを指定しないと動かないっぽい。
- 昔は数値で指定だったが、今は文字列指定でOK. よくわかんなかったら数値で指定してもいい。
- パスは絶対パスで指定したほうが確実。
- というかどこから見た相対パスなのかがわからない。
- target_idはcreate_dataset_jtask.pyの-tに指定した値を設定する
- 下記に記載している春日部つむぎ王への道講座を見ておくといい。
- ずんだもんチュートリアルのやり方だとonnxは使用しない。
- use_onnxはfalse
- pathのmodelは.pthを指定する