PS C:\Users\songs> cd yolov5 PS C:\Users\songs\yolov5> python detect.py weights yolov5s.pt Traceback (most recent call last): File "detect.py", line 45, in <module> from models.common import DetectMultiBackend File "C:\Users\songs\yolov5\models\common.py", line 28, in <module> from utils.dataloaders import exif_transpose, letterbox File "C:\Users\songs\yolov5\utils\dataloaders.py", line 31, in <module> from utils.augmentations import (Albumentations, augment_hsv, classify_albumentations, classify_transforms, copy_paste, File "C:\Users\songs\yolov5\utils\augmentations.py", line 15, in <module> from utils.general import LOGGER, check_version, colorstr, resample_segments, segment2box, xywhn2xyxy File "C:\Users\songs\yolov5\utils\general.py", line 169, in <module> CONFIG_DIR = user_config_dir() # Ultralytics settings dir File "C:\Users\songs\yolov5\utils\general.py", line 165, in user_config_dir path.mkdir(exist_ok=True) # make if required File "C:\ProgramData\Anaconda3\envs\Study\lib\pathlib.py", line 1273, in mkdir self._accessor.mkdir(self, mode) FileNotFoundError: [WinError 3] 지정된 경로를 찾을 수 없습니다: '\\tmp\\Ultralytics'
해결법
1. YOLOv5 디렉토리 내의 utils/general.py 파일을 열고 해당 코드를 찾는다
CONFIG_DIR = user_config_dir() # Ultralytics settings dir
2. 해당 코드를 다음과 같이 변경
CONFIG_DIR = Path(os.getenv('LOCALAPPDATA')) / "Ultralytics"
3. 변경 후 저장하고 파일을 닫기, 아나콘다 가상 환경에서 YOLOv5를 실행
conda activate yolov5_env
cd yolov5
python detect.py --weights yolov5s.pt
문제가 해결되면 YOLOv5 객체 검출이 가능하다.
안됐던 이유:
아까 config_dir을 수정하고 나서 코드가 작동한 이유는,
- 원래 코드에서는 user_config_dir() 함수가 잘못된 경로를 반환해서,
해당 경로에 디렉토리를 생성하려고 할 때 오류가 발생했다.
- 경로를 올바르게 수정하고 나서, 코드는 더 이상 오류 없이 진행되어 제대로 작동했다.
- 결국, 경로 문제가 해결되어 프로그램이 원활하게 진행되었다.
'프로젝트 기록 > 딥러닝 모델 개발_공학설계캡스톤디자인(스마트카ICT)' 카테고리의 다른 글
[YOLOv5] 커스텀 데이터셋의 필요성 (0) | 2023.05.14 |
---|---|
DNN 실습결과 (0) | 2023.05.11 |
[YOLOv5, mediapipe] 갤럭시북 웹캠 사용금지 끄는 법 (0) | 2023.05.10 |
[Anaconda] git을 이용한 yolov5 설치 (0) | 2023.05.08 |
[Python] 튜플 언패킹(tuple unpacking)으로 여러 변수에 한번에 값 할당하기 (0) | 2023.04.30 |