반응형

2024/02 21

mAP란 무엇인가?

YOLO 모델을 훈련시킬 때 모델의 성능에 대해서 mAP로 표현하여 mAP 수치가 가장 높은 것을 가장 성능이 좋은 모델이라고 best.pt 파일로 저장하게 된다. patience 매개변수는 인내, 인내심이라는 뜻을 가지고 있는데 이는 지정된 숫자의 에폭만큼 모델을 훈련시켰는데 mAP의 향상이 없으면 훈련을 중단하는 옵션이다. 이처럼 mAP는 모델의 성능과 거의 동일하게 사용되고 있는데 대체 이 mAP가 정확하게 무엇인지 제대로 몰라서 알아보기로 하였다. https://artiiicy.tistory.com/25 [ML] 인공지능 Object Detection에서의 mAP란? 수많은 ML 분야 중에서도 Object Detection 분야의 논문에서 자주 등장하는 모델의 성능평가지표인 mAP. 아직은 계속 ..

데이터셋 이미지 전처리 과정에서 이미지 방향 조정

https://blog.roboflow.com/exif-auto-orientation/ When Should I Auto-Orient My Images? The short answer: almost always. blog.roboflow.com Roboflow의 이미지 전처리 과정에서 Auto-Orient라는 과정이 있어 알아보았다. Orient는 동사로 무엇을 일정한 방향으로 향하게 하다라는 뜻을 가지고 있었고 Auto-Orient는 이미지 방향을 자동으로 한 방향으로 전부 통일시키는 전처리 과정이었다. 보통 이미지를 촬영할 때는 해당 이미지에 이미지의 방향을 표시하는 메타데이터가 같이 포함되어서 나중에 이미지를 활용한 작업을 할 때 해당 메타데이터를 참고하여 이미지를 뒤집을지 회전할지 등을 결정하게 ..

이번 연구과제를 진행하며 들었던 삼촌들의 조언

이번 연구과제를 진행하며 삼촌들에게 조언을 들었다. 친삼촌은 내가 한다는 연구과제 이야기를 듣고는 두가지를 조언해주셨다. 하나는 인건비를 무조건 먼저 받고나서 소스코드 등을 넘기라는 것이었다. 내가 학부생이라서 그럴 확률은 낮으나 대학원생 같이 교수한테 목줄 잡힌 사람들은 제대로 반항도 못하고 이리저리 휘둘리는 경우가 많다고 한다. 소스코드는 무조건 인건비를 받고나서 넘기라고 조언을 들을 당시에 이미 소스코드를 보낼 준비를 하고 있었던 상황이라 되게 경각심을 가지게 되었다. 내가 너무 순진하게 살아왔다는 생각도 들고 심정이 복잡해지기도 했고 앞으로는 조심하자는 생각이 많이 들었다. 두번째 조언은 논문이 어느 학술지에 게재가 되고 나서 이력서에 작성하라는 것이었다. 논문 자체는 작성하고 투고하기 쉽다. 다..

CUDA 버전 변경법

https://tw0226.tistory.com/79 [CUDA] 윈도우 환경에서 CUDA 버전 변경 어떤 github의 딥러닝 코드는 tensorflow 1.14 버전을 썼는데, 1.14 버전은 CUDA 11버전이 호환되지 않아서 1. python 버전 변경 2. tensorflow 재설치 3. CUDA 버전 번경 (11 -> 10) 의 절차가 필요하였다. 나의 상황 tw0226.tistory.com 위 링크에 자세히 나와 있다. 간략히 정리하자면 1. 원하는 버전의 CUDA를 설치한다. 2. 고급 시스템 설정 -> 환경변수에서 CUDA_PATH를 이용하고자 하는 버전으로 변경하고, Path 내에서도 사용하고 싶은 버전을 상위로 올린다. 3. 설정이 완료되면 cmd 창으로 nvcc -V 명령어로 cud..

실행 프로그램의 PyTorch가 CUDA를 인식하는 것에 대해서(+ 설치법 링크)

