에러 메세지

1
2
3
4
5
6
7
AttributeError: module 'numpy' has no attribute 'float'.

`np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

문제 상황

객체 경로 추적 관련으로 yolov7을 이용한 theo의 프로잭트 이용 도중 에러가 발생했다.
cython_bbox 모듈 import 중 위와 같은 에러가 발생했음

원인

numpy가 1.20 버전으로 업데이트 되면서 numpy.float 이라는 attribute가 사라지게 되었다.
앞으로는 numpy.float64, numpy.float128 과 같이 특정 지정을 해서 사용해야 한다.

해결

결국 해결하지 못했다.
(1) numpy를 1.19.5 버전으로 다운그레이드 하는 방법 -> 실패 (의존성 충족 안됨)
(2) cython_bbox 내 numpy.float 코드 수정 -> cython_bbox 파일 못찾음

꽤 많은 시간을 들였지만 해결하지 못해 슬픈 하루다.
너무 이것만 들여다보면 오히려 갇힌 사고를 할 것 같아 일단은 손을 떼 봄.

Reference

https://stackoverflow.com/questions/74844262/how-can-i-solve-error-module-numpy-has-no-attribute-float-in-python