



# 라이브러리 설치
!pip install ultralytics
import os
os.environ['WANDB_MODE'] = 'disabled' # 새로 생긴 설정인데, abled로 설정 할 경우 오류를 일으키는 경우가 많아 disabled 설정
# yolo 설정
from ultralytics import settings
settings['datasets_dir'] = '/content/' # datasets_dir의 경로 변경
# 원래 /content/datasets 이나, 해당 폴더를 안 만든 상태이기에 경로 변경
settings
# YOLO 모델 선언
from ultralytics import YOLO
model = YOLO(model='yolo11n.pt', task='detect') # 둘 다 default 값
# 실행 시 yolo11n.pt 파일 생성
# 해당 파일엔 이미 학습된 가중치 정보가 들어있음
# 11 : 버전, n : 크기(경량화 된 nano 모델)
model.train(model = '/content/yolo11n.pt', # 넣는 이유 -> 나중에 잘 커스텀 학습된 모델을 쓸 때 명시해야하기에
data='coco8.yaml', # Object Detection 모델을 학습할 때 사용한 데이터 셋(이미 해당 데이터로 훈련되어 있음)
epochs=20, # 기본값 100
patience=5, # 기본값 100
# batch = 16 # 기본값 16, -1 일 경우 자동 설정
# save=True, # 학습 과정을 저장할 것인지 설정, 기본값 True
# project='trained', # 학습 과정이 저장되는 폴더 명
# name='trained_model', # project 내부에 생성되는 폴더 이름
# exist_ok=False, # 동일한 이름의 폴더가 있을 때 덮어씌울 것인지 설정, 기본값 False
pretrained=True, # 사전에 학습된 모델을 사용할 것인지 설정, 기본값 True (False 할 경우 학습 시간이 오래걸림)
# optimizer='auto', # 기본값 'auto'
# verbose=False, # 기본값 False
# seed=2024,
# resume=False, # 마지막 학습부터 다시 학습할 것인지 설정, 기본값 False
# freeze=None # 첫 레이어부터 몇 레이어까지 기존 가중치를 유지할 것인지 설정. default None
)



# 예측
# conf와 iou를 직접 설정하여 예측 결과 값을 수정 가능
# source : 예측 대상 이미지/동영상의 경로
# conf : default 0.25
# iou : NMS에 적용되는 IoU threshold. default 0.7.
# save : 예측된 이미지/동영상을 저장할 것인지 설정. default False
# save_txt : Annotation 정보도 함께 저장할 것인지 설정. default False
# save_conf : Annotation 정보 맨 끝에 Confidence Score도 추가할 것인지 설정. default False
# line_width : 그려지는 박스의 두께 설정. default None
results = model.predict(source='https://images.pexels.com/photos/139303/pexels-photo-139303.jpeg',
# conf=0.5,
# iou=0.5,
save=True, save_txt=True, line_width=2)

파일이 저장된 위치를 알려줌

결과물







!pip install roboflow
from roboflow import Roboflow
# 위 방법으로 가져온 데이터 다운로드 코드 입력
rf = Roboflow(api_key="API") # API 공개 불가
project = rf.workspace("azami-youssef").project("test_project-3cocv")
version = project.version(2)
dataset = version.download("yolov11")



results_train = model_transfer.train(model='/content/yolov11n.pt',
data='/content/test_project-2/data.yaml',
# 학습할 데이터(data.yaml) 입력
epochs=10,
seed=2024,
pretrained=True,
)