얼마 전 PyTorch와 CUDA를 사용해서 GPU를 사용하는 프로그램을 실행파일로 만들어서 내 로컬 컴퓨터에서 실행에 성공하고 피시방 컴퓨터에서도 실행에 성공하였다. 하지만 이후 의문이 들었다. 내 컴퓨터야 cuda 설치가 끝났는데 피시방 컴퓨터에서는 cuda 설치를 한 적이 없다. 피시방 컴퓨터에서 nvcc 명령어도 먹히지 않았다. 실행 프로그램을 컴파일할 때 cuda도 같이 컴파일 된 건가 했는데 챗gpt에게 물어보니 그럴 일은 없다고 하고 관련된 내용도 찾지 못했다. 데이터 사이언스 톡방에 여쭤보니 nvcc만 설치되어 있지 않거나 nvcc가 cuda 경로를 인식하지 못하는 것이고, 해당 컴퓨터에 cuda는 정상적으로 설치된 상태였을 거라고 한다. 그 cuda를 실행파일의 코드가 제대로 접근해서 사..

쿠키, 세션, 캐시 구별하기

https://www.youtube.com/watch?v=OpoVuwxGRDI 세션은 사이트 이용자들의 중요 정보를 총괄하는 곳이다. 세션을 사용하는 사이트에 접속을 하면 서버에서는 사용자를 구분하기 위한 기한이 짧은 임시키 하나를 브라우저에 보내서 쿠키로 저장한다. A라는 사용자가 사이트를 돌아다닐 때 사용자의 중요한 정보들은 이 사이트의 서버의 메모리나 데이터베이스에 저장된다. 브라우저가 이 사이트의 페이지에 접속할 때마다 http 요청에 이 키를 실어서 전송하고, 서버는 그 키를 보고 얘가 A 사용자구나 하고 인식해서 A의 정보들을 가공해서 응답으로 보내준다. 네이버에 한번 로그인하면 다른 네이버 페이지를 돌아다닐 때마다 로그인할 필요가 없는 것은 쿠키와 세션의 조합으로 내 컴퓨터에서 네이버에 로그..

라이브러리와 프레임워크의 차이점

https://www.youtube.com/watch?v=t9ccIykXTCM 라이브러리와 프레임워크의 차이점에 대해서 좀 더 정확히 알고 싶어서 공부했다. 기존에는 라이브러리와 프레임워크의 차이는 그냥 라이브러리가 여러개 모인게 프레임워크다 정도로 모호하게만 알고 있었다. 이 영상에서는 더 명확한 기준을 제시한다. 어떠한 기능을 구현할 때 호출하는 주체가 누구냐에 따라서 달라진다는 것이다. 내가 어떠한 기능을 구현할 때 필요한 라이브러리를 호출한다. 프레임워크는 어떠한 기능을 구현하고 싶으면 사용자에게 어디에 코드를 넣어야 하는지 등 규칙을 알려준다. 라이브러리는 나도 써봐서 알지만 GUI를 제작하고 싶으면 사용자가 알아서 tkinter나 PyQt를 호출해서 사용하고, YOLOv8을 파인튜닝하고 싶으면..

pip freeze로 의존성 패키지들을 기록해 개발환경 복구할 수 있게 하기.

내 개발환경에서 개발하다가 다른 곳에서 개발해야할 때 의존성 패키지들을 제대로 설치해주지 않으면 프로젝트에 에러가 생긴다. 이때 프로젝트에 requirements.txt를 생성하고 해당 텍스트파일에 의존성 패키지들을 기록해두면 편하게 패키지들을 설치해 개발 환경을 복구할 수 있다. pip3 freeze > requirements.txt 프로젝트 폴더에서 requirements.txt를 생성하고 프로젝트 폴더의 터미널에서 해당 명령어를 입력하면 requirements.txt에 해당 프로젝트 실행에 필요한 의존성 패키지들이 기록된다. requirements.txt에 기록된 패키지들을 한번에 설치하려면 pip install -r requirements.txt 위 명령어를 입력하면 패키지들이 자동으로 설치된다...

ultralytics 패키지를 pyinstaller로 설치파일 만들 때 AttributeError: 'NoneType' object has no attribute 'encoding' 오류 발생, 해결

https://github.com/ultralytics/ultralytics/issues/7393 Error compiling python scripts to executable file · Issue #7393 · ultralytics/ultralytics Search before asking I have searched the YOLOv8 issues and found no similar bug report. YOLOv8 Component Other Bug I am having a problem when compiling python scripts (main.py) to executable. I tra... github.com ultralytics 패키지가 포함된 파일을 pyinstaller로 설치파..

반응형