kiccho1101 / kaggle_global_wheat_detection

My solution for Kaggle Global Wheat Detection Competition.
1 stars 0 forks source link

Make the cross validation work #8

Closed kiccho1101 closed 3 years ago

kiccho1101 commented 3 years ago

Todo

kiccho1101 commented 3 years ago

bboxが空のときはすべて0の配列をダミーで挿入してあげるか、それはもう学習に使わないかどっちがいいんだろう? -> 一旦学習に使わないことにした https://github.com/kiccho1101/kaggle_global_wheat_detection/pull/8/commits/c5a6c15f5f509390fa664c956e0ce74e65a34fcc

kktsubota commented 3 years ago

bboxが空のときはすべて0の配列をダミーで挿入してあげるか、それはもう学習に使わないかどっちがいいんだろう?

基本的にはBackgroundクラスを持つ画像として扱った方が背景クラスのデータが増えるという点で良いと思うけど、今回はスキップの方が良いと思う。

kiccho1101 commented 3 years ago

ちなみにまだvalidationをエラーなく実行することができない。 https://github.com/kiccho1101/kaggle_global_wheat_detection/pull/8/files#diff-f526cf0d63e880ce1e6aea0a12b97b5bR144-R151 ここのtarget_resにimg_scaleimg_sizeを追加する必要があるっぽいんだけど、どんな形式でどんなデータを入れるのかわからないでいる。

kiccho1101 commented 3 years ago

Screen Shot 2020-07-18 at 19 32 52 エラー内容はこんな感じ。 https://github.com/kiccho1101/kaggle_global_wheat_detection/issues/7#issuecomment-660414157 こちらで指摘してくれてる通り、img_scaleには (元画像の解像度=1024/スケールダウン後の解像度512) = 2をデータの数だけ入れれば良さそうだけど、img_sizeには何を入れるべきなのか

kiccho1101 commented 3 years ago

Screen Shot 2020-07-18 at 19 42 21 こんな感じで入れてみると Screen Shot 2020-07-18 at 19 42 07 こんなエラーが出る

kktsubota commented 3 years ago

img_sizetorch.Tensor([512, 512]) だと思う

エラーが出ている関数は値のクリッピングが目的で

# 0未満の値を0にする
boxes = boxes.clamp(min=0)
# shape (2,) -> (4,)
size = torch.cat([size, size], dim=0)
# 最大値をimg_sizeにする。 shape (len(bboxes), 4), (4,) -> (len(bboxes), 4)
boxes = boxes.min(size)

https://github.com/rwightman/efficientdet-pytorch/blob/20cd5f3b9744a5939534ac1c556689ff4a2edd12/effdet/anchors.py#L162

kiccho1101 commented 3 years ago

昨日今日風邪で全然作業できなかった。。 validationでエラー出る件は、temporaryだけどtrainモードで実行するようにしました。

kiccho1101 commented 3 years ago

一旦cv runnerできたんでマージします

kktsubota commented 3 years ago

風邪なのにこの進捗はすごい…体は大事にしてね

kiccho1101 commented 3 years ago

ありがとうーー。 やっぱ運動は大事なので筋トレちゃんとやろうと思ったよ