2023/08 5

TabError: inconsistent use of tabs and spaces in indentation 에러

TabError: inconsistent use of tabs and spaces in indentation 에러가 나왔을 때 보통 불필요한 탭이나 스페이스 공백이 입력됐는지 확인해 보게 됩니다. 그러나 아무리 보아도 여백은 보이지 않는데, 해당 에러가 계속 발생하네요. 문제는 인터프리터 언어인 파이썬의 들여쓰기 문법입니다. 인터프리터 언어는 들여쓰기의 위치로 해당 구문의 문법 위치를 정하는데, 각 들여 쓰기가 탭과 스페이스가 혼용되어있으면 이를 하나의 들여 쓰기로 인식하지 못합니다. 따라서 모든 행의 들여쓰기 방식을 탭 혹은 스페이스 둘 중 하나로만 정해줘야 들여 쓰기를 온전히 인식합니다. 보통 자신이 사용하는 스타일만 고수하기 마련인데, 다른 사람이 작성한 코드를 수정하다 보면 각자의 스타일이 섞여서..

Language/Python 2023.08.28

ERROR: nvcc not found 에러 해결 방법

jetson의 linux환경에서 bash install을 수행할 때 다음과 같은 에러가 발생할 수 있다. ERROR: nvcc not found 이는 CUDA환경이 필요한 패키지를 설치할 때 CUDA경로가 확인이 안되어 나타나는 것으로 export로 경로를 잡아주면 된다. export PATH=/usr/local/cuda-10/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_..

Embedded 2023.08.25

젯슨 나노 Yolo configuration customizing으로 fps 개선

젯슨 나노에서 yolo를 구동하면 성능이 썩 좋지는 않습니다. 저는 yolo4 기준으로 1fps 수준이 나와 실시간 추론을 하기엔 처리속도가 턱없이 부족했습니다. 이때 너무 높은 정확도가 필요하지 않다면 yolo configuration을 통해서 처리속도를 향상시킬 수 있습니다. darknet 설치버전 yolo를 기준으로 합니다. 우선 darknet/cfg폴더에서 yolov4.cfg파일을 편집기로 엽니다. 해당 파일에서 yolo 추론 모델의 파라미터 세팅이 가능합니다. batch : 1번에 처리되는 데이터 수 subdivisions : batch를 나눠서 처리하기 위한 값. 값이 커질수록 batch를 더 많이 나눠서 하므로 메모리가 작을수록 유리하나 속도는 떨어짐. width : 입력 이미지 가로 hei..

AI/CNN 2023.08.23

젯슨 나노 object detection을 위한 Yolo 구동 환경 구축

젯슨 나노에 yolo를 설치하여 object detection을 구현해보겠습니다. 우선 cuda 설치 경로 및 버전을 확인합니다. ls /usr/local/ 제 기준 cuda10 버전으로 폴더명은 cuda-10으로 확인됩니다. 해당 경로를 export 해줍니다. export PATH=/usr/local/cuda-10/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+..

AI/CNN 2023.08.10

compilation : native vs cross

compilation은 native와 cross로 나뉩니다. native compilation는 컴파일 하는 환경과 실행하는 환경이 동일한 경우를 의미합니다. cross compilation은 반대로 크로스 컴파일은 컴파일 하는 환경과 실행하는 환경이 다른 경우입니다. 이때 환경의 기준은 매우 다양합니다. OS, CPU 사양 및 제조사 등의 차이를 기준으로 합니다. 예를 들어 윈도우PC에서 안드로이드 용 실행 파일을 만들 때, 맥PC에서 안드로이드 용 실행 파일을 만들 때, 윈도우PC에서 IOS용 실행 파일을 만들 때, 맥PC에서 IOS용 실행 파일을 만들 때 모두 다른 컴파일 환경을 통해야 합니다. 이를 크로스 컴파일이라고 합니다.

CS&OS 2023.08.09