作業記録 1, Dec, 2019 Sun

1, Dec, 2019 Sun

 - 犬
AM2~3時までやってた
dataloder, networks, train, options (opts) .pyをコピーしてきて少し整備。
Annotaion/ を作ってテスト学習用のmini annotaion.txt を用意。学習:評価=200枚:20枚くらい
```
def nofk(output, gt_labels, threthold=0.5):
    return(np.where(output < threthold, 0, 1))
```
がCUDAエラー。
(変数outputは 入力画像を model に通して特徴量にしたもの... を、torch.nn.functional.sigmoid() にかけたもの。| output = torch.nn.functional.sigmoid(model(image)) |)

outputをCPUに移した。
```
    return(np.where(output.cpu() < threthold, 0, 1))
```

とりあえず学習が回るとこまで戻った。

===

10時に起きてから1時間作業

実行開始日時を出力するようにした。opts に add_argment

# presision, recall, F, jaccard, IoU について忘れたので調べる。JaccardとIoUは一緒?
# Fも計算して出力する
# 比較対象の選定 (Annotation set, batch, epoch, optimizer, network...)
# + ベースラインを適当に作る
# + どうやって整理、管理するか動かしながら決める

#########################
#########################

深夜、整備の過程で annotaion ファイルが _train, _test の2つに分かれていたことを思い出した。
動画が森とかビルとかあるので、片方を学習に使って片方を評価にすると精度がこれっぽっちも出ない。
なので、事前に動画毎に前後半7:3とかで分けてannotation ファイルを作っていたんだった。


去年の反省の一つに、実行結果の管理がめちゃくちゃで自身辛かった点がある。
出力ファイルの結果をとにかく見やすくしたい
どうすればいいのかわかんないけど、ひとまず管理名を
rgb_<optimizer>_<testset (annotation) set>_<batch size>_<learning rate>_<date>
にした。
日時があればなんとなくわかるかなあ(?)
epoch は中身見ればわかると思うけど、epoch も名前の中にあったほうがいいかな。
batch size もそうだけど num_workers とかが学習に与える影響がよくわかっていない。

コメント