Training YOLO11 with ClearML: Streamlining Your MLOps Workflow
MLOps bridges the gap between creating and deploying machine learning models in real-world settings. It focuses on efficient deployment, scalability, and ongoing management to ensure models perform well in practical applications.
Ultralytics YOLO11 effortlessly integrates with ClearML, streamlining and enhancing your object detection model's training and management. This guide will walk you through the integration process, detailing how to set up ClearML, manage experiments, automate model management, and collaborate effectively.
ClearML
ClearML is an innovative open-source MLOps platform that is skillfully designed to automate, monitor, and orchestrate machine learning workflows. Its key features include automated logging of all training and inference data for full experiment reproducibility, an intuitive web UI for easy data visualization and analysis, advanced hyperparameter optimization algorithms, and robust model management for efficient deployment across various platforms.
YOLO11 Training with ClearML
You can bring automation and efficiency to your machine learning workflow by improving your training process by integrating YOLO11 with ClearML.
์ค์น
ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ๋ ค๋ฉด ์คํํฉ๋๋ค:
For detailed instructions and best practices related to the installation process, be sure to check our YOLO11 Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.
๊ตฌ์ฑ ClearML
ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ์ผ๋ฉด ๋ค์ ๋จ๊ณ๋ ClearML SDK๋ฅผ ์ด๊ธฐํํ๊ณ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ClearML ๊ณ์ ์ ์ค์ ํ๊ณ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ClearML ์๋ฒ ๊ฐ์ ์ํํ ์ฐ๊ฒฐ์ ์ํด ํ์ํ ์๊ฒฉ ์ฆ๋ช ์ ์ป๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
์ฌ์ฉ ์ค์ธ ํ๊ฒฝ์์ ClearML SDK๋ฅผ ์ด๊ธฐํํ์ฌ ์์ํฉ๋๋ค. 'clearml-init' ๋ช ๋ น์ ์ค์ ํ๋ก์ธ์ค๋ฅผ ์์ํ๊ณ ํ์ํ ์๊ฒฉ ์ฆ๋ช ์ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
์ด ๋ช ๋ น์ ์คํํ ํ ClearML ์ค์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค. ์ค๋ฅธ์ชฝ ์๋จ์ผ๋ก ์ด๋ํ์ฌ "์ค์ "์ ์ ํํฉ๋๋ค. "์ํฌ์คํ์ด์ค" ์น์ ์ผ๋ก ์ด๋ํ์ฌ "์ ์๊ฒฉ์ฆ๋ช ๋ง๋ค๊ธฐ"๋ฅผ ํด๋ฆญํฉ๋๋ค. "์๊ฒฉ ์ฆ๋ช ๋ง๋ค๊ธฐ" ํ์ ์ ์ ๊ณต๋ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ Jupyter Notebook์์ ClearML ์ ๊ตฌ์ฑํ๋์ง ๋๋ ๋ก์ปฌ Python ํ๊ฒฝ์ธ์ง์ ๋ฐ๋ผ ์ง์์ ๋ฐ๋ผ ์ค์ ์ ์๋ฃํฉ๋๋ค.
์ฌ์ฉ๋ฒ
Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.
์ฌ์ฉ๋ฒ
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
๊ฐ๋ น ์ดํด
์์ ์ฌ์ฉ ์ฝ๋ ์ค๋ํซ์ ํ์๋ ๋จ๊ณ๋ฅผ ์ดํดํด ๋ณด๊ฒ ์ต๋๋ค.
1๋จ๊ณ: ClearML ์์ ๋ง๋ค๊ธฐ: ํ๋ก์ ํธ์ ์์ ์ด๋ฆ์ ์ง์ ํ์ฌ ClearML ์์ ์ ์์ ์ ์ด๊ธฐํํฉ๋๋ค. ์ด ์์ ์ ๋ชจ๋ธ์ ํธ๋ ์ด๋์ ์ถ์ ํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
Step 2: Selecting the YOLO11 Model: : The model_variant
variable is set to 'yolo11n', one of the YOLO11 models. This variant is then logged in ClearML for tracking.
Step 3: Loading the YOLO11 Model: The selected YOLO11 model is loaded using Ultralytics' YOLO class, preparing it for training.
4๋จ๊ณ: ๊ต์ก ์ธ์ ์ค์ : ๋ฐ์ดํฐ ์ธํธ์ ๊ฐ์ ์ฃผ์ ํ๋ จ ์ธ์(coco8.yaml
) and the number of epochs (16
)๋ฅผ ์ฌ์ ์ผ๋ก ์ ๋ฆฌํ๊ณ ClearML ์์
์ ์ฐ๊ฒฐํฉ๋๋ค. ์ด๋ฅผ ํตํด ClearML UI๋ฅผ ํตํด ์ถ์ ํ๊ณ ์์ ํ ์ ์์ต๋๋ค. ๋ชจ๋ธ ํธ๋ ์ด๋ ํ๋ก์ธ์ค์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์. YOLO11 Model Training guide.
5๋จ๊ณ: ๋ชจ๋ธ ๊ต์ก ์์: ์ง์ ๋ ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ ํ์ต์ด ์์๋ฉ๋๋ค. ํ์ต ๊ณผ์ ์ ๊ฒฐ๊ณผ๋ ํ์ต ํ๋ก์ธ์ค์ results
๋ณ์์
๋๋ค.
์ถ๋ ฅ ์ดํดํ๊ธฐ
์์ ์ฌ์ฉ ์ฝ๋ ์ค๋ํซ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ถ๋ ฅ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค:
- ์ ClearML ์์ ์ด ์์ฑ๋์์์ ๋ํ๋ด๋ ํ์ธ ๋ฉ์์ง์ ํจ๊ป ํด๋น ์์ ์ ๊ณ ์ ID๊ฐ ํ์๋ฉ๋๋ค.
- ์ ์ฅ ์ค์ธ ์คํฌ๋ฆฝํธ ์ฝ๋์ ๋ํ ์ ๋ณด ๋ฉ์์ง๋ก, ์ฝ๋ ์คํ์ด ClearML ์ ์ํด ์ถ์ ๋๊ณ ์์์ ๋ํ๋ ๋๋ค.
- ๊ต์ก ์งํ ์ํฉ์ ๋ชจ๋ํฐ๋งํ๊ณ ์์ธํ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์๋ ClearML ๊ฒฐ๊ณผ ํ์ด์ง๋ก ์ฐ๊ฒฐ๋๋ URL ๋งํฌ์ ๋๋ค.
- Download progress for the YOLO11 model and the specified dataset, followed by a summary of the model architecture and training configuration.
- Initialization messages for various training components like TensorBoard, Automatic Mixed Precision (AMP), and dataset preparation.
- ๋ง์ง๋ง์ผ๋ก ํ๋ จ ํ๋ก์ธ์ค๊ฐ ์์๋๊ณ ๋ชจ๋ธ์ด ์ง์ ๋ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด ํ๋ จํ๋ฉด์ ์งํ๋ฅ ์ด ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ํ์ต ์ค์ ์ฌ์ฉ๋๋ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ๋ํ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
ClearML ๊ฒฐ๊ณผ ํ์ด์ง ๋ณด๊ธฐ
์ฌ์ฉ ์ฝ๋ ์กฐ๊ฐ ์ถ๋ ฅ์์ ClearML ๊ฒฐ๊ณผ ํ์ด์ง๋ก ์ฐ๊ฒฐ๋๋ URL ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ๋ชจ๋ธ์ ํ์ต ๊ณผ์ ์ ๋ํ ์ข ํฉ์ ์ธ ๋ณด๊ธฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
ClearML ๊ฒฐ๊ณผ ํ์ด์ง์ ์ฃผ์ ๊ธฐ๋ฅ
-
์ค์๊ฐ ์งํ ์ถ์
- Track critical metrics like loss, accuracy, and validation scores as they occur.
- ์ ์์ ๋ชจ๋ธ ์ฑ๋ฅ์ ์กฐ์ ํ ์ ์๋๋ก ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํฉ๋๋ค.
-
์คํ ๋น๊ต
- ๋ค์ํ ํธ๋ ์ด๋์ ๋๋ํ ๋น๊ตํ์ธ์.
- Essential for hyperparameter tuning and identifying the most effective models.
-
์์ธ ๋ก๊ทธ ๋ฐ ์ถ๋ ฅ
- ์ข ํฉ์ ์ธ ๋ก๊ทธ, ๋ฉํธ๋ฆญ์ ๊ทธ๋ํฝ ํํ ๋ฐ ์ฝ์ ์ถ๋ ฅ์ ์ก์ธ์คํ์ธ์.
- ๋ชจ๋ธ ๋์ ๋ฐ ๋ฌธ์ ํด๊ฒฐ์ ๋ํ ๋ ๊น์ ์ดํด๋ฅผ ์ป์ผ์ธ์.
-
๋ฆฌ์์ค ์ฌ์ฉ๋ฅ ๋ชจ๋ํฐ๋ง
- CPU, GPU, ๋ฉ๋ชจ๋ฆฌ ๋ฑ ์ปดํจํ ๋ฆฌ์์ค์ ์ฌ์ฉ๋ฅ ์ ๋ชจ๋ํฐ๋งํฉ๋๋ค.
- ๊ต์ก ํจ์จ์ฑ๊ณผ ๋น์ฉ์ ์ต์ ํํ๋ ํต์ฌ ์์์ ๋๋ค.
-
๋ชจ๋ธ ์ํฐํฉํธ ๊ด๋ฆฌ
- ํ์ต๋ ๋ชจ๋ธ ๋ฐ ์ฒดํฌํฌ์ธํธ์ ๊ฐ์ ๋ชจ๋ธ ์ํฐํฉํธ๋ฅผ ๋ณด๊ณ , ๋ค์ด๋ก๋ํ๊ณ , ๊ณต์ ํ์ธ์.
- Enhances collaboration and streamlines model deployment and sharing.
ClearML ๊ฒฐ๊ณผ ํ์ด์ง๊ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ์๊ฐ์ ์ผ๋ก ์ดํด๋ณด๋ ค๋ฉด ์๋ ๋์์์ ์์ฒญํ์ธ์:
Watch: YOLO11 MLOps Integration using ClearML
๊ณ ๊ธ ๊ธฐ๋ฅ ClearML
ClearML ๋ MLOps ๊ฒฝํ์ ํฅ์์ํค๋ ๋ช ๊ฐ์ง ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์๊ฒฉ ์คํ
ClearML์ ์๊ฒฉ ์คํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ์ปดํจํฐ์์ ์คํ์ ์ฌํํ๊ณ ์กฐ์ํ ์ ์์ต๋๋ค. ์ค์น๋ ํจํค์ง ๋ฐ ์ปค๋ฐ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ฐ์ ํ์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์์ ์ด ๋๊ธฐ์ด์ ์ถ๊ฐ๋๋ฉด ClearML ์์ด์ ํธ๊ฐ ์์ ์ ๊ฐ์ ธ์ ํ๊ฒฝ์ ์ฌํํ๊ณ ์คํ์ ์คํํ์ฌ ์์ธํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ณด๊ณ ํฉ๋๋ค.
ClearML ์์ด์ ํธ๋ฅผ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ฉฐ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์์คํ ์์ ์ํํ ์ ์์ต๋๋ค:
์ด ์ค์ ์ ํด๋ผ์ฐ๋ ๊ฐ์ ๋จธ์ , ๋ก์ปฌ GPU ๋๋ ๋ ธํธ๋ถ์ ์ ์ฉํ ์ ์์ต๋๋ค. ClearML ์คํ ์ค์ผ์ผ๋ฌ๋ AWS, GCP, Azure ๋ฑ์ ํ๋ซํผ์์ ํด๋ผ์ฐ๋ ์ํฌ๋ก๋๋ฅผ ๊ด๋ฆฌํ์ฌ ์์ด์ ํธ ๋ฐฐํฌ๋ฅผ ์๋ํํ๊ณ ๋ฆฌ์์ค ์์ฐ์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ์กฐ์ ํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
๋ณต์ , ํธ์ง ๋ฐ ๋๊ธฐ์ด ์ง์
ClearML์ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์์ ์ ์ฝ๊ฒ ๋ณต์ , ํธ์ง, ๋๊ธฐ์ด์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๋ ๊ธฐ์กด ์คํ์ ๋ณต์ ํ๊ณ , UI๋ฅผ ํตํด ๋งค๊ฐ๋ณ์๋ ๊ธฐํ ์ธ๋ถ ์ฌํญ์ ์กฐ์ ํ๊ณ , ์คํ์ ์ํด ์์ ์ ๋๊ธฐ์ด์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ํ๋ ํ๋ก์ธ์ค๋ ์์ ์ ์คํํ๋ ClearML ์์ด์ ํธ๊ฐ ์ ๋ฐ์ดํธ๋ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋๋ก ๋ณด์ฅํ๋ฏ๋ก ๋ฐ๋ณต์ ์ธ ์คํ๊ณผ ๋ชจ๋ธ ๋ฏธ์ธ ์กฐ์ ์ ์ด์์ ์ ๋๋ค.
์์ฝ
This guide has led you through the process of integrating ClearML with Ultralytics' YOLO11. Covering everything from initial setup to advanced model management, you've discovered how to leverage ClearML for efficient training, experiment tracking, and workflow optimization in your machine learning projects.
์ฌ์ฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ClearML ์ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ํ, ๋ฆฌ์์ค์ ์ธ์ฌ์ดํธ์ ๋ณด๊ณ ์ธ Ultralytics ํตํฉ ๊ฐ์ด๋ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ฌ Ultralytics ์ ๋ ๋ง์ ํตํฉ๊ณผ ๊ธฐ๋ฅ์ ์ดํด๋ณด์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
What is the process for integrating Ultralytics YOLO11 with ClearML?
Integrating Ultralytics YOLO11 with ClearML involves a series of steps to streamline your MLOps workflow. First, install the necessary packages:
๊ทธ๋ฐ ๋ค์ ๋ค์์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ์ค์ธ ํ๊ฒฝ์์ ClearML SDK๋ฅผ ์ด๊ธฐํํฉ๋๋ค:
You then configure ClearML with your credentials from the ClearML Settings page. Detailed instructions on the entire setup process, including model selection and training configurations, can be found in our YOLO11 Model Training guide.
Why should I use ClearML with Ultralytics YOLO11 for my machine learning projects?
Using ClearML with Ultralytics YOLO11 enhances your machine learning projects by automating experiment tracking, streamlining workflows, and enabling robust model management. ClearML offers real-time metrics tracking, resource utilization monitoring, and a user-friendly interface for comparing experiments. These features help optimize your model's performance and make the development process more efficient. Learn more about the benefits and procedures in our MLOps Integration guide.
How do I troubleshoot common issues during YOLO11 and ClearML integration?
If you encounter issues during the integration of YOLO11 with ClearML, consult our Common Issues guide for solutions and tips. Typical problems might involve package installation errors, credential setup, or configuration issues. This guide provides step-by-step troubleshooting instructions to resolve these common issues efficiently.
How do I set up the ClearML task for YOLO11 model training?
Setting up a ClearML task for YOLO11 training involves initializing a task, selecting the model variant, loading the model, setting up training arguments, and finally, starting the model training. Here's a simplified example:
from clearml import Task
from ultralytics import YOLO
# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")
# Step 2: Selecting the YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 Model
model = YOLO(f"{model_variant}.pt")
# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)
# Step 5: Initiating Model Training
results = model.train(**args)
์ด๋ฌํ ๋จ๊ณ์ ๋ํ ์์ธํ ๋ถ์์ ์ฌ์ฉ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
Where can I view the results of my YOLO11 training in ClearML?
After running your YOLO11 training script with ClearML, you can view the results on the ClearML results page. The output will include a URL link to the ClearML dashboard, where you can track metrics, compare experiments, and monitor resource usage. For more details on how to view and interpret the results, check our section on Viewing the ClearML Results Page.