Model v3도 실패했다. 원인으로는 과도한 변형값들과 플라스틱 데이터의 근본적인 문제점으로 추측했다. 그 문제점은 플라스틱에도 종류가 매우 다양한데 세부적인 클래스들을 하나의 플라스틱이라는 클래스로 학습시키다 보니 학습이 만족스럽게 안 됐던 것 같다. 그래서 플라스틱을 세부적인 클래스로 나누어 학습시키고 출력만 플라스틱으로 나오게 코드를 수정했다.
모델 예측 분포 테스트
각 클래스당 20개 샘플 테스트
======================================================================
디바이스 : cuda:0
실제 클래스: 캔
예측 분포 :
→ 캔: 48개 (96.0%)
→ 유리: 1개 (2.0%)
→ 플라스틱: 1개 (2.0%)
실제 클래스: 유리
예측 분포 :
→ 캔: 1개 (2.0%)
→ 유리: 47개 (94.0%)
→ 플라스틱: 1개 (2.0%)
→ 비닐: 1개 (2.0%)
실제 클래스: 종이
예측 분포 :
→ 캔: 1개 (2.0%)
→ 종이: 38개 (76.0%)
→ 플라스틱: 1개 (2.0%)
→ 스티로폼: 1개 (2.0%)
→ 비닐: 9개 (18.0%)
실제 클래스: 플라스틱
예측 분포 :
→ 캔: 3개 (6.0%)
→ 유리: 9개 (18.0%)
→ 종이: 3개 (6.0%)
→ 플라스틱: 17개 (34.0%)
→ 스티로폼: 7개 (14.0%)
→ 비닐: 11개 (22.0%)
실제 클래스: 스티로폼
예측 분포 :
→ 스티로폼: 50개 (100.0%)
실제 클래스: 비닐
예측 분포 :
→ 종이: 2개 (4.0%)
→ 비닐: 48개 (96.0%)
======================================================================
Epoch를 20까지 늘리니까 거의 17시간 동안 학습만 시켰던 것 같다. 오늘도 마찬가지로 코드와 데이터를 수정한 뒤 Model v4를 학습시키고 있다. 학습이 만족스럽게 완료된다면 먼저 develop 브랜치에 합쳐서 지금까지의 기능들을 테스트해보고, 그다음으로는 분류할 때마다 해당 클래스를 JSON 파일에 기록해서 통계 차트 등을 만들어볼까 구상 중이다. 빨리 학습이 끝나서 다른 작업을 시작하면 좋겠다.