KT AIVLE/Daily Review
241107~241108
bestone888
2024. 11. 18. 01:19
241107 ~ 241108
1. 기본 구조
In [ ]:
# 기본 구조
!pip install ultralytics
import os
os.environ['WANDB_MODE'] = 'disabled'
from ultralytics import YOLO, settings
# 모델 선언
model = YOLO()
# 학습
model.train(model='/content/yolo11n.pt',
data='coco8.yaml',
epochs = 10,
)
# 예측
# 출력 경로에서 결과 확인
results = model.predict(save=True, save_txt=True)
In [ ]:
2. COCO dataset 사용
In [ ]:
# 라이브러리 설치
!pip install ultralytics
import os
os.environ['WANDB_MODE'] = 'disabled'
# YOLO 설정
from ultralytics import settings
settings['datasets_dir'] = '/content/'
settings
# YOLO 모델
from ultralytics import YOLO
# YOLO 모델 선언
model = YOLO(model='yolo11n.pt', task='detect') # default: yollo11n.pt
# 모델 학습
model.train(
model = '/content/yolo11n.pt',
data = 'coco8.yaml', # train, val 각각 4장 씩
epochs = 10,
patience = 5
)
# 모델 평가: train()과정에서 실행
# 예측
file_path = '???'
result = model.predict(source = file_path,
# conf = 0.5,
# iou = 0.5,
save = True, save_txt = True, line_width = 2)
In [ ]:
3. roboflow dataset 사용
In [ ]:
!pip install roboflow
!pip install ultralytics
from roboflow import Roboflow
from ultralytics import YOLO, settings
# roboflow에서 dataset 불러오기
# 데이터셋 설치
# 1. roboflow
# 2. dataset download
# 3. YOLOv11
# 4. continue -> jupyter -> 복사
rf = Roboflow(api_key="--------------")
project = rf.workspace("azami-youssef").project("test_project-3cocv")
version = project.version(2)
dataset = version.download("yolov11")
import os
os.environ['WANDB_MODE'] = 'disabled'
settings['datasets_dir'] = '/content/'
settings.update()
model = YOLO(model='yolo11n.pt', task='detect')
result_train = model.train(model='/content/yolov11n.pt',
data='/content/test_project-2/data.yaml',
epochs=1,
seed=2024,
pretrained=True
)
image_path = ''
result_pred = model.predict(source = image_path,
save = True,
conf = 0.1, # default: 0.25
lou = 0.5) # default: 0.7
In [ ]:
4. roboflow 실습
In [1]:
!pip install roboflow
!pip install ultralytics
from roboflow import Roboflow
from ultralytics import YOLO, settings
# roboflow에서 dataset 불러오기
rf = Roboflow(api_key="???????????????")
project = rf.workspace("jaewonlee").project("test1117")
version = project.version(2)
dataset = version.download("yolov11")
import os
os.environ['WANDB_MODE'] = 'disabled'
settings['datasets_dir'] = '/content/'
settings.update()
# 모델 선언
model = YOLO(model='yolo11n.pt')
# 모델 학습
model.train(model = '/content/yolov11n.pt',
data = '/content/test1117-2/data.yaml',
epochs=500,
pretrained=True
)
image_path = 'https://img.khan.co.kr/news/2024/03/23/news-p.v1.20240323.c159a4cab6f64473adf462d873e01e43_P1.jpg'
result_pred = model.predict(source = image_path,
save = True)
image_path = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Cat_November_2010-1a.jpg/300px-Cat_November_2010-1a.jpg'
result_pred = model.predict(source = image_path,
save = True)