개발(36)
-
Tensorflow Inference Error (cudnn_cnn_infer64_8.dll, 코드 126)
Object Detection AI model을 다른 컴에 배포하고 추론(Inference)을 진행할 때 발생한 에러이다. 에러 메세지 Could not load library cudnn_cnn_infer64_8.dll. Error code 126 Please make sure cudnn_cnn_infer64_8.dll is in your library path! 예제 환경 Geforece GTX 1660 SUPER (6GB) Windows 10 CUDA 11.2 cuDNN 8.8 python 3.8.8 tensorflow 2.8.0 해결 https://developer.nvidia.com/rdp/cudnn-download 에서 CUDA 버전에 맞는 cuDNN을 다운로드 받는다. 다운로드받은 파일의 압축..
2023.02.17 -
Dart 시작하기 1. 변수 (Variables)
파이썬부터 시작한 나로서는 "void main() {}"구문이 꼭 있어야 코드를 실행할 수 있어야 한다는 점이 낯설었다. 굳이 파이썬에서 비슷한 구문을 찾으라면 "if __name__ == '__main__':"일 것이지만, 사실 파이썬에서는 이 구문 안써도 코드가 실행된다. 그리고 유의할 점은 코드마다 ';'(세미콜론)을 안쓰면 에러 뜬다. 주석을 쓰려면 Dart는 '//'를 쓰고, Python은 '#'을 쓴다. # Dart void main() { print('hello'); } # Python if __name__ == '__main__': print('hello') 본격적으로 Dart로 변수를 선언해보자. 파이썬과 다르게 변수명만으로 선언되지 않는다. 자료형(type)을 앞에 선언해줘야 하는데, ..
2023.02.04 -
ImportError: DLL load failed while importing QtWidgets: 지정된 프로시저를 찾을 수 없습니다.
에러 메세지 Traceback (most recent call last): File "test.py", line 12, in from PyQt5.QtWidgets import * ImportError: DLL load failed while importing QtWidgets: 지정된 프로시저를 찾을 수 없습니다. 환경 WindowOS Anaconda Prompt 해결 잘 돌아가던 코드가 안된다. Window나 Conda환경이 업데이트되면서 버전이 안맞아 발생하는 거라 추측된다. 나의 경우에는 아래 커맨드로 에러를 해결할 수 있었다. conda update pyqt PyQt가 Conda를 통해서 잘 설치되어 있었나보다. 이 커맨드로 해결이 안되면, pip uninstall pyqt # 삭제 후, pip ..
2023.02.02 -
라즈베리파이4 (32-bit OS)에 OpenCV 4.7.0 설치
임베디드 시스템 개발 프로젝트를 시작하게 되어, 라즈베리파이에 OpenCV를 설치해보았다. 끝내고 나면 생각보다 간단한데, 이래저래 정독하다보니 셋업하는데 2~3시간이 걸렸다. (이 포스팅을 발판삼아 다음엔 스무스하게 설치돌리고 다른 일을 할 예정..) 버전 정보 Rasberry Pi OS 32-bit Python 3.9.2 OpenCV 4.7.0 준비물 라즈베리파이4 (4GB) 스타터 키트 라즈베리파이4 Model B의 입문자들에게 꼭 필요한 제품만 골라 구성한 스타터 키트입니다 / 구성품중 Micro SD카드와 리더기, Micro HDMI to HDMI 케이블은 공급사 사정상 같은 스펙의 다른 제품으로 대체 www.devicemart.co.kr 상기 라즈베리파이4 (4GB) 스타터 키트를 구매해서 셋..
2023.01.27 -
Object Detection 논문 리뷰. You Only Look Once:Unified, Real-Time Object Detection
앞서 정리한 Object Detection의 기법이 상당히 반영되어 있는 YOLOv1의 논문을 리뷰해보고 성능을 더 끌어올린 기법이 무엇인지를 알아보자. 또, 다음에 이어 그대로 구현도 해볼 예정이다. 참조 https://arxiv.org/abs/1506.02640 Abstract (초록) Object Detection을 바운딩 박스와 그 클래스 확률을 공간적으로 분리하여 푸는 회귀 문제로 짰다. 하나의 신경망으로 이미지에서 바운딩 박스와 클래스 예측을 한번에 수행한다. YOLO는 Localization Error가 더 많지만, 배경을 오브젝트로 예측하는 False Positive는 적습니다. YOLO는 오브젝트의 General Representation을 잘 학습합니다. (오브젝트에 대한 일반화 성능이..
2022.12.25 -
Object Detection 정리 4. Classification을 Localization에 추가
AI 딥러닝을 통한 Object Detection에 대해서 간단하게 정리해보자. 지난 정리 3에서는 Grid 방식을 적용하여 오브젝트가 다수인 경우에 대응할 수 있도록 했다. 문제. 그래서 찾은 오브젝트가 무엇인가? 우리 모델의 예측은 아직 위치 정보만 포함하고 있다.(Localization Only) 즉, 찾아낸 오브젝트가 무엇인지 분류하지 않는다. 이번 포스트에서는 우리 모델이 위치 정보와 함께 분류 정보도 리턴하도록 수정한다.(Detection = Localization + Classification) 해결. 모델 Output Dimension에 Classification Dimension을 추가하자. 분류 모델은 클래스 개수만큼의 Output Dimension을 가진다. 클래스가 [남자, 여자, ..
2022.12.23