UNet 모델 구현 및 학습

Jaewon·2023년 9월 28일
0

Project_mini

목록 보기
2/4
post-thumbnail

드으디어 UNet 구현이 끝났다.
모델 구조가 간단한 편임에도 불구하고, 막상 구현하려니 복잡하더라..
모델 구현 그 자체보다도, 학습 코드랑 Inference 코드를 짜는 부분,
모델을 특정 조건에서 저장/로드하고, 데이터 전처리도 다르게 적용하고,
tensorboard를 사용하기 위한 처리를 따로 해주고, 결과 시각화해주고... 등등의 부수적인 파트 구현이 꽤나 까다로웠다.

예상치 못한 오류들을 만나는 바람에 계획했던 것보다 시간은 오래 걸렸지만,
그래도 배웠던 건 많았다.

처음에 loss가 계속 안떨어지길래, optimizer나 학습 부분의 코드가 잘못된 줄 알고 이상한 데서 헤맸었다.
그런데 알고보니 데이터 자체가 잘못 전처리되고 있더라.

앞으로는 뭔가 이상하면 데이터는 제대로 들어오고 있는지 먼저 확인해야겠다.

https://www.youtube.com/@hanyoseob
해당 유튜브의 영상을 보며 구현을 했고, 추가적으로 내가 공부한 부분에 대해서는 주석을 꼼꼼히 달아봤다.
앞으로도 해당 유튜브의 다른 영상들을 보며 다른 모델들도 구현해볼 생각이다.

코드는 아래 깃헙에 올려뒀다.
https://github.com/ljwljy51/ML_DL_Study/tree/main/UNet_pytorch

이런 식으로 segmentation결과가 나오게 된다.

그나저나 오버피팅이 거하게 됐더라. 다음에 학습시킬 때는 early stopping을 적용해봐야겠다.


다시 학습시켰다!

profile
v ^_^ v

0개의 댓글