馃摎 This guide explains how to use **Weights & Biases** (W&B) with YOLOv5 馃殌. UPDATED 29 September 2021.
* [About Weights & Biases](#about-weights-&-biases)
* [First-Time Setup](#first-time-setup)
* [Viewing runs](#viewing-runs)
* [Disabling wandb](#disabling-wandb)
* [Advanced Usage: Dataset Versioning and Evaluation](#advanced-usage)
* [Reports: Share your work with the world!](#reports)
## About Weights & Biases
Think of [W&B](https://wandb.ai/site?utm_campaign=repo_yolo_wandbtutorial) like GitHub for machine learning models. With a few lines of code, save everything you need to debug, compare and reproduce your models 鈥� architecture, hyperparameters, git commits, model weights, GPU usage, and even datasets and predictions.
Used by top researchers including teams at OpenAI, Lyft, Github, and MILA, W&B is part of the new standard of best practices for machine learning. How W&B can help you optimize your machine learning workflows:
* [Debug](https://wandb.ai/wandb/getting-started/reports/Visualize-Debug-Machine-Learning-Models--VmlldzoyNzY5MDk#Free-2) model performance in real time
* [GPU usage](https://wandb.ai/wandb/getting-started/reports/Visualize-Debug-Machine-Learning-Models--VmlldzoyNzY5MDk#System-4) visualized automatically
* [Custom charts](https://wandb.ai/wandb/customizable-charts/reports/Powerful-Custom-Charts-To-Debug-Model-Peformance--VmlldzoyNzY4ODI) for powerful, extensible visualization
* [Share insights](https://wandb.ai/wandb/getting-started/reports/Visualize-Debug-Machine-Learning-Models--VmlldzoyNzY5MDk#Share-8) interactively with collaborators
* [Optimize hyperparameters](https://docs.wandb.com/sweeps) efficiently
* [Track](https://docs.wandb.com/artifacts) datasets, pipelines, and production models
## First-Time Setup
<details open>
<summary> Toggle Details </summary>
When you first train, W&B will prompt you to create a new account and will generate an **API key** for you. If you are an existing user you can retrieve your key from https://wandb.ai/authorize. This key is used to tell W&B where to log your data. You only need to supply your key once, and then it is remembered on the same device.
W&B will create a cloud **project** (default is 'YOLOv5') for your training runs, and each new training run will be provided a unique run **name** within that project as project/name. You can also manually set your project and run name as:
```shell
$ python train.py --project ... --name ...
```
YOLOv5 notebook example: <a href="https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> <a href="https://www.kaggle.com/ultralytics/yolov5"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
<img width="960" alt="Screen Shot 2021-09-29 at 10 23 13 PM" src="https://user-images.githubusercontent.com/26833433/135392431-1ab7920a-c49d-450a-b0b0-0c86ec86100e.png">
</details>
## Viewing Runs
<details open>
<summary> Toggle Details </summary>
Run information streams from your environment to the W&B cloud console as you train. This allows you to monitor and even cancel runs in <b>realtime</b> . All important information is logged:
* Training & Validation losses
* Metrics: Precision, Recall, mAP@0.5, mAP@0.5:0.95
* Learning Rate over time
* A bounding box debugging panel, showing the training progress over time
* GPU: Type, **GPU Utilization**, power, temperature, **CUDA memory usage**
* System: Disk I/0, CPU utilization, RAM memory usage
* Your trained model as W&B Artifact
* Environment: OS and Python types, Git repository and state, **training command**
<p align="center"><img width="900" alt="Weights & Biases dashboard" src="https://user-images.githubusercontent.com/26833433/135390767-c28b050f-8455-4004-adb0-3b730386e2b2.png"></p>
</details>
## Disabling wandb
* training after running `wandb disabled` inside that directory creates no wandb run
![Screenshot (84)](https://user-images.githubusercontent.com/15766192/143441777-c780bdd7-7cb4-4404-9559-b4316030a985.png)
* To enable wandb again, run `wandb online`
![Screenshot (85)](https://user-images.githubusercontent.com/15766192/143441866-7191b2cb-22f0-4e0f-ae64-2dc47dc13078.png)
## Advanced Usage
You can leverage W&B artifacts and Tables integration to easily visualize and manage your datasets, models and training evaluations. Here are some quick examples to get you started.
<details open>
<h3> 1: Train and Log Evaluation simultaneousy </h3>
This is an extension of the previous section, but it'll also training after uploading the dataset. <b> This also evaluation Table</b>
Evaluation table compares your predictions and ground truths across the validation set for each epoch. It uses the references to the already uploaded datasets,
so no images will be uploaded from your system more than once.
<details open>
<summary> <b>Usage</b> </summary>
<b>Code</b> <code> $ python train.py --upload_data val</code>
![Screenshot from 2021-11-21 17-40-06](https://user-images.githubusercontent.com/15766192/142761183-c1696d8c-3f38-45ab-991a-bb0dfd98ae7d.png)
</details>
<h3>2. Visualize and Version Datasets</h3>
Log, visualize, dynamically query, and understand your data with <a href='https://docs.wandb.ai/guides/data-vis/tables'>W&B Tables</a>. You can use the following command to log your dataset as a W&B Table. This will generate a <code>{dataset}_wandb.yaml</code> file which can be used to train from dataset artifact.
<details>
<summary> <b>Usage</b> </summary>
<b>Code</b> <code> $ python utils/logger/wandb/log_dataset.py --project ... --name ... --data .. </code>
![Screenshot (64)](https://user-images.githubusercontent.com/15766192/128486078-d8433890-98a3-4d12-8986-b6c0e3fc64b9.png)
</details>
<h3> 3: Train using dataset artifact </h3>
When you upload a dataset as described in the first section, you get a new config file with an added `_wandb` to its name. This file contains the information that
can be used to train a model directly from the dataset artifact. <b> This also logs evaluation </b>
<details>
<summary> <b>Usage</b> </summary>
<b>Code</b> <code> $ python train.py --data {data}_wandb.yaml </code>
![Screenshot (72)](https://user-images.githubusercontent.com/15766192/128979739-4cf63aeb-a76f-483f-8861-1c0100b938a5.png)
</details>
<h3> 4: Save model checkpoints as artifacts </h3>
To enable saving and versioning checkpoints of your experiment, pass `--save_period n` with the base cammand, where `n` represents checkpoint interval.
You can also log both the dataset and model checkpoints simultaneously. If not passed, only the final model will be logged
<details>
<summary> <b>Usage</b> </summary>
<b>Code</b> <code> $ python train.py --save_period 1 </code>
![Screenshot (68)](https://user-images.githubusercontent.com/15766192/128726138-ec6c1f60-639d-437d-b4ee-3acd9de47ef3.png)
</details>
</details>
<h3> 5: Resume runs from checkpoint artifacts. </h3>
Any run can be resumed using artifacts if the <code>--resume</code> argument starts with聽<code>wandb-artifact://</code>聽prefix followed by the run path, i.e,聽<code>wandb-artifact://username/project/runid </code>. This doesn't require the model checkpoint to be present on the local system.
<details>
<summary> <b>Usage</b> </summary>
<b>Code</b> <code> $ python train.py --resume wandb-artifact://{run_path} </code>
![Screenshot (70)](https://user-images.githubusercontent.com/15766192/128728988-4e84b355-6c87-41ae-a591-14aecf45343e.png)
</details>
<h3> 6: Resume runs from dataset artifact & checkpoint artifacts. </h3>
<b> Local dataset or model checkpoints are not required. This can be used to resume runs directly on a different device </b>
The syntax is same as the previous section, but you'll need to lof both the dataset and model checkpoints as artifacts, i.e, set bot <code>--upload_dataset<
没有合适的资源?快使用搜索试试~ 我知道了~
基于yolov5的旋转目标检测
共173个文件
py:66个
yaml:33个
sample:13个
需积分: 2 3 下载量 189 浏览量
2024-03-09
17:37:02
上传
评论
收藏 24.45MB ZIP 举报
温馨提示
基于YOLOV5的旋转目标检测是一种先进的计算机视觉技术,它结合了目标检测和目标旋转角度估计两个重要功能。传统的目标检测算法通常只能检测出目标的边界框,而无法获取目标的角度信息。然而,在许多实际应用场景中,如航空航天、工业制造、交通监控等,能够精确检测目标的旋转角度是非常关键的。 YOLOV5是一种基于深度学习的目标检测算法,它具有高精度、高速度和较小模型尺寸等优势。在YOLOV5的基础上,研究人员提出了一种新颖的旋转目标检测方法,能够同时检测出目标的边界框和旋转角度。 该方法的核心思想是在YOLOV5的输出层中增加了一个角度分支,用于预测目标的旋转角度。具体来说,在传统的YOLOV5中,每个anchor box预测出一个目标边界框和该边界框所属的类别概率。而在新的旋转目标检测算法中,每个anchor box还需要预测一个额外的角度值,表示该目标相对于水平方向的旋转角度。 在训练过程中,算法会优化目标边界框、类别概率和旋转角度三个分支的损失函数,使模型能够同时学习这三种信息。在推理阶段,算法会输出每个检测目标的边界框、类别以及旋转角度,从而实现旋转目标检测。
资源推荐
资源详情
资源评论
收起资源包目录
基于yolov5的旋转目标检测 (173个子文件)
setup.cfg 923B
config 341B
poly_nms.cpp 344KB
poly_overlaps.cpp 328KB
polyiou.cpp 4KB
nms_rotated_cpu.cpp 2KB
nms_rotated_ext.cpp 2KB
poly_nms_cpu.cpp 140B
poly_overlaps_kernel.cu 13KB
poly_nms_kernel.cu 11KB
poly_nms_cuda.cu 8KB
nms_rotated_cuda.cu 5KB
polyiou_wrap.cxx 264KB
description 73B
Dockerfile 2KB
Dockerfile 821B
exclude 240B
box_iou_rotated_utils.h 10KB
polyiou.h 202B
HEAD 188B
HEAD 188B
HEAD 32B
HEAD 23B
poly_nms.hpp 298B
poly_overlaps.hpp 106B
polyiou.i 258B
pack-a12d9806e8eaca9dd19f87c11d3da320bc90fa20.idx 20KB
index 14KB
tutorial.ipynb 56KB
train_batch6.jpg 88KB
LICENSE 34KB
Makefile 56B
master 188B
master 41B
YOLOv5_README.md 14KB
README.md 11KB
GetStart.md 7KB
CONTRIBUTING.md 5KB
README.md 4KB
README.md 2KB
install.md 2KB
ChangeLog.md 1KB
pack-a12d9806e8eaca9dd19f87c11d3da320bc90fa20.pack 18.16MB
packed-refs 114B
P0032.png 5.3MB
detection.png 296KB
results.png 111KB
datasets.py 48KB
general.py 40KB
train.py 33KB
common.py 30KB
wandb_utils.py 26KB
plots.py 24KB
export.py 21KB
tf.py 20KB
val.py 20KB
yolo.py 16KB
metrics.py 14KB
dota_evaluation_task1.py 13KB
torch_utils.py 13KB
loss.py 13KB
detect.py 13KB
augmentations.py 12KB
ImgSplit_multi_process.py 12KB
hrsc2016_evaluation.py 11KB
ucasaod_evaluation.py 11KB
dota_utils.py 10KB
ImgSplit.py 10KB
ResultEnsembleNMS_multi_process.py 10KB
dota_evaluation_task2.py 10KB
ResultMerge_multi_process.py 10KB
autoanchor.py 9KB
mAOE_evaluation.py 8KB
__init__.py 8KB
dota_poly2rbox.py 8KB
polyiou.py 8KB
rboxs_utils.py 7KB
hubconf.py 6KB
downloads.py 6KB
setup.py 6KB
ResultMerge.py 6KB
DOTA2COCO.py 6KB
experimental.py 4KB
DOTA.py 4KB
SplitOnlyImage_multi_process.py 4KB
activations.py 4KB
DOTA2JSON.py 4KB
prepare_dota1_ms.py 3KB
nms_rotated_wrapper.py 3KB
Xml2Txt.py 3KB
results_ensemble.py 2KB
callbacks.py 2KB
SplitOnlyImage.py 2KB
TestJson2VocClassTxt.py 2KB
results_obb2hbb.py 2KB
autobatch.py 2KB
setup.py 2KB
resume.py 1KB
sweep.py 1KB
__init__.py 1KB
共 173 条
- 1
- 2
资源评论
进击的代码家
- 粉丝: 2202
- 资源: 203
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功