티스토리 뷰
인턴십 완전 종료까지 계속 자료를 보내주신다고 하여, 감사한 마음으로 받고 있다.
오늘은 복수의 .csv 파일로부터 데이터를 적재하고 전처리를 합치는 함수를 살펴보자.
def csv_reader_dataset(filepaths, repeat=None, n_readers=5, n_read_threads=None, shuffle_buffer_size=10000, n_parse_threads=5, batch_size=32):
dataset = tf.data.Dataset.list_files(filepaths).repeat(repeat)
dataset = dataset.interleave(lambda filepath: tf.data.TextLineDataset(filepath).skip(1), cycle_length=n_readers, num_parallel_calls = n_read_threads)
dataset = dataset.shuffle(shuffle_buffer_size)
dataset = dataset.map(preprocess, num_parallel_calls = n_parse_threads)
dataset = dataset.batch(batch_size)
return dataset.prefetch(1)
def csv_reader_dataset(filepaths, repeat=None, n_readers=5, n_read_threads=None, shuffle_buffer_size=10000, n_parse_threads=5, batch_size=32):
filepaths는 원본 데이터의 경로
repeat = None이니 반복은 없음
n_readers=5 각 파일을 5줄씩 읽겠다는 뜻
n_read_threads는 뭔지 모르겠다.
shuffle_buffer_size 셔플에 사용할 버퍼의 크기(여기서는 1만)
batch size는 데이터 세트를 지정한 숫자만큼 묶어줄 수 있다(여기서는 32).
dataset = tf.data.Dataset.list_files(filepaths).repeat(repeat)
두 번째 줄에서는 filepath에서 셔플한 리스트를 dataset에 저장한다.
dataset = dataset.interleave(lambda filepath: tf.data.TextLineDataset(filepath).skip(1), cycle_length=n_readers, num_parallel_calls = n_read_threads)
interleave 메소드는 랜덤으로 만들어진 데이터셋(여기서는 5개)에서 번갈아서 데이터를 읽어올 것이다.
TextLineDataset은 5개 데이터셋의 파일을 랜덤으로 읽어서 한 줄로 되어 있는 데이터셋 5개를 만들 것이다.
dataset = dataset.shuffle(shuffle_buffer_size)
buffer size만큼 셔플한다. 1만 번 섞게 될 것이다.
dataset = dataset.map(preprocess, num_parallel_calls = n_parse_threads)
교재에는 map 메서드에 대한 설명이 있나본데 내가 받은 자료에는 없다. 아이템을 변환하는 메소드인 듯.
지금 보는 책을 다 보면 핸즈온 머신러닝 2판을 사서 공부하면서 추가해야겠음.
dataset = dataset.batch(batch_size)
return dataset.prefetch(1)
batch 메서드로 32개의 묶음(batch)을 반환한다. prefetch는 정확히 뭔지 모르겠는데 아마 이것과 유사한 기능을 수행하는 모양이다.
함수를 필사한 다음에 한 줄씩 의미를 뜯어보았다.
일단 여기까지.
'공부' 카테고리의 다른 글
210925 개인공부 (0) | 2021.09.26 |
---|---|
210924 개인공부 (0) | 2021.09.24 |
R Computing DAY 1: R 입문하기 (0) | 2021.04.01 |
20201110 DAY08 3차원 그래프 그리기 (0) | 2020.11.10 |
20201028 sklearn 선형회귀모델 예제 중 (0) | 2020.10.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 빅데이터분석기사
- data annotation
- Kaggle
- 취업준비
- Notion2Tistory
- github
- 빅분기합격
- 인공지능
- ai부트캠프
- 빅분기
- 코드스테이츠
- ADsP합격후기
- googlecolab
- 자버
- 이자포스터디
- 깃허브
- ADsP
- 데이터준전문가
- 개발자포트폴리오
- 빅분기후기
- 빅데이터
- 커리어코칭
- 데이터준전문가합격후기
- 데이터분석
- 데이터과학
- 이력서
- 코테공부
- todayIlearned
- Til
- 자격증
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함