인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

슬로우 딥러너님의 프로필 이미지
슬로우 딥러너

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

Oxford Pet 데이터 세트 Training 및 Object Detection 실습 02(Pipeline Config 수정및 Training 수행)

추가 질문드립니다. (200522)

해결된 질문

작성

·

96

0

안녕하세요
아래 댓글로 달려다가 댓글로 달면 질문보낸 걸로 인식하지 못하실까봐 여기다가 질문을 남깁니다.

말씀해주신 것 중에

Tensorflow v1을 이용한 train 시 아래의 정보가 있고
>> steps (총 iteration 횟수) =30,000 
>> 전체 이미지 개수 =1,000 
>> batch_size = 10 

위의 정보를 Keras로 매핑하면 아래와 같다.
>> steps_per_epoch = 1,000 / 10 = 100
>> epoch = 30,000 / 100 = 300 

이 부분에 대해선 이해가 되었습니다. (감사합니다 ^^)
그런데 2번째 질문에 대해선 조금 더 답변을 얻고자 질문을 드리게 되었습니다. 

Keras의 경우
>> batch_size 는 1 epoch의 전체 step 중 1 step에서 사용되는 dataset (혹은 이미지) 개수 라고 알고 있습니다. 

그런데 Tensorflow v1의 경우
>> batch_size는 (전체 iteration 중) 1 iteration에서 사용되는 dataset (혹은 이미지) 개수라고 생각하면 될까요?
>> 혹시 표현이 맞지 않다면 train용 tfRecord 파일의 전체 레코드 개수 중에서 1 iteration에 사용되는 record 수 라고 표현하는 것이 맞는 걸까요? 

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

1. Keras의 경우
>> batch_size 는 1 epoch의 전체 step 중 1 step에서 사용되는 dataset (혹은 이미지) 개수 라고 알고 있습니다. 
=> 네 맞습니다.

2. 그런데 Tensorflow v1의 경우
>> batch_size는 (전체 iteration 중) 1 iteration에서 사용되는 dataset (혹은 이미지) 개수라고 생각하면 될까요?
>> 혹시 표현이 맞지 않다면 train용 tfRecord 파일의 전체 레코드 개수 중에서 1 iteration에 사용되는 record 수 라고 표현하는 것이 맞는 걸까요?

keras와 동일합니다. batch_size는 한번 읽을때 몇개의 이미지를 읽을 것인가를 나타냅니다.  1000개의 이미지가 있다면 batch_size가 100이면 10번만 읽으면 됩니다.  수행 속도의 향상을 위해서 batch_size가 필요합니다만, 반대로 너무 큰 batch_size를 정하면(가령 전체 이미지 갯수) GPU 메모리가 부족해 지므로 적절한 batch_size를 정합니다.

추가적으로 답글을 달아도 제게 메일이 날라오게 되어 있습니다.

감사합니다.

슬로우 딥러너님의 프로필 이미지
슬로우 딥러너

작성한 질문수

질문하기