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)