프로그래밍/Python

[Python] Tensorflow Function call stack: train_function error 해결

Beginner:) 2021. 9. 3.
320x100

jetson nano를 이용하여 tensorflow를 돌리다 

 

Function call stack: train_function error와 마주침.

 

그냥보면 train_function 함수를 실행하는데 스택오버플로가 발생한듯 하여 검색

 

만약 데이터셋이 100개이고 batch_size가 10으로 설정되어있다면 

 

데이서셋 10개씩 10번을 반복하여 데이터셋 100개를 학습하여 1Eporch를 수행한다고 한다

 

Window환경에서 돌렸을땐 이상이 없엇는데 

 

Jetson에서 에러가 났다는건 가용메모리를 넘어서기 때문.

 

batch_size 를 줄이면 된다. 

 

실제로 tensorflow 예제대로 batch_size를 32로 설정하면 에러가 났으나 16으로 설정하니 오류없이 실행되었다.

 

아래는 batch_size에 관한 논의를 소개한 글이다.

 

https://blog.lunit.io/2018/08/03/batch-size-in-deep-learning/

 

Batch Size in Deep Learning

딥러닝 모델의 학습은 대부분 mini-batch Stochastic Gradient Descent (SGD)를 기반으로 이루어집니다. 이 때 batch size는 실제 모델 학습시 중요한 hyper-parameter 중 하나이며, batch size가 모델 학습에 끼치는 영

blog.lunit.io

 

결과만 요약하자면

1. batch_size의 영향을 명확하게 밝혀진 증명은 없다.

2. batch_size를 줄이는 것이 generalization측면에서는 좋다

3. batch_size를 늘리는 것은 시간단축에 좋다

 

 

반응형

댓글