2017-02-06 4 views
2

매우 빠른 배경에 사용되는 동일한 데이터 세트에 대한 분류 (안 교육) 중 : 우분투 ResNet - NaN의 검증

OSX

에 GTX 1080

분류 최신 CAFFE 분기 16.04 LTS에

교육 나는 누군가가이 문제에 관해 밝혀 줄 수 있는지 궁금해. 나는 here에서 caffe를 사용하여 ResNet-50을 finetuning하고있다. 작은 데이터 세트로 실험하고 있습니다. 교육을 위해 약 1248 개의 이미지가 있고 유효성 검사를 위해 1656이 있습니다. 교육을받을 때마다 전체 유효성 검사를 수행 할 것입니다.

이제 훈련 중 그라디언트가 날아가거나 그와 비슷한 것을 나타내는 NaN이나 아무것도 볼 수 없습니다. NaNs, infs 또는 이상한 것이 없습니다. 그물을로드하고 훈련 도중 같은 이미지를 으로 분류하려고 시도하면 NaN이 표시됩니다. 왜 그런지 아십니까? 교육과 분류에서 계산을 수행 할 때 GPU 아키텍처와 CPU 아키텍처의 차이점은 무엇입니까?

:

[EDIT2 [편집은 내가 전처리를하고 있지 않다] : 그것은 확률을 보인다. 같은 이미지를 다시 실행하면 네트워크에서 적절하게 확률을 출력하거나 NaN을 다시 출력합니다. 내 솔루션은 현재 비 NaN이 표시 될 때까지 네트워크를 통해 동일한 이미지를 실행하는 것입니다. 그러나 때로는이 작업이 잠시 걸립니다.

+0

NAN이 발생할 수있는 BatchNorm 계층에 문제가 있습니다. 나는 그것을 조사 할 것을 제안 할 것이다. – Shai

+0

추가 정보를 명확히하거나 제공 할 수 있습니까? 그리고 아마도 저는 Caffe이 어떻게 작동하는지 오해하고 있습니다. 테스트 반복을 실행할 때, 나는 테스트 손실이나 테스트 정확도에서 결코 어떤 사람도 보지 못할 것입니다. BatchNorm 레이어와 관련된 문제도 여기에 표시되지 않겠습니까? – Chimi

+0

https://github.com/BVLC/caffe/pull/5136 – Shai

답변

0

다른 유형의 전처리 일 수 있습니다. NaN 입력에 대해 NaN 출력을 얻습니다. 따라서 사전 처리 (정규화?)를 사용하여 0으로 나누면이 문제가 발생할 수 있습니다.

+0

좋은 생각 - 언급하는 것을 잊어 버렸다. 전차를 타거나 분류를 실행할 때 사전 처리가 없습니다. – Chimi