프로그래밍/에러가 났을때

[assert 'detection' in self.models 에러] ipynb에서는 되는데 py에서는 안될 때

개발자 덕구🐾 2022. 4. 8. 17:14
728x90

에러

 

 

학생들의 임베딩값을 추출해서 DB에 저장하려는데 이런 에러가 발생했다.

 

 

 

AssertionError 가 발생하였다. 

 

 

 

Class FaceAnalysis

 

이 코드에서 에러가 발생했다.

이상하게도 ipynb에서는 실행이 되는데

 

파이썬 파일에서는 실행이 되지않는다. 

 

 

 

새로운 라이브러리 (torch)도 설치해봤는데 안되고 

실행되는 ipynb파일을 py파일으로  바꾸는 라이브러리를 이용해서 바꿔도 소용이 없었다. 

 

 

같이 프로젝트를 진행하는 친구가 코드를 봐주었는데 문제는

onnx_files 목록을 출력했을 때  아무것도 나오지 않는다는 것이다.

즉 사진 37줄에 있는 코드 onnx_files = glob.glob(osp.join(root, name, '*.onnx')) 에서 문제가 있는것이다.  

 

 

 

 

새로운 파일을 만들어서 이유를 찾아보았다. os.path 와 glob의 사용법을 이해하고 

os, glob 라이브러리를 이용해 경로를 출력하여 비교해보고 onnx를 잘 받아오는지 확인하였다.

문제는 경로에 있는 '\', '/' 문제였다.

 

주피터 노트북에서의 경로와 python에서의 슬래시 방향이 달라서 발생한 문제였다. 

 

 

 

 

 

슬래시 방향을 바꾸어 수정하였더니 수행이 되었다.

 

 

 

ipynb를 py로 바꿀 때 슬래시 방향을 주의하자. 

 

 

혼자 프로젝트를 진행하였다면 assert에러만 구글링 해보다가 

안된다고만 생각해서 몇일을 허송세월 보냈을지 모른다.

 

함께 하는 동료가 있어 좋다.

 

 

중간 중간 print문을 실행하며 어디까지 실행이 되는지 어디서 에러가 발생하였는지 확인하자!

 

 

 

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

반응형