텐서플로우 딥러닝 (CNN)
- 최초 등록일
- 2023.03.30
- 최종 저작일
- 2022.12
- 13페이지/ 어도비 PDF
- 가격 2,000원
소개글
"텐서플로우 딥러닝 (CNN)"에 대한 내용입니다.
목차
1. 서론 (문제 설명)
1-1. Data Set
1-2. CNN, 함수형 API
1-3. ImageDataGenerator
2. 구현 내용 (코드와 함께 구현 내용 설명)
2-1. Data Set
2-2. CNN, 함수형 API
2-3. Evaluate Accuracy
2-4. Matplotlib
3. 실험 결과 (화면 덤프 및 그래프를 통해 설명)
3-1. Data Set
3-2. Matplotlib
3-3. Evaluate Accuracy
4. 결론 (결론, 과제 수행 느낌)
5. 참고문헌
6.전체 코드
본문내용
1. 서론
tensorflow를 이용하여 꽃(flower)을 합성곱 신경망(CNN ; Convolutional Neural Network)으로 학습하고 꽃의 종류를 구분하는 프로그램을 구현하려고 한다. flower의 종류는 장미(rose), 튤립(tulip double), 리시안셔스(lisianthius), 총 3개의 flower을 선택했다.
1-1. Data Set
학습 데이터에 사용할 영상은 Google에서 이미지 검색으로 꽃을 검색하고, FatKun이라는 크롬 확장 프로그램을 사용하여 영상을 다운로드 받았다. 테스트 데이터에 사용할 영상은 꽃을 직접 구입하여 촬영한 영상 데이터를 사용했다.
<중 략>
1-2. CNN, 함수형 API
기본적으로 이미지 분류를 하기 위해서는 합성 곱 신경망(CNN)이 필요하다. 2차원 CNN의 특징 추출 부분은 MaxPool2D층과 Conv2D층을 반복하여 구성하고, 분류를 위한 출력층은 완전 연결 Dense 층으로 구성한다. 풀링 윈도우와 합성 곱의 커널의 행과 열의 2차원 배열 윈도우 형태이다. CNN은 합성 곱층과 풀링 층을 반복적으로 사용하여 훈련 데이터의 특징을 학습하고, 완전 연결 Dense 층을 출력층으로 사용하여 분류한다.
함수형 API로 모델을 구성하면 다중 입력과 다중 출력을 갖는 모델을 만들어 다양한 구조의 모델을 생성할 수 있다.
1-3. ImageDataGenerator
구글에서 크롤링한 학습 데이터 이미지들과 직접 촬영한 테스트 데이터 이미지들은 서로 각기 다른 size를 가지고 있다. ImageDataGenerator()는 배치 크기의 실시간 영상확장(이동, 회전, 줌 등) generator이다. Python의 generator 함수를 사용하면, 미리 모든 데이터를 생성하여 메모리에 로드하지 않아도, model.fit()에서 배치 데이터가 필요할 때마다 배치 데이터를 얻을 수 있다는 장점이 있다.
참고 자료
Data Set – train data 구하기
웹 페이지에 있는 이미지 전부 다운로드 받기 (이미지 크롤링)
https://cocojuan.tistory.com/836
Data set 불러오기
텐서플로 딥러닝 프로그래밍 (김동근 저) : p437-p439 (cats_and_dogs 분류)