2016-08-15 6 views
0

Tensorflow r0.9/r.10을 사용하여 다음과 같은 메시지가 표시됩니다. 내 신경 네트워크 모델을 잘못된 방식으로 설정했는지 걱정됩니다.TensorFlow PoolAllocator 요청 수가 많음

I tensorflow/core/common_runtime/gpu/pool_allocator.cc:244] PoolAllocator: After 6206792 get requests, put_count=6206802 evicted_count=5000 eviction_rate=0.000805568 and unsatisfied allocation rate=0.000806536 

I가 사용하는 네트워크 AlexNet/VGG-M, I는 변수 회라는 함수의 OPS, 및 생성과 유사한 다음 동일한 omptimizer 손실 예측 함수를 호출 여러 에포크에 걸쳐 I 단지 루프 각 미니 배치 반복마다.

또 다른 문제는 큰 배치 크기를 사용할 때 네트워크가 불안정해질 수 있다는 것입니다. 몇 개의 신기원으로 정상적으로 실행 된 다음 메모리가 부족해집니다 (할당하려고합니다 ...).

무엇인가 잘못되었는지 그리고 어떤 것이 있는지 확인할 방법이 있습니까?

답변

0

이것은 정보 수준의 로그 문 ("I"접두사)입니다. 그것은 틀린 것이 반드시 있음을 의미하지는 않는다. 그러나 풀 할당 자 (할당을위한 캐시)는 빈번히 기본 할당 자로 돌아 가야한다는 것을 발견하고있다. 이것은 메모리 부족을 나타낼 수 있습니다.

불안정성 문제로 인해 : 큰 일괄 처리로 인해 메모리 부족 오류가 발생할 수 있습니다. 운영자 스케줄링에는 비 결정적입니다. 따라서 매번 실패 할 수 있습니다. 일관되게 더 이상 메모리 오류를 볼 수 없을 때까지 배치 크기를 낮추십시오.

+0

@ peter-hawkins에게 감사드립니다. 나는 이미 그렇게했으며, 안정적인 훈련을 할 수 있었지만, 이것은 호기심을 만족시키지 못합니다. 어떤 작업을하면 가장 많은 메모리를 할당하는지 알 수 있습니다. 언젠가는 LRN 연산자가 GPU가 구현되지 않았기 때문에 CPU에서만 작동한다는 것을 알게되었습니다. 높은 CPU 사용. 운영자가 점점 더 많은 변수를 생성하는 경우 어떤 프로파일 링 작업이 가장 효과적일까요 (어떤 제안이라도 환영합니다!). – Alvise

관련 문제