!pip install roboflow
from roboflow import Roboflow
#############################################
## API key는 유저마다 다른 것이 정상!!
rf = Roboflow(api_key="")
#############################################
project = rf.workspace("azami-youssef").project("test_project-3cocv")
version = project.version(2)
dataset = version.download("yolov11")
!pip install ultralytics
#####################################
## 10/30 기준 해당 설정 필요
import os
os.environ['WANDB_MODE'] = 'disabled'
#####################################
from ultralytics import YOLO, settings
settings
settings['datasets_dir'] = '/content/'
# settings.update()
settings
model_transfer = YOLO('yolo11n.pt')
results_train = model_transfer.train(model='/content/yolov11n.pt',
###########################################
data='/content/test_project-2/data.yaml',
###########################################
epochs=10,
seed=2024,
pretrained=True,
)
image_path = ''
results_pred = model_transfer.predict(source=image_path,
conf=0.01,
# iou=
save=True,
)
코드 설명
- 필요한 라이브러리 설치 및 불러오기
- roboflow 패키지를 설치하고 Roboflow 모듈을 불러옵니다.
- Roboflow는 이미지 처리 및 데이터셋 관리 등을 지원하는 툴입니다.
-
python코드 복사!pip install roboflow from roboflow import Roboflow
- API 키 설정 및 프로젝트 불러오기
- Roboflow API 키를 사용하여 인증합니다. 사용자의 API 키를 여기에 입력해야 합니다.
-
python코드 복사rf = Roboflow(api_key="")
- 프로젝트 다운로드
- 특정 작업공간의 프로젝트를 선택하고 그 중에서 버전 2의 데이터셋을 YOLO 형식으로 다운로드합니다. 이 경우 "yolov11"이라는 형식으로 다운로드하려고 합니다.
-
python코드 복사project = rf.workspace("azami-youssef").project("test_project-3cocv") version = project.version(2) dataset = version.download("yolov11")
- Ultralytics YOLO 설치
- Ultralytics YOLO 라이브러리를 설치합니다. 이 라이브러리는 YOLOv8 같은 최신 모델을 포함하고 있습니다.
-
python코드 복사!pip install ultralytics
- WANDB 설정 비활성화
- WANDB_MODE 환경 변수를 'disabled'로 설정하여 Weight & Biases(WandB) 사용을 비활성화합니다. WandB는 실험 결과를 시각화하는 툴입니다.
-
python코드 복사import os os.environ['WANDB_MODE'] = 'disabled'
- YOLO 설정 및 모델 로드
- YOLO 설정을 불러오고 데이터셋 경로를 /content/로 설정합니다.
- settings 객체는 모델 학습에 필요한 다양한 설정을 관리하는 역할을 합니다.
-
python코드 복사from ultralytics import YOLO, settings settings settings['datasets_dir'] = '/content/' settings
- YOLO 모델 초기화 및 훈련
- 'yolo11n.pt'라는 모델을 초기화합니다. 해당 파일이 실제로 존재해야 합니다.
- 모델을 훈련합니다. 여기서는 data.yaml 파일에 데이터셋 설정이 있으며, 에포크 수는 10회, 시드 값은 2024로 설정되어 있습니다.
- pretrained=True는 사전 훈련된 가중치를 사용하여 훈련을 시작한다는 의미입니다.
-
python코드 복사model_transfer = YOLO('yolo11n.pt') results_train = model_transfer.train(model='/content/yolov11n.pt', data='/content/test_project-2/data.yaml', epochs=10, seed=2024, pretrained=True)
- 이미지 예측 수행
- 예측할 이미지 경로를 지정해야 합니다. 여기서는 image_path가 빈 문자열이므로 실제 경로로 수정해야 합니다.
- conf=0.01은 예측에 사용할 신뢰도(Confidence) 임계값을 설정합니다.
- save=True는 예측 결과를 저장하도록 설정합니다.
-
python코드 복사image_path = '' results_pred = model_transfer.predict(source=image_path, conf=0.01, save=True)
이 코드에서 확인해야 할 점:
- API 키를 제공해야 Roboflow 데이터셋에 접근 가능합니다.
- **모델 파일 경로('yolo11n.pt')**가 올바른지 확인해야 합니다. 최신 버전의 YOLO 모델을 사용하는 것이 좋습니다.
- **이미지 경로 설정(image_path)**도 실제로 존재하는 이미지 파일 경로로 지정해야 합니다.