Skip to content

Commit

Permalink
yolo training on custom dataset
Browse files Browse the repository at this point in the history
  • Loading branch information
RihabFekii committed Apr 2, 2023
1 parent c692aa9 commit a1f57e6
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
dvc==2.51.0
ultralytics==8.0.58

9 changes: 9 additions & 0 deletions src/params.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
model_type: yolov8n.pt
pretrained: True
seed: 0
imgsz: 640
batch: 8
epochs: 1
optimizer: SGD # other choices=['SGD', 'Adam', 'AdamW', 'RMSProp']
lr0: 0.01 # learning rate
name: 'yolov8n_exp_v0' # experiment name
42 changes: 42 additions & 0 deletions src/train.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
from ultralytics import YOLO
import yaml
from pathlib import Path
import os


ROOT_DIR = Path(__file__).resolve().parents[1] # root directory absolute path
DATA_DIR = os.path.join(ROOT_DIR, "data/raw/wildfire-raw-yolov8")
DATA_YAML = os.path.join(DATA_DIR, "data.yaml")
print(DATA_YAML)


if __name__ == '__main__':

with open(r"src/params.yaml") as f:
params = yaml.safe_load(f)

# load a pre-trained model
pre_trained_model = YOLO(params['model_type'])

# train
model = pre_trained_model.train(
data=DATA_YAML,
imgsz=params['imgsz'],
batch=params['batch'],
epochs=params['epochs'],
optimizer=params['optimizer'],
lr0=params['lr0'],
seed=params['seed'],
pretrained=params['pretrained'],
name=params['name']
)

# evaluate model
model.val()







0 comments on commit a1f57e6

Please sign in to comment.