Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

p2ch14/p2_run_everything.ipynbにつきまして #6

Open
KK-Saito opened this issue May 15, 2021 · 2 comments
Open

p2ch14/p2_run_everything.ipynbにつきまして #6

KK-Saito opened this issue May 15, 2021 · 2 comments

Comments

@KK-Saito
Copy link

お世話になっております。
修正していただいたファイルを用いたところ,subset0~2のデータを使用してp2_run_everything.ipynbのChapter 14の部分も実行できました。
ありがとうございました。

以下,いくつか気になった点をご報告します。
subset0~2のデータを使うと,Colab Proで実行中のディスク残量が27GB程度になってしまいます。
 run('p2ch14.training.ClassificationTrainingApp', f'--epochs=100', 'nodule-nonnodule')
で100エポック実行していくと,最初は1エポックあたり4分程度なのですが,その後,実行を続けていくと,だんだんディスク残量が増えていき,1エポックに1時間程度かかるようになってしまいました。
どうやら,せっかく作成したキャッシュを消してしまっているようです。
そこで,37エポック目の途中で実行を中断しました。(これでも9時間程度かかりました。)
いちおうここまでのTensorBoardの出力も確認できました。

その後,model名を書き換えて最後の層のファインチューニングも実行できました。
ただし,やはり1エポックに1時間程度かかってしまいましたので,3エポック目の途中で中断しました。

プログラムを実行できることが確認できましたので,もう少しいろいろ試してみたいと思います。

@KK-Saito
Copy link
Author

お世話になっております。
以下,ご報告です。

キャッシュを作成し直して,ファインチューニングを行いました。
やはり30エポック目くらいから非常に時間がかかるようになってしまいましたので,33エポック目の途中で中断しましたが,テキストp.512 図14.10とほとんど同じ結果が得られました。

その後,再度キャッシュを作成し直し,最後の2層のファインチューニングを行いました。
ここでも31エポック目の途中で中断しました。
テキストよりサンプル数が少ないため,少し値が違いますが,p.513 図14.12とほぼ同様の結果となりました。

ここまで実行できればほぼ満足なのですが,その下のコマンド
 run('p2ch14.nodule_analysis.NoduleAnalysisApp', '--run-validation')
を実行すると,
 FileNotFoundError: [Errno 2] No such file or directory: 'data/part2/models/seg_2020-01-26_19.45.12_w4d3c1-bal_1_nodupe-label_pos-d1_fn8-adam.best.state'
というエラーが出ました。
当然,このファイルが無いため実行できないのですが,コマンドラインではファイル名の指定ができないようです。
(ここでは,何をしようとしているのでしょうか?)

また,p.518 図14.15のROC曲線は出力したいと思うのですが,training.pyにリスト14.12を追加すれば可能でしょうか?

他にも
 p2ch13_explore_data.ipynb

 p2ch13_explore_diagnose.ipynb
というファイルがありますので,それらも実行してみたいと思います。

@KK-Saito
Copy link
Author

お世話になっております。
少し条件を変えて実験してみたところ,AUCが上昇し,recallとF1スコアも改善しました。

結節の大きさが最も重要なパラメータですので,
 run('p2ch14.training.ClassificationTrainingApp', f'--epochs=100', 'nodule-nonnodule')
でモデルを訓練するときに,全てのData Augmentationを行っているのですが,画像の大きさを変えてしまうと,Validationの際に結節の大きさの重要度の情報が失われてしまう気がしました。
そこで,Data Augmentationにおいて,scaleとあまり効果が見られなかったnoiseのAugmentationをしないでモデルを学習し直してみました。

このモデルを使って最終層のFine Tuningを行ったところ,改善が見られました。
subset0~2を使用してColab Proで実行したところ,
 run('p2ch14.training.ClassificationTrainingApp', f'--epochs=40', '--malignant', '--dataset=MalignantLunaDataset',
'--finetune=''/content/drive/MyDrive/Colab Notebooks/Deep_Learning_with_PyTorch/data-unversioned/part2/models/p2ch14/cls_2021-05-18_04.04.33_nodule-nonnodule.best.state',
'finetune-head')
の26エポック目の途中でプログラムが止まってしまいましたが,25エポック目でAUCが0.80から0.86まで上昇しました。
また,recallが0.78から0.87まで上昇し,F1スコアも0.80から0.84程度まで改善しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant