일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 상속
- 자바 실습
- c언어
- 중학1-1
- 개발일기
- 중학수학
- SQL
- 파이썬
- 자바스크립트심화
- 정보처리기사필기
- 머신러닝
- 정보처리기사실기
- 데이터분석
- ChatGPT
- rnn
- 자바스크립트
- 컴퓨터비전
- html/css
- 디버깅
- JSP/Servlet
- 데이터베이스
- CSS
- 컴퓨터구조
- 자바
- 혼공머신
- 딥러닝
- 순환신경망
- JSP
- JDBC
- 연습문제
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
케라스 10 - 텐서플로 데이터셋 본문
이제 케라스 학습도 얼마 남지 않았다. 텐서플로 데이터셋에 대해서 공부해 볼 것이다.
1. 개요
딥러닝 모델을 훈련할 때 가장 중요한 요소 중 하나는 데이터셋이다. 좋은 품질의 데이터셋을 구하고 가공하는 일은 생각보다 비용이 큰 일이다. 텐서플로 데이터셋이라는 별도의 라이브러리를 제공함으로써 다양한 데이터셋을 쉽게 얻을 수 있다.
2. 라이브러리 설치
텐서플로 데이터셋은 텐서플로와는 별도로 구분된 라이브러리다. 텐서플로가 설치되어 있더라도 텐서플로 데이터셋을 활용하기 위해서는 별도의 설치 과정이 필요하다.
구글 코랩에서는 사전에 설치되어 있으므로 별도의 설치 과정은 필요 없다.
3. 데이터셋 목록
텐서플로 카탈로그 메뉴에서 제공하고 있는 데이터셋의 종류를 확인할 수 있다.
훈련 카테고리별로 잘 정리되어 있으며, 데이터셋의 샘플, 사이즈, 클래스, 검증 세과 테스트 셋의 제공 여부, 출처 등이 명시되어 있다. 활용하고 싶은 데이터셋이 있다면 공식 문서에 명시된 사항을 사전에 읽어본 후 활용하는 것을 추천한다.
4. 데이터셋 로드
텐서플로 데이터셋은 tfds 별칭을 사용한다.
먼저 사용하고자 하는 데이터셋을 정한 후 데이터셋 이름을 확인한다. 데이터셋의 이름을 잘 기억해 두었다가 tfds.load() 함수 name 매개변수에 지정한다.
split 개개변수는 로드할 데이터셋의 스플릿을 지정한다. 앞의 예제에서 ds 변수에는 PrefetchDataset가 출력되며 딕셔너리 형태로 데이터셋의 형태를 미리 보여준다. 데이터셋의 개별 데이터 출력을 위해서는 for in 반복문으로 확인할 수 있다. 반복문 수행시 .take()를 활용하여 전체 데이터셋을 출력하지 않고 일부만 출력할 수 있다.
개별 데이터는 딕셔너리 형태로 이루어진 것을 확인할 수 있으며 키 값으로 조회할 수 있다.
키 값으로 조회하여 별도의 변수에 대입한 후 이미지는 shape을 확인하고 label은 직접 출력했다. 이미지의 shpae은 전부 (32, 32, 3) 형태로 이루어진 것을 확인할 수 있고, label은 0~99 사이의 값들 중 하나가 출력된다.
데이터셋을 로드할 때, as_supervised = True로 지정하면 데이터셋을 튜플 형식으로 받아온다.
튜플 형식으로 데이터셋 로드 시 키 값을 확인하지 않아도 되기 때문에 많이 사용되는 옵션이다. with_info = True로 지정하면 데이터넷의 정보를 같이 리턴한다.
정보는 공식 문서에서 확인할 수 있는 내용과 동일하기 때문에 공식 문서를 확인하거나 with_info = True로 지정하여 확인하는 방법 중 편한 방식을 택하여 진행하면 된다.
학습을 마치고
텐서플로 데이터셋에 대해서도 불러오는 방법 등 여러 가지를 배울 수 있었다. 아침에는 과연 오늘 케라스 학습을 마칠 수 있을까 의문이 들었지만 밤 12시가 되지 전에 거의 모든 학습을 마쳤다.
마지막 10단원에 있는 내용은 학습을 할지 말지 고민이 된다.
'인공지능 > 딥러닝' 카테고리의 다른 글
이미지를 위한 인공 신경망 1 - 합성곱 신경망의 구성 요소 1 : 합성곱에 대하여 (0) | 2024.10.27 |
---|---|
케라스 11 - tf.data.Dataset 클래스 (1) | 2024.10.26 |
케라스 9 - 사용자 정의 : 배치 및 자동 미분을 활용한 모델 훈련 (1) | 2024.10.26 |
케라스 8 - 복잡한 모델 생성 (0) | 2024.10.26 |
케라스 7 - 모델 저장 및 불러오기 (0) | 2024.10.26 |