사진과 그림을 구분해주는 모델 따라하기
순서
- Module Import
- 데이터 목록 확인
- gray scale한 array를 dataset으로 만들기
- 데이터셋 합치기
- train test split
- normalize 및 모델 학습에 적합한 형태로 변환
- 사진, 그림 이렇게 두가지 카테고리로 변환
- 모델링 (Sequential)
- 모델 컴파일 (optimizer)
- 모델 fit
- 그래프로 정확도와 손실을 확인
- 예측 및 결과 확인 test
모델링 관련 함수 정리
사용량 확인 함수
nvtop gpu : 사용량 체크 커멘드 라인 함수
htop cpu : 사용량 체크 커멘드 라인 함수keras 컨볼루션 신경망
keras 컨볼루션 신경망 (참고)
활성화 함수
노드에 입력된 값들을 비선형 함수(활성화 함수)에 통과시킨 후 다음 레이어로 전달 비선형 함수는 딥러닝 모델 레이어 층을 깊게 (은닉층) 사용할 수 있음
- relu (Rectified Linear Unit, 경사함수)
- x가 0보다 크면 기울기가 1인 직선, 0보다 작으면 함수 값이 0
- MaxPooling2D : 폴링 연산. 4차원 데이터를 입력으로 받고 출력도 4차원 데이터로 출력
- Flatten : 주요 특징 추출해서 전결합층에 전달하기 위해 1차원 자료로 변환
- softmax : 출력층에서 사용되는 함수. 다중 클래스 분류 모델을 만들때 사용.
- 결과를 확률로 해석할 수 있게 변환해주는 함수
loss function의 최소값을 찾는 것을 목표로 최적화하는 알고리즘
- Adam (Adaptive Moment Estimation)
Q&A
- CPU vs GPU
- CPU는 거의 모든 계산을 사용 할 수 있으나, 병렬 컴퓨팅에 적합하지 않음. 순차적인 데이터를 사용하는 경우 유용할 수 있음
- GPU는 이미지 생성과 조작을 위한 전자 칩으로 딥러닝에서 병렬 구조를 훈련하는데 빠른 연산이 가능함. 신경망과 같은 복잡한 다차원의 형식에서 학습 적합함. 다만 비싸고, 에너지 소비가 큼.
- GPU 사용하지 않고 CPU만 사용할 경우
728x90
'데이터 어쩌구 > 기술 써보기' 카테고리의 다른 글
[multi-modal] Image, Text pair models (0) | 2023.08.27 |
---|---|
[Class 101] 협업 필터링 기반 추천 목록 만들기 (0) | 2023.08.27 |
[Class 101] 룰 베이스 기반 추천 목록 만들기 (0) | 2023.08.27 |
[Class 101] 추천시스템 이해하기 (0) | 2023.08.27 |
Model 저장과 사용 (tf.keras) (0) | 2023.08.26 |