2025/8/14の研究ログ
昨日のまとめから始めよう
ついでに何をいつまでにやるか明確にする
やることを考える
利用データに欠けのある状態が不味ければ連絡する
ひとまず昨日までの成果をpushする
一回のpushが100MiBを超えそう
よく考えたらそんなファイルが存在していることがおかしい
ファイルを特定する
ckptファイルがいけないのかな
git rm --cached -r .でaddを取り消し
再度addから行う
やっといけた
.ckptと.hdf5がいけなかったみたい
ログ書くの忘れてた!
少しずつ書く
GPTの出力をまとめる
現在,コードを改修中
埋め込みを作るコードはコメントアウトを外し,きちんと動作した
train_pretrainがまだ途中
x 評価時ではなく訓練時もきちんと動作するよう,MPS用のfloat32変換コードを追加 今はTrainerがfloat32を扱うようにConfigを変更するところ
precision=config["training"]["precision"]より,configを変更する
と思ったら最初から32になっている
じゃあここじゃないのか
上書きしてエラーの内容は変わった
メソッドにて,通常のtoを呼ぶ時にエラーが生じている
x desed_training = desed_training.to(device=device, dtype=torch.float32)をtrainer.fit()より前に呼ぶことで解決 結局,trainer.fit()を呼ぶ前にmodelをfloat32にすれば良い
順番の問題だった
またエラー: soundfile.LibsndfileError: <exception str() failed>
さらにエラーをキャッチするようにした
intでなければならないところをstrで渡しているらしい
そんなことするか?
どこで渡しているのかよくわからない...
さらに細かくエラーを見る
データをロードしている場所を見つけた
datasets.pyのread_audio()
tracebackでエラーをもらう
Y11rKpXBR_ck_24.000_34.000.wavが読み込めていないらしい
lsしたがそんなファイルは存在しなかった
おそらくmissing_fileの一部
存在しないファイルを呼ぼうとしてエラーを吐いている
x read_audio()の第一引数fileに含まれている余計な名称を除外すれば動くのでは? __get_item__でread_audio()を呼んでいる
与えている引数がc_ex["mixture"]
c_ex = self.examples[self.examples_list[item]]
examplesはself.examples = examplesかな
StronglyAnnotatedSeteのinitで宣言されている
もう少し上に細かい処理があった
filenameがキー
mixtureが音声ファイルへのパス
eventsがラベル
confidenceが信頼度
tsvから情報をもらっているみたい
どうすれば除外できる?
一度実際にファイルがあるか確認するフェーズを挟む?
あるいは呼び出す時にエラーハンドリングでpassするとか
動くのかは知らない
ぱっと見大丈夫そう
python -m trace -t train_pretrained.py > function.log
トレース結果を見れば関数の処理順などが一目瞭然かも?
x 先の修正でwavファイルの方のエラーは無くなったが,Noneを返すようになったのでcollate.pyでエラーが発生 dataloaderの対応が必要
果たしてこれで良いのだろか
collate_fnはあくまでtest_loaderに付け足しているだけで,trainer.fitには影響しないと思うのだが
やっぱりダメだった
trainer.fit時に上手くいくためにはdataloaderを継承したほうがいいのでは
公式のドキュメントを見ると,trainer.fit()の引数にはtrain_dataloadersがある
そこで呼べば良さそう
> dataloaderについて,Lightningmoduleを継承しているSEDTask4で完結させたいかも model作成時にSEDTask4にtrain_datasetを渡しているので,今は二度手間になっている
面倒だから後ででいいか
! RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.