2016-12-12 8 views
1

Digits에서 파이썬 레이어를 사용하여 임의의 크기로 자르기를 사용하여 각 트레이닝 이미지를 자르고 cv2.resize 메소드를 사용하여 예상되는 최고 크기 .caffe/digits : cv.resize와 함께 파이썬 레이어를 사용할 때 -11 오류가 발생했습니다.

저장 한 이미지 일괄 처리에서 오프라인으로 사용할 때 크기 조정이 예상대로 작동하므로 numpy 배열의 모양이 올바르게 조정됩니다 (128x3x227x227).

숫자로 파이썬 레이어를 사용할 때 코드 -11 오류가 발생합니다. CAFFE 출력 로그이 보여줍니다

I1212 12:11:41.999608 14949 solver.cpp:291] Solving 
I1212 12:11:41.999610 14949 solver.cpp:292] Learning Rate Policy: fixed 
I1212 12:11:42.001058 14949 solver.cpp:349] Iteration 0, Testing net (#0) 
I1212 12:11:42.001065 14949 net.cpp:693] Ignoring source layer train-data 
*** Aborted at 1481541102 (unix time) try "date -d @1481541102" if you are using GNU date *** 
PC: @  0x7f7c46b63acf cv::resize() 
*** SIGSEGV (@0x0) received by PID 14949 (TID 0x7f7c564d0ac0) from PID 0; stack trace: *** 
@  0x7f7c53b734b0 (unknown) 
@  0x7f7c46b63acf cv::resize() 
@  0x7f67e132d736 pyopencv_cv_resize() 
@  0x7f7c547a8c55 PyEval_EvalFrameEx 
@  0x7f7c548d301c PyEval_EvalCodeEx 
@  0x7f7c548292e0 (unknown) 
@  0x7f7c547fc1e3 PyObject_Call 
@  0x7f7c5487031c (unknown) 
@  0x7f7c547fc1e3 PyObject_Call 
@  0x7f7c548d2447 PyEval_CallObjectWithKeywords 
@  0x7f7c54830f17 PyEval_CallFunction 
@  0x7f67f34add85 caffe::PythonLayer<>::Forward_cpu() 
@  0x7f7c55bc6207 caffe::Net<>::ForwardFromTo() 
@  0x7f7c55bc6577 caffe::Net<>::Forward() 
@  0x7f7c55be8dda caffe::Solver<>::Test() 
@  0x7f7c55be992e caffe::Solver<>::TestAll() 
@  0x7f7c55be9a4c caffe::Solver<>::Step() 
@  0x7f7c55bea5e9 caffe::Solver<>::Solve() 
@   0x40cf6f train() 
@   0x4088e8 main 
@  0x7f7c53b5e830 __libc_start_main 
@   0x4091b9 _start 
@    0x0 (unknown) 

추가 정보 :

  • 내가 (작동시) 크기 조정 방법 오프라인을 테스트하는 환경은 내가 자리/CAFFE
  • 사용하는 것과 동일한 환경
  • 대신 scipy misc.imresize 메서드를 사용할 수 있으며 예상대로 작동하지만 scipy 메서드는 원래 numpy 값을 유지하지 않고 0-256 범위의 uint8로 다시 변환하므로 해당 메서드를 사용할 수 없습니다. 그것은 (오프라인 배치 테스트)도 CV2보다 훨씬 느리다

다른 보간 방법을 제시 할 수있는 사람도

많은 감사

답변

1

가 해결 매우 유용 할 것 NumPy와 차 배열의 크기를 조정하는 경우 , cmake 플래그 및 virtualenv로 인해 caffe 설치에 문제가있었습니다. opencv-python 버전이 3.1.0 인 virtualenv에서 숫자를 실행했습니다 그러나 caffe를 설치할 때 cmake는 opencv-python 버전 2.4.9를 확인하고 이에 따라 caffe를 빌드했습니다. 이것은 오류의 원인이며, python 바인딩이 맞지 않습니다. 이 문제를 해결하기 위해 opencv 2.4.9를 사용하여 새로운 virtualenv를 만들었으며 해당 환경에서 숫자가 시작되었습니다.