반응형

프로그래밍 176

error: OpenCV(4.8.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1255: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian,..

잘 되던 opencv-python이 갑자기 오류가 생겼다. 구글링을 해보니 해당 오류는 꽤 잦은 오류였고 특정 경우가 아니라면 해결법은 쉬웠다. 1. 관리자 권한으로 파워셸 등 터미널 열기 2. 아래의 코드 작성 pip uninstall opencv-python-headless pip uninstall opencv-python pip install opencv-python 3. 프로그램 재실행 위의 코드를 작성하여 실행 후 vscode를 닫고 다시 시작하였더니 정상적으로 수행이 되었다. 원인은 구글링 해보니 아마 opencv-python이 의존하는 opencv의 버전 문제 같은데 opencv의 버전이 변할 때 종종 이런 오류가 생기는 것 같다.

ModuleNotFoundError: No module named 'ultralytics.utils.callbacks.hub'

YOLOv8를 이용하여 model.train()을 수행하려 할 때 나타난 오류이다. pip uninstall ultralytics 명령어로 ultralytics를 언인스톨 후 다시 설치하여 해결하였다. 원인은 다른 주피터 노트북에서 이미 ultralytics를 인스톨 하였는데 model.train()을 수행할 노트북에서 ultralytics를 git clone으로 가져와서 설치하여 오류가 나타난 것 같았다.

YOLO 등 모델 훈련 시 최적의 에폭수는 없다

전에 주워듣기론 YOLO 같은 모델은 파인튜닝 시 최소 300 에폭은 돌려야 한다고 들었는데 그렇다면 모델이나 데이터셋 크기 등을 기준으로 최적의 에폭수가 있는지 해서 찾아봤다. chatGPT나 데이터 사이언스 톡방 등에 질문해보았는데 정해진 에폭수는 없다는 답을 얻었다. 모델 훈련 결과로 나오는 파라미터를 보고 개발자가 최적의 방향으로 나아가는게 최선이라고 한다. 아마 YOLOv8의 patience 옵션처럼 해당 모델이 n에폭 동안 성능 향상이 없으면 훈련을 중단시키는 것도 이를 위해서인 것 같다. 성능 향상은 없는데 계속 훈련시키면 과적합의 위험이 있으니 성능은 가져가면서 과적합 위험을 줄이기 위함일 것이다. 정해진 기준이 없다면 결국 개발자가 성능의 그래프를 보고 해당 모델을 더 훈련시킬지 말지를 ..

데이터셋 구축 시 특정 클래스 개체를 일부러 어노테이션 하지 않을 때 생기는 문제점

https://github.com/ultralytics/ultralytics/issues/6544 Problems that arise when object annotations are not intentionally performed on images · Issue #6544 · ultralytics/ultralytics Search before asking I have searched the YOLOv8 issues and discussions and found no similar questions. Question As I am a foreigner, I used a translator to write my question, so please understand t... github.com 위 깃허브..

YOLOv8 클래스 불균형(class imbalance) 문제

현실 데이터에는 클래스 불균형 문제가 자주 발생한다. 나의 경우에는 사거리 통행 차량 촬영 영상에서 승용차의 개수가 트럭과 버스에 비해 압도적으로 많아서 큰 불균형이 생겼다. 왜 데이터가 클래스 균형을 이루어야할까? 데이터의 클래스 균형의 핵심은 소수의 클래스에 특별히 더 큰 관심이 있는 경우에 필요하다. 현재 나의 재정 상황을 고려해서 물건을 살지 말지 예측하는 모델을 만든다고 할 때 사라고 에측하는 것과 사지 말라고 예측하는 것은 그 무게가 다르다. 물건을 사라고 예측하는 것은 훨씬 더 큰 리스크를 수반한다. 잘못된 투자는 큰 손실로 이어질 수 있기 때문이다. 따라서 물건을 사라는 예측에 대해서는 더 큰 정확도를 가져야 한다. 하지만 데이터가 물건을 사지 마라는 클래스에 몰려있는 경우 물건을 사지 말..

NotImplementedError: A UTF-8 locale is required. Got ANSI_X3.4-1968

해당 오류를 구글링 해보니 코랩 환경에서 런타임 유형을 GPU로 설정했을 때 간헐적으로 발생하는 오류 같다. https://stackoverflow.com/questions/56081324/why-are-google-colab-shell-commands-not-working Why are Google Colab shell commands not working? Steps to reproduce: Open new Colab notebook on GPU !ls #works !pip install -q turicreate import turicreate as tc !ls #doesn't work I get the following error: -----------------------------------....

클래스 명은 같고 클래스 개수는 다른 두 데이터셋으로 모델 훈련 시 성능 저하 해결 과정

클래스 명이 같은 두 데이터셋으로 모델을 훈련시켰는데 하나의 모델만으로 훈련시킬 때가 성능이 더 괜찮다. 해당 데이터셋들을 자세히 뜯어보니 원인으로 추정되는 것을 발견했다. 위 사진을 보면 car 클래스의 인덱스는 0, large bus 클래스의 인덱스는 1, small truck 클래스의 인덱스는 4이다. 위 사진으로는 어느 인덱스가 car인지 small truck인지 구분이 가지 않지만 다른 이미지들의 라벨을 살펴보고 나온 인덱스의 결과는 다음과 같다. 클래스명\데이터셋 이름 데이터셋 P1 데이터셋 P2 car 0 0 large_bus 1 1 large_truck 2 2 medium_truck 3 3 small_bus 4 자료 없음 small_truck 5 4 small_bus, small_truck..

Training yolo model with multiple datasets

여러 데이터셋으로 한 모델을 학습시킬 때 한 데이터셋만으로 학습시킬 때보다 성능이 저하하는 현상을 겪고 있다. 게시글의 제목처럼 구글에 검색했고 참고할만한 자료를 아래에 정리해둔다. 곧 이를 참고해 해결법을 모색할 생각이다. https://github.com/ultralytics/yolov5/issues/6781 What is the recommended way to train 2 new datasets with different classes via transfer learning in YOLOv5? · Issue #6781 · ul Search before asking I have searched the YOLOv5 issues and discussions and found no similar que..

한 점이 다각형 내부, 외부에 있는지 판별

https://losskatsu.github.io/machine-learning/py-polygon01/#%EC%B0%B8%EA%B3%A0%EB%A7%81%ED%81%AC [python] 한 점이 다각형 내부에 위치하는지 판별하기 [머신러닝] 한 점이 다각형 내부에 위치하는지 판별하기 losskatsu.github.io https://bowbowbow.tistory.com/24 [기하] 다각형의 내부 외부 판별 [기하]다각형의 내부 외부 판별 목차 [기하] 다각형의 내부 외부 판별 다각형의 내부 외부 판별이란? 아이디어 다각형의 내부에 위치하는 점의 특징은 뭘까? 구현 어떻게 반 직선과 다각형의 교 bowbowbow.tistory.com 위 두 링크들을 참고해 정리한다.

반응형