Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3.1 KiB
Using YOLO models
This is the simplest way of simply using yolo models in a python environment. It can be imported from the ultralytics module.
!!! example "Usage" === "Training" ```python from ultralytics import YOLO
model = YOLO("yolov8n.yaml")
model(img_tensor) # Or model.forward(). inference.
model.train(data="coco128.yaml", epochs=5)
```
=== "Training pretrained"
```python
from ultralytics import YOLO
model = YOLO("yolov8n.pt") # pass any model type
model(...) # inference
model.train(epochs=5)
```
=== "Resume Training"
```python
from ultralytics import YOLO
model = YOLO()
model.resume(task="detect") # resume last detection training
model.resume(model="last.pt") # resume from a given model/run
```
=== "Visualize/save Predictions"
```python
from ultralytics import YOLO
model = YOLO("model.pt")
model.predict(source="0") # accepts all formats - img/folder/vid.*(mp4/format). 0 for webcam
model.predict(source="folder", view_img=True) # Display preds. Accepts all yolo predict arguments
```
!!! note "Export and Deployment"
=== "Export, Fuse & info"
```python
from ultralytics import YOLO
model = YOLO("model.pt")
model.fuse()
model.info(verbose=True) # Print model information
model.export(format=) # TODO:
```
=== "Deployment"
More functionality coming soon
To know more about using YOLO models, refer Model class refernce
Model reference{ .md-button .md-button--primary}
Customizing Tasks with Trainers
YOLO model class is a high-level wrapper on the Trainer classes. Each YOLO task has its own trainer that inherits from BaseTrainer.
You can easily cusotmize Trainers to support custom tasks or explore R&D ideas.
!!! tip "Trainer Examples" === "DetectionTrainer" ```python from ultralytics import yolo
trainer = yolo.DetectionTrainer(data=..., epochs=1) # override default configs
trainer = yolo.DetectionTrainer(data=..., epochs=1, device="1,2,3,4") # DDP
trainer.train()
```
=== "SegmentationTrainer"
```python
from ultralytics import yolo
trainer = yolo.SegmentationTrainer(data=..., epochs=1) # override default configs
trainer = yolo.SegmentationTrainer(data=..., epochs=1, device="0,1,2,3") # DDP
trainer.train()
```
=== "ClassificationTrainer"
```python
from ultralytics import yolo
trainer = yolo.ClassificationTrainer(data=..., epochs=1) # override default configs
trainer = yolo.ClassificationTrainer(data=..., epochs=1, device="0,1,2,3") # DDP
trainer.train()
```
Learn more about Customizing Trainers, Validators and Predictors to suit your project needs in the Customization Section. More details about the base engine classes is available in the reference section.
Customization tutorials{ .md-button .md-button--primary}