2017-03-17 3 views
0

비교적 큰 RNN (128 셀 LSTM 및 일부 추가 레이어)을 교육하는 코드 작업 중입니다. 주요 프로세스는 CPU 코어를 최대화하는 것이며 이것이 정상적인 것인지 아니면 최적화 할 수 있는지 궁금합니다. 교육 루프 (session.run 호출) 중에는 한 코어에서 100 % CPU로드를 사용하는 동안 약 60-70 % GPU로드를 사용합니다. 데이터 샘플링 작업은 이미 다른 코어에서 동시에 수행되고 있으므로 모델 매개 변수를 업데이트하는 것입니다. TensorFlow에서 이와 같은 응용 프로그램에 대해 정기적으로 실행해야합니까? 아니면 GPU의 전체 용량을 사용하면서 CPU로드가 훨씬 낮아야합니까?TensorFlow RNN 교육 60 % GPU 만 사용하는 동안 CPU 100 %

+0

흥미 롭습니다 ... 저는 30 %의 CPU와 25 %의 CPU만을 사용하는 훈련을하고 있는데 왜 2 가지 중 하나를 포화시키지 않는지에 대한 해답을 찾고 있습니다. – Trejkaz

답변

0

나는 생각한다 RNN 셀은 두 개의 입력을 가지고 있습니다. 데이터를 전송할 때 두 방향 입력을 기다려야합니다. 즉, CNN처럼 병렬 처리를 최적화하지 마십시오. 큰 배치 크기를 사용하여 GPU 사용률을 높일 수는 있지만 그와 같은 다른 문제가 발생할 수 있습니다. 딥 학습을위한 대규모 일괄 교육 : 일반화 간격 및 예리한 최소.