κ³ κΈ μ¬μ©μ μ§μ
Ultralytics YOLO λͺ λ Ήμ€κ³Ό Python μΈν°νμ΄μ€λ λͺ¨λ κΈ°λ³Έ μμ§ μ€νκΈ°μ λν λμ μμ€μ μΆμνμΌ λΏμ λλ€. νΈλ μ΄λ μμ§μ μ΄ν΄λ³΄κ² μ΅λλ€.
Watch: λ§μ€ν°λ§ Ultralytics YOLOv8 : κ³ κΈ μ¬μ©μ μ§μ
λ² μ΄μ€ νΈλ μ΄λ
λ² μ΄μ€ νΈλ μ΄λμλ μΌλ°μ μΈ μμ©κ΅¬ νΈλ μ΄λ 루ν΄μ΄ ν¬ν¨λμ΄ μμ΅λλ€. μ¬λ°λ₯Έ νμμ λ°λ₯΄κΈ°λ§ νλ©΄ νμν ν¨μλ μ°μ°μ μ¬μ μνμ¬ λͺ¨λ μμ μ λ§κ² μ¬μ©μ μ§μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ΄λ¬ν ν¨μλ₯Ό μ¬μ μνμ¬ μ체 μ¬μ©μ μ§μ λͺ¨λΈκ³Ό λ°μ΄ν° λ‘λλ₯Ό μ§μν μ μμ΅λλ€:
get_model(cfg, weights)
- νμ΅ν λͺ¨λΈμ ꡬμΆνλ ν¨μget_dataloader()
- λ°μ΄ν°λ‘λλ₯Ό λΉλνλ ν¨μ μμΈν λ΄μ©κ³Ό μμ€ μ½λλ λ€μμμ νμΈν μ μμ΅λλ€.BaseTrainer
μ°Έμ‘°
νμ§ νΈλ μ΄λ
μ¬μ© λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€. YOLOv8 DetectionTrainer
λ₯Ό ν΄λ¦νκ³ μ¬μ©μ μ§μ ν©λλ€.
from ultralytics.models.yolo.detect import DetectionTrainer
trainer = DetectionTrainer(overrides={...})
trainer.train()
trained_model = trainer.best # get best model
νμ§ νΈλ μ΄λ μ¬μ©μ μ§μ
νΈλ μ΄λλ₯Ό λ§μΆ€ μ€μ ν΄ λ³΄κ² μ΅λλ€. μ μ¬μ©νμ¬ μ¬μ©μ μ§μ νμ§ λͺ¨λΈμ νμ΅ν©λλ€. λ₯Ό μ§μ μ§μνμ§ μμ΅λλ€. μ΄ μμ
μ μννλ €λ©΄ κΈ°μ‘΄ the get_model
κΈ°λ₯μ μ 곡ν©λλ€:
from ultralytics.models.yolo.detect import DetectionTrainer
class CustomTrainer(DetectionTrainer):
def get_model(self, cfg, weights):
...
trainer = CustomTrainer(overrides={...})
trainer.train()
μ΄μ νΈλ μ΄λλ₯Ό λ μ¬μ©μ μ§μ ν΄μΌ νλ€λ κ²μ μκ² λμμ΅λλ€:
- μ¬μ©μ μ§μ
loss function
. - μΆκ°
callback
맀 10μ΄λ§λ€ Google λλΌμ΄λΈμ λͺ¨λΈμ μ λ‘λν©λλ€.epochs
λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
from ultralytics.models.yolo.detect import DetectionTrainer
from ultralytics.nn.tasks import DetectionModel
class MyCustomModel(DetectionModel):
def init_criterion(self):
...
class CustomTrainer(DetectionTrainer):
def get_model(self, cfg, weights):
return MyCustomModel(...)
# callback to upload model weights
def log_model(trainer):
last_weight_path = trainer.last
print(last_weight_path)
trainer = CustomTrainer(overrides={...})
trainer.add_callback("on_train_epoch_end", log_model) # Adds to existing callback
trainer.train()
μ½λ°± νΈλ¦¬κ±° μ΄λ²€νΈ λ° μ§μ μ§μ μ λν μμΈν λ΄μ©μ μ½λ°± κ°μ΄λλ₯Ό νμΈνμΈμ.
κΈ°ν μμ§ κ΅¬μ± μμ
λ€μκ³Ό κ°μ΄ μ μ¬νκ² μ¬μ©μ μ§μ ν μ μλ λ€λ₯Έ κ΅¬μ± μμλ μμ΅λλ€. Validators
κ·Έλ¦¬κ³ Predictors
. μ΄μ λν μμΈν λ΄μ©μ μ°Έμ‘° μΉμ
μ μ°Έμ‘°νμΈμ.
μμ± 2023-11-12, μ λ°μ΄νΈ 2024-02-03
μμ±μ: glenn-jocher (4), RizwanMunawar (1), AyushExel (1), Laughing-q (1)