일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 데이터분석
- 컴퓨터구조
- 정수와유리수
- C++
- CNN
- 머신러닝
- SQL
- JSP/Servlet
- 자바 실습
- 파이썬
- 컴퓨터비전
- 데이터입출력구현
- numpy/pandas
- 자바
- 데이터베이스
- 운영체제
- 혼공머신
- 연습문제
- CSS
- pandas
- 정보처리기사실기
- 영어공부
- html/css
- 중학수학
- 중학1-1
- 텍스트마이닝
- 파이썬라이브러리
- 딥러닝
- 코딩테스트
- 정보처리기사필기
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
CNN 4 - 개와 고양이를 분류하는 실습 2 : 이진 분류와 전이 학습 본문
어제 공부하려다가 영상이 중간 잘리기도 하고 없는 것 같아서 진행하지 못했었다. 근데 오늘 보니 복습으로 잠깐 소개하는 부분이 있어 코드를 작성하면 될 것 같았다.
조금 전에 책에 나온 개/고양이 실습을 진행하다 너무나도 지쳤다. 몇 시간을 연구했지만 되는 코드가 없었다. 책에 나온 코드들은 20~30%는 잘못된 코드라서 일일이 하나하나 고치고 있는데 이 부분은 도저히 고칠 수가 없었다.
정말 화가 나고 스스로에게 답답한 마음이 들었으나 다시 마음을 회복하며 공부를 이어가 본다. 이제 객체 탐지를 공부하려고 했는데 수업 영상이 있어서 이것부터 공부를 마무리해 볼 생각이다.
개 고양이 이진 분류 실습해보기
데이터를 불러와서 data 폴더 안에 저장된 np_cats_dogs.npz 파일을 불러온다. 어제는 앞의 코드를 작성하지 못해서 학습을 30분 정도 하다가 중단했었다.
데이터를 가져다가 학습을 시키고 크기를 확인했다.
속도가 너무 느려서 중간에 GPU로 바꿔주었다. 확실히 빠르다.
MLP는 불안정한 학습을 하는데 그 이유는 위치에 민감하기 때문이다. 위치를 기반으로 하는 MLP는 제대로 된 이미지 학습을 할 수 없다. 그래서 사용하는 것이 CNN이다.
CNN은 특성 추출부와 분류부로 나뉜다. 특성 추출부에서는 이미지에 대한 자세한 학습을 위한 특성을 추출하고, 분류부에서는 응집된 특성을 분류한다.
MLP로 학습했을 때는 이렇게 들쭉 날쭉한 결과를 보인다.
CNN은 결과는 고르게 잘 나왔으나 test 데이터에 대한 학습률은 다소 부족해 보인다.
선생님의 코드에서도 다소 빠진 부분이 있어서 추가해 주었다. 아침 내내 그토록 불러오려고 해도 안 불러와졌던 파일을 이렇게 불러오며 사진의 개수도 찾을 수 있었다.
정말 이 말이 맞다. 너무너무 오래 걸린다. 처음에 20분 넘게 되지 않아서 GPU를 바꿔서 가장 빠를 걸로 하는데도 같은 시간이 되었음에도 여전히 되지 않고 있다. 이것 때문에 다른 코드를 실행시키지 못해 많이 답답하다.
1시간 넘게 걸려 드디어 실행한 코드이다.
전이 학습의 결과는 이렇다. 전이 학습을 통해 높은 수준의 성능을 보이는 것을 알 수 있다.
중간에 드롭아웃에서 코드 실행이 40분이 훨씬 넘도록 되지 않아서 그다음 코드를 실행시키지 못했다. 다음에 수정해보려고 한다. 이러다가 다음 단원 학습을 못할 것 같다.
학습을 마치고
개와 고양이를 이진 분류하는 학습을 진행해 보았다. 사실 이건 선생님이 지난 시간 복습으로 빠르게 훑은 내용이라 중간에 코드가 없는 것도 여러 개 있었다. 최대한 느리게 시청해도 보이지 않는 코드는 그냥 찾아보면서 추가해 보았다. 그렇게 학습을 하니 평소보다 배 이상 걸리지는 했지만 그래도 건너뛰는 것보다 나았다.
아침에 책에서 더 이상 실행하지 못했던 코드의 내용을 선생님의 설명을 들으니 잘 학습할 수 있었다.
기다렸다가 모든 코드를 실행했다. 그래프를 그리지 못해 아쉽지만 그건 지금까지 많이 해봤으니 이번에는 그냥 넘어갈 것이다.
'인공지능 > 딥러닝' 카테고리의 다른 글
CNN 6 - 객체 탐지를 하는 YOLO v6 모델 실습 2 : roboflow에서 라벨링한 데이터 가져와서 코랩에 연결하기 (0) | 2024.10.30 |
---|---|
CNN 5 - 객체 탐지를 하는 YOLO v6 모델 실습 1 : 객체 탐지 이론 및 roboflow에서 chinchilla 라벨링하기 (1) | 2024.10.29 |
합성곱 신경망 8 - 개/고양이 분류 : 분석 준비 (0) | 2024.10.29 |
합성곱 신경망 7 - 위성 이미지 분류 2 : 데이터 증강 및 ResNet 사전 학습 모델 (0) | 2024.10.29 |
합성곱 신경망 6 - 위성 이미지 분류 1 : 데이터셋 로드 및 전처리와 모델 훈련 및 검증 (0) | 2024.10.29 |