작성
·
180
0
안녕하세요 선생님
먼저 좋은 강의 정말 감사합니다.
저는 [yolo raccoon custom 강의]를 보고 keras-yolo에 제 데이터에 custom하는 작업을 진행 중인데요.
문제는 제 데이터 양 때문인지 한 1epoch 당 3시간 정도가 걸립니다.
저는 aws 를 사용하고 있는데 이게 오래 학습을 시키면 저절로 서버다운이 되고... 중간에 학습모델 저장이 쉽지가 않습니다.
그래서 2epoch씩 학습시키고 저장하고 -> 저장된 모델을 로드해서 다시 2epoch 학습하고
이런 방식으로 노동을 하고자 하는데 그 방법을 여쭈어보고 싶습니다.
여기서 저장된 모델 이름은 trained_weight_stage_1.h5 입니다. fine-tune은 할 엄두도 못내고 있구요...
1. 2epoch 학습한 trained_weight_stage_1.h5 를 yolo.h5 자리에 넣고 학습시키면 되는 걸까요?
2. 어느정도 학습한 모델을 이어서 그다음 코드인 fine-tune 단계만 진행하려면 어떻게 해야할까요?
답변 3
0
음, 이미지 사이즈가 200x200은 좀 작은 것 같습니다.
yolo default image size 가 416x416 이니, 그정도 쯤으로 맞추시면 어떨까 싶습니다.
loss의 절대값은 크게 신경쓰지 않으시는게 좋을 것 같습니다.
0
안녕하십니까,
1 epoch당 3시간이면 거의 학습이 어려우실것 같습니다만, GPU를 사용하시는데도 그러신건가요?
학습 데이터량이 몇개나 되시길래, 데이터 량을 좀 줄여 보시는건 어떠신지요? 혹 이미지 사이즈 크기를 크게 가져가신건지요?
그래서 2epoch씩 학습시키고 저장하고 -> 저장된 모델을 로드해서 다시 2epoch 학습하고.....
=> 이렇게는 학습이 진행되기 어려울것 같습니다만, 아래 답변 드립니다.
1. 2epoch 학습한 trained_weight_stage_1.h5 를 yolo.h5 자리에 넣고 학습시키면 되는 걸까요?
=> 이 방식은 저도 확신이 없습니다, 소스코드를 보면 그렇게 적용하기는 어려울 것 같습니다. 소스코드 자체를 변경해야 할 것 같습니다만, 변경해도 된다고 보장하기는 어려울 것 같습니다.
2. 어느정도 학습한 모델을 이어서 그다음 코드인 fine-tune 단계만 진행하려면 어떻게 해야할까요?
=> 지금 단계에서는 fine tuning은 안하시는 게 좋을 것 같습니다.
요약 드리면 학습 데이터 량을 줄여서 1epoch당 20분 내로 수행 될 수 있도록 해보신 후 성능을 보시는게 좋을 것 같습니다. 일단 이렇게 해보시고, 추후 어떻게 진행할 지 다시 의논하시는게 어떨지요?
넵 시도해보고 다시 말씀드리겠습니다. 정말 감사합니다.
우선 이미지 사이즈가 1000 * 1000 였고, 이를 200 * 200 으로 줄여서 학습하니 시간이 2시간 정도로 줄었고, 또한 원래 학습데이터가 30000개 정도인데 10000개로 줄이니 1시간에서 1시간 반으로 또 줄었습니다.
제가 원하는 class 수는 15개 정도인데 학습시간을 줄이기위해 class 수를 줄이거나, 학습 이미지수를 더 줄이는 방향으로 시도를 해볼예정입니다.
답변 다시 한번 감사드립니다.