
【Kaggle】 RSNA 2023 Abdominal Trauma Detection
kaggleのコンペ「RSNA 2023 Abdominal Trauma Detection」に参加したので、その提出Notebookの記録です。始めてのコンペ参加であったため、上級者のNotebook[1]をフォーク・修正して取り組んでいました。
目次
1. コンペのルール
まず、今回参加したコンペのルールが以下となります。
- Notebookでの推論にかかる時間(CPU・GPUの実行時間)が9時間以内であること
- オフライン環境でNotebookがデータセット元に推論できること*ただし、事前に学習したモデルを使用して推論を行うことは可能(=学習と推論を別々に分けることができる)
- 提出するCSVファイル名は『submission.csv』とすること
2. 結果順位
初めて参加したコンペは 848位 / 1125チーム でした。手も足も出ませんでした。スコアは0.78808で位置的には上位どころか、団子の位置ですらない後方でした。以下のヒストグラムでオレンジ色の位置となります。次回は団子の位置まで登りたいです。
3. 作成したモデルについて
フォーク元のNotebookが詳しいコメント付きだったので、本記事内でのコードについて詳細な説明は省略します。
CODE を参照ください。
モデルについて簡単に説明すると、入力されたCT画像(png形式)を元に以下臓器の疾病の確率を出力(予測)するものとなります。EfficientNetを使いました。
- 肝臓
- 腎臓
- 脾臓
- 血管
- 腸
4. 振り返り
i. 出来たこと
- 約2ヶ月間を通しでコンペに参加できた
- KaggleでGPUとTPUを使うことができた
- import ライブラリをローカルに落として、Notebookへ上げ直すことができた
- オフラインでNotebookをSubmissionできた
ii. 反省点
- 訓練と推論で別々にNotebookを作らない、頭の悪いやり方をしていたので、効率が悪かった
↳次のコンペまでに、late submission で試しておく - 検証のdatasetの1名の患者データで複数のCT画像がある場合に、全ての画像を読み込むことを実装できず、1枚だけを代表して確率を吐き出す仕様しかできなかった(In[*]の#get_seriesと#get_imgの[0]の部分)
↳スコアに大きく影響する部分なので、序盤で確認し、実装できるようにしておく - 最後までフォークしたNotebookをいじって終わり、圧倒的に実装力不足だった
↳コンペに積極的に参加し、力をつける - EffiecientNetをコンペ終了まで理解できなかった
↳kaggleのDiscussionを読む時間を増やして、深層学習の知識を増強する

コメント・お問合せ
以下のツイートの『返信』にてお願いいたします