일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 중량 관리
- 장고
- pip 설치
- django test
- materialized
- channels
- 페이지 최적화
- django drf
- django role based
- qpa_plugin
- 장고로 ERP
- query 최적화
- 재고 관리
- orm 최적화
- optimization page
- 파이썬
- pyside6 ui
- QApplication
- django
- Python
- uiload
- django erp
- django rank
- test drive development
- pip 오류
- pyside6
- qwindows.dll
- ERP
- Self ERP
- tensorflow
- Today
- Total
취미삼아 배우는 프로그래밍
생초보가 해보는 머신러닝일지-2(이미지 분류) 본문
실험결과 :
1. BATCH SIZE 바꾸기
BATCH 사이즈는 딱히 모델 정확도와는 큰 차별점은 없었다
속도랑만 연관이 있었다
2. 학습 이미지를 흑백으로 변경해서 학습
결과:
신재쪽이 그냥 올킬당했다
신재 569개 실패,,
이럴바에 그냥 차라리 칼라로 하는게 나을거같다
3. 모델 수정
기존 모델을 수정해본다.
# 기존 모델
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu'),
Dense(1)
])
>> 수정
# 모델 수정
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
MaxPooling2D(),
Dropout(0.2),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
# Dropout(0.3),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
# Dropout(0.3),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
# Dropout(0.3),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Dropout(0.1),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Dropout(0.1),
Flatten(),
Dense(512, activation='relu'),
Dense(1)
])
Dropout을 통해 0.2 미만인것들은 촥 하고 버리게 하고
Conv2D 레이어를 64, 32개 짜리를
하나씩 추가했다.
거기다가 0.1 Dropout도 주었다.
뭐가 근거가 있는 척 하고 적었지만
사실 Conv2D에 대해 뭘 알고 추가한건 아니다
40. ConvNet을 TensorFlow로 구현하자 (MNIST 99%) (lab 11)
앞서 설명했던 3개 동영상에 대한 실습 동영상이다. 교수님께서 올려 놓으신 소스코드가 있는 웹사이트 주소. 오른쪽 하단의 주소를 입력해서 다운로드하면 된다. 이번 동영상에 나온 코드 외에
pythonkim.tistory.com
여기 글에 따르면
아 무언가를 걸러내는 필터겠거니
하고 넣었다.
그런데 그 결과는 두둥
학습된 결과값에 대한 예측값이 이렇게나 적중을 잘 했다
심지어 모델 용량도 적어졌다(.. 이게 무슨일이래,, 393메가바이트에서 13메가바이트로 바뀌어버렸다.)
예측값도 좋아진데다가 용량도 적어졌다라..
뭔가 좀 이상하다
사실
Conv2D 레이어를 128까지 올려서 학습을 시켜봤는데
1도 학습하지 못했다.
느낌상 레이어가 너무 많은데다, Dropout도 0.1씩 줘가지고 쥐꼬리만한 가중치로 결과값이 나오지 않기에 학습이 안된게 아닐까 하는 생각이 든다. 그래서 똑같은 크기의 레이어를 한 번 씩 더 통과시켰다.
(아무런 지식 없이 막 적는 초보자의 의견입니다.)
다른 테스트코드를 작성해서 이번에는 실제 PDF를 통째로 넣고 이를 모델을 통해 직접 분류해보는 시간을 가져봐야겠다. 물론 학습에 들어가지 않은 도면을 가지구 할 거다.
* 테스트 짤
'머신러닝' 카테고리의 다른 글
생초보가 해보는 머신러닝일지-1(이미지 분류) (0) | 2020.05.27 |
---|