2017-03-24 2 views
3

제 질문은 간단하고 진지한 질문입니다. 신경망을 훈련하고 예측하는 동안 배치 크기는 무엇을 지정합니까? 데이터를 시각화하여 데이터가 네트워크로 전송되는 방식을 명확하게 파악하는 방법. 제가 이해하는 것은에 관해서는 CSV 파일에서 각 기능을하고, (41)에 공급한다 그래서 나는,tensorflow에서 Batch_size? 개념 이해하기

encoder = tflearn.input_data(shape=[None, 41]) 
encoder = tflearn.fully_connected(encoder, 41,activation='relu') 

과 내가 41 개 기능을 csv 파일로 입력을 복용하고 autoencoder이 있다고 가정

나의 배치 크기가 1 일 때 첫 번째 계층의 뉴런.

그러나 배치 크기를 100으로 늘리면이 41 개의 100 배치 기능이 어떻게이 네트워크에 공급됩니까?

model.fit(test_set, test_labels_set, n_epoch=1, validation_set=(valid_set, valid_labels_set), 
      run_id="auto_encoder", batch_size=100,show_metric=True, snapshot_epoch=False) 

는 그들에 배치 또는 일부 작업에 어떤 정상화가있을 것인가?

epocs의 수는 경우

답변

3

배치 크기는 모두 동일은 당신이 당신의 네트워크에 공급 된 샘플의 양입니다. 입력 인코더의 경우 샘플 당 41 개의 값을 가진 불특정 (없음) 샘플을 입력하도록 지정합니다.

아무 것도 사용하지 않는 이점은 이제 한 번에 100 개 값 (그라디언트에 유용함)을 배치하고 하나의 값 (예측을 원하는 한 샘플)의 배치만으로 테스트 할 수 있다는 것입니다. .

당신이 배치 당 더 정상화가 없습니다 배치 당 정상화를 지정하지 않으면

는)

희망 나는 그것을 충분히 설명! 더 많은 질문이 있으시면 언제든지 물어보십시오!

+0

응답 해 주셔서 감사합니다.하지만 배치 크기를 1로 설정하면 41 개 기능의 첫 번째 행이 NN으로 이동하여 1 에포스의 가중치를 다시 전달합니다. 배치 크기를 100으로 늘리면 41 개의 피쳐가 필요하고 필요한 정보가 추출되며 100 개의 배치에 대해이를 수행 한 다음 백 프로게이트 할 것입니다. M : 여기 있어요? –

+0

네트워크에 넣은 전체 test_set에 대해 항상 실행됩니다. 300 개의 샘플을 가지고 있다고 가정 해 봅시다. 배치 크기가 1과 100 사이의 차이점은 첫 번째 경우에는 백 프로 퍼 게이트가 300 번이고 두 번째 경우에는 3 번 수행된다는 것입니다. 두 번째 것은 빠르고 정확합니다. – rmeertens

+0

감사합니다 @rmeertens 이것은 매우 명확하게 만들었습니다. –

관련 문제