Add AzureML Quickstart Guides (#4772)
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>main
parent
8fd9a1a048
commit
602022a56e
6 changed files with 223 additions and 2 deletions
@ -0,0 +1,122 @@ |
||||
--- |
||||
comments: true |
||||
description: Azure Machine Learning YOLOv8 quickstart |
||||
keywords: Ultralytics, YOLO, Deep Learning, Object detection, quickstart, Azure, AzureML |
||||
--- |
||||
|
||||
# YOLOv8 🚀 on AzureML |
||||
|
||||
Note that this guide is only for quick trials from a compute terminal or from a Notebook. If you want to unlock the full power AzureML, you can find the documentation to: |
||||
|
||||
- [Create a data asset](https://learn.microsoft.com/azure/machine-learning/how-to-create-data-assets) |
||||
- [Create an AzureML job](https://learn.microsoft.com/azure/machine-learning/how-to-train-model) |
||||
- [Register a model](https://learn.microsoft.com/azure/machine-learning/how-to-manage-models) |
||||
- [Train YOLOv8 with the AzureML Python SDK](https://medium.com/@ouphi/how-to-train-the-yolov8-model-with-azure-machine-learning-python-sdk-8268696be8ba) |
||||
- [Train YOLOv8 with the Azureml cli](https://medium.com/@ouphi/how-to-train-the-yolov8-model-with-azureml-and-the-az-cli-73d3c870ba8e) |
||||
|
||||
## Prerequisites |
||||
|
||||
You need an [AzureML workspace](https://learn.microsoft.com/azure/machine-learning/concept-workspace?view=azureml-api-2). |
||||
|
||||
## Create a compute instance |
||||
|
||||
From your AzureML workspace, select Compute > Compute instances > New, select the instance with the resources you need. |
||||
|
||||
<img width="1741" alt="create-compute-arrow" src="https://github.com/ouphi/ultralytics/assets/17216799/3e92fcc0-a08e-41a4-af81-d289cfe3b8f2"> |
||||
|
||||
## Quickstart from Terminal |
||||
|
||||
Start your compute and open a Terminal: |
||||
|
||||
 |
||||
|
||||
### Create virtualenv |
||||
|
||||
Create your conda virtualenv and install pip in it: |
||||
|
||||
```bash |
||||
conda create --name yolov8env -y |
||||
conda activate yolov8env |
||||
conda install pip -y |
||||
``` |
||||
|
||||
Install the required dependencies: |
||||
|
||||
```bash |
||||
cd ultralytics |
||||
pip install -r requirements.txt |
||||
pip install ultralytics |
||||
pip install onnx>=1.12.0 |
||||
``` |
||||
|
||||
### Perform YOLOv8 tasks |
||||
|
||||
Predict: |
||||
|
||||
```bash |
||||
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg' |
||||
``` |
||||
|
||||
Train a detection model for 10 epochs with an initial learning_rate of 0.01: |
||||
|
||||
```bash |
||||
yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01 |
||||
``` |
||||
|
||||
You can find more [instructions to use the Ultralytics cli here](https://docs.ultralytics.com/quickstart/#use-ultralytics-with-cli). |
||||
|
||||
## Quickstart from a Notebook |
||||
|
||||
### Create a new IPython kernel |
||||
|
||||
Open the compute Terminal. |
||||
|
||||
 |
||||
|
||||
From your compute terminal, you need to create a new ipykernel that will be used by your notebook to manage your dependencies: |
||||
|
||||
```bash |
||||
conda create --name yolov8env -y |
||||
conda activate yolov8env |
||||
conda install pip -y |
||||
conda install ipykernel -y |
||||
python -m ipykernel install --user --name yolov8env --display-name "yolov8env" |
||||
``` |
||||
|
||||
Close your terminal and create a new notebook. From your Notebook, you can select the new kernel. |
||||
|
||||
Then you can open a Notebook cell and install the required dependencies: |
||||
|
||||
```bash |
||||
%%bash |
||||
source activate yolov8env |
||||
cd ultralytics |
||||
pip install -r requirements.txt |
||||
pip install ultralytics |
||||
pip install onnx>=1.12.0 |
||||
``` |
||||
|
||||
Note that we need to use the `source activate yolov8env` for all the %%bash cells, to make sure that the %%bash cell uses environment we want. |
||||
|
||||
Run some predictions using the [Ultralytics CLI](https://docs.ultralytics.com/quickstart/#use-ultralytics-with-cli): |
||||
|
||||
```bash |
||||
%%bash |
||||
source activate yolov8env |
||||
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg' |
||||
``` |
||||
|
||||
Or with the [Ultralytics Python interface](https://docs.ultralytics.com/quickstart/#use-ultralytics-with-python), for example to train the model: |
||||
|
||||
```python |
||||
from ultralytics import YOLO |
||||
|
||||
# Load a model |
||||
model = YOLO("yolov8n.pt") # load an official YOLOv8n model |
||||
|
||||
# Use the model |
||||
model.train(data="coco128.yaml", epochs=3) # train the model |
||||
metrics = model.val() # evaluate model performance on the validation set |
||||
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image |
||||
path = model.export(format="onnx") # export the model to ONNX format |
||||
``` |
@ -0,0 +1,95 @@ |
||||
--- |
||||
comments: true |
||||
description: Azure Machine Learning YOLOv5 quickstart |
||||
keywords: Ultralytics, YOLO, Deep Learning, Object detection, quickstart, Azure, AzureML |
||||
--- |
||||
|
||||
# YOLOv5 🚀 on AzureML |
||||
|
||||
This guide provides a quickstart to use YOLOv5 from an AzureML compute instance. |
||||
|
||||
Note that this guide is a quickstart for quick trials. If you want to unlock the full power AzureML, you can find the documentation to: |
||||
|
||||
- [Create a data asset](https://learn.microsoft.com/azure/machine-learning/how-to-create-data-assets) |
||||
- [Create an AzureML job](https://learn.microsoft.com/azure/machine-learning/how-to-train-model) |
||||
- [Register a model](https://learn.microsoft.com/azure/machine-learning/how-to-manage-models) |
||||
|
||||
## Prerequisites |
||||
|
||||
You need an [AzureML workspace](https://learn.microsoft.com/azure/machine-learning/concept-workspace?view=azureml-api-2). |
||||
|
||||
## Create a compute instance |
||||
|
||||
From your AzureML workspace, select Compute > Compute instances > New, select the instance with the resources you need. |
||||
|
||||
<img width="1741" alt="create-compute-arrow" src="https://github.com/ouphi/ultralytics/assets/17216799/3e92fcc0-a08e-41a4-af81-d289cfe3b8f2"> |
||||
|
||||
## Open a Terminal |
||||
|
||||
Now from the Notebooks view, open a Terminal and select your compute. |
||||
|
||||
 |
||||
|
||||
## Setup and run YOLOv5 |
||||
|
||||
Now you can, create a virtual environment: |
||||
|
||||
```bash |
||||
conda create --name yolov5env -y |
||||
conda activate yolov5env |
||||
conda install pip -y |
||||
``` |
||||
|
||||
Clone YOLOv5 repository with its submodules: |
||||
|
||||
```bash |
||||
git clone https://github.com/ultralytics/yolov5 |
||||
cd yolov5 |
||||
git submodule update --init --recursive # Note that you might have a message asking you to add your folder as a safe.directory just copy the recommended command |
||||
``` |
||||
|
||||
Install the required dependencies: |
||||
|
||||
```bash |
||||
pip install -r yolov5/requirements.txt |
||||
pip install onnx>=1.10.0 |
||||
``` |
||||
|
||||
Train the YOLOv5 model: |
||||
|
||||
```bash |
||||
python train.py |
||||
``` |
||||
|
||||
Validate the model for Precision, Recall, and mAP |
||||
|
||||
```bash |
||||
python val.py --weights yolov5s.pt |
||||
``` |
||||
|
||||
Run inference on images and videos: |
||||
|
||||
```bash |
||||
python detect.py --weights yolov5s.pt --source path/to/images |
||||
``` |
||||
|
||||
Export models to other formats: |
||||
|
||||
```bash |
||||
python detect.py --weights yolov5s.pt --source path/to/images |
||||
``` |
||||
|
||||
## Notes on using a notebook |
||||
|
||||
Note that if you want to run these commands from a Notebook, you need to [create a new Kernel](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-access-terminal?view=azureml-api-2#add-new-kernels) |
||||
and select your new Kernel on the top of your Notebook. |
||||
|
||||
If you create Python cells it will automatically use your custom environment, but if you add bash cells, you will need to run `source activate <your-env>` on each of these cells to make sure it uses your custom environment. |
||||
|
||||
For example: |
||||
|
||||
```bash |
||||
%%bash |
||||
source activate newenv |
||||
python val.py --weights yolov5s.pt |
||||
``` |
Loading…
Reference in new issue