YAML reformat (#12648)

* YAML reformat

* Auto-format by Ultralytics actions

---------

Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
This commit is contained in:
Glenn JocherandUltralyticsAssistant authored and GitHub committed 2024-01-18 17:53:34 +01:00
1 parent 703d37ef79
commit 050c72cbba
57 files changed
+1287 -1363

No files matched your search

+19 -19
View File
@@ -5,11 +5,11 @@ name: YOLOv5 CI
on: on:
push: push:
branches: [ master ] branches: [master]
pull_request: pull_request:
branches: [ master ] branches: [master]
schedule: schedule:
- cron: '0 0 * * *' # runs at 00:00 UTC every day - cron: "0 0 * * *" # runs at 00:00 UTC every day
jobs: jobs:
Benchmarks: Benchmarks:
@@ -17,15 +17,15 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-latest ] os: [ubuntu-latest]
python-version: [ '3.11' ] # requires python<=3.10 python-version: ["3.11"] # requires python<=3.10
model: [ yolov5n ] model: [yolov5n]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
cache: 'pip' # caching pip dependencies cache: "pip" # caching pip dependencies
- name: Install requirements - name: Install requirements
run: | run: |
python -m pip install --upgrade pip wheel python -m pip install --upgrade pip wheel
@@ -51,26 +51,26 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-latest, windows-latest ] # macos-latest bug https://github.com/ultralytics/yolov5/pull/9049 os: [ubuntu-latest, windows-latest] # macos-latest bug https://github.com/ultralytics/yolov5/pull/9049
python-version: [ '3.11' ] python-version: ["3.11"]
model: [ yolov5n ] model: [yolov5n]
include: include:
- os: ubuntu-latest - os: ubuntu-latest
python-version: '3.8' # '3.6.8' min python-version: "3.8" # '3.6.8' min
model: yolov5n model: yolov5n
- os: ubuntu-latest - os: ubuntu-latest
python-version: '3.9' python-version: "3.9"
model: yolov5n model: yolov5n
- os: ubuntu-latest - os: ubuntu-latest
python-version: '3.8' # torch 1.8.0 requires python >=3.6, <=3.8 python-version: "3.8" # torch 1.8.0 requires python >=3.6, <=3.8
model: yolov5n model: yolov5n
torch: '1.8.0' # min torch version CI https://pypi.org/project/torchvision/ torch: "1.8.0" # min torch version CI https://pypi.org/project/torchvision/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
cache: 'pip' # caching pip dependencies cache: "pip" # caching pip dependencies
- name: Install requirements - name: Install requirements
run: | run: |
python -m pip install --upgrade pip wheel python -m pip install --upgrade pip wheel
@@ -79,13 +79,13 @@ jobs:
else else
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu
fi fi
shell: bash # for Windows compatibility shell: bash # for Windows compatibility
- name: Check environment - name: Check environment
run: | run: |
yolo checks yolo checks
pip list pip list
- name: Test detection - name: Test detection
shell: bash # for Windows compatibility shell: bash # for Windows compatibility
run: | run: |
# export PYTHONPATH="$PWD" # to run '$ python *.py' files in subdirectories # export PYTHONPATH="$PWD" # to run '$ python *.py' files in subdirectories
m=${{ matrix.model }} # official weights m=${{ matrix.model }} # official weights
@@ -111,7 +111,7 @@ jobs:
torch.jit.trace(model, [im]) torch.jit.trace(model, [im])
EOF EOF
- name: Test segmentation - name: Test segmentation
shell: bash # for Windows compatibility shell: bash # for Windows compatibility
run: | run: |
m=${{ matrix.model }}-seg # official weights m=${{ matrix.model }}-seg # official weights
b=runs/train-seg/exp/weights/best # best.pt checkpoint b=runs/train-seg/exp/weights/best # best.pt checkpoint
@@ -125,7 +125,7 @@ jobs:
done done
done done
- name: Test classification - name: Test classification
shell: bash # for Windows compatibility shell: bash # for Windows compatibility
run: | run: |
m=${{ matrix.model }}-cls.pt # official weights m=${{ matrix.model }}-cls.pt # official weights
b=runs/train-cls/exp/weights/best.pt # best.pt checkpoint b=runs/train-cls/exp/weights/best.pt # best.pt checkpoint
+2 -2
View File
@@ -5,7 +5,7 @@ name: "CodeQL"
on: on:
schedule: schedule:
- cron: '0 0 1 * *' # Runs at 00:00 UTC on the 1st of every month - cron: "0 0 1 * *" # Runs at 00:00 UTC on the 1st of every month
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -16,7 +16,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
language: ['python'] language: ["python"]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more: # Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
+2 -2
View File
@@ -5,7 +5,7 @@ name: Publish Docker Images
on: on:
push: push:
branches: [ master ] branches: [master]
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -17,7 +17,7 @@ jobs:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 # copy full .git directory to access full git history in Docker images fetch-depth: 0 # copy full .git directory to access full git history in Docker images
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
+3 -3
View File
@@ -6,9 +6,9 @@ name: Ultralytics Actions
on: on:
push: push:
branches: [main,master] branches: [main, master]
pull_request_target: pull_request_target:
branches: [main,master] branches: [main, master]
jobs: jobs:
format: format:
@@ -17,7 +17,7 @@ jobs:
- name: Run Ultralytics Formatting - name: Run Ultralytics Formatting
uses: ultralytics/actions@main uses: ultralytics/actions@main
with: with:
token: ${{ secrets.GITHUB_TOKEN }} # automatically generated token: ${{ secrets.GITHUB_TOKEN }} # automatically generated
python: true python: true
docstrings: true docstrings: true
markdown: true markdown: true
+1 -1
View File
@@ -12,7 +12,7 @@ name: Check Broken links
on: on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 0 * * *' # runs at 00:00 UTC every day - cron: "0 0 * * *" # runs at 00:00 UTC every day
jobs: jobs:
Links: Links:
+3 -3
View File
@@ -3,7 +3,7 @@
name: Close stale issues name: Close stale issues
on: on:
schedule: schedule:
- cron: '0 0 * * *' # Runs at 00:00 UTC every day - cron: "0 0 * * *" # Runs at 00:00 UTC every day
jobs: jobs:
stale: stale:
@@ -43,5 +43,5 @@ jobs:
days-before-issue-close: 10 days-before-issue-close: 10
days-before-pr-stale: 90 days-before-pr-stale: 90
days-before-pr-close: 30 days-before-pr-close: 30
exempt-issue-labels: 'documentation,tutorial,TODO' exempt-issue-labels: "documentation,tutorial,TODO"
operations-per-run: 300 # The maximum number of operations per run, used to control rate limiting. operations-per-run: 300 # The maximum number of operations per run, used to control rate limiting.
+1 -1
View File
@@ -55,7 +55,7 @@ To allow your work to be integrated as seamlessly as possible, we advise you to:
<p align="center"><img width="751" alt="Screenshot 2022-08-29 at 22 47 03" src="https://user-images.githubusercontent.com/26833433/187296922-545c5498-f64a-4d8c-8300-5fa764360da6.png"></p> <p align="center"><img width="751" alt="Screenshot 2022-08-29 at 22 47 03" src="https://user-images.githubusercontent.com/26833433/187296922-545c5498-f64a-4d8c-8300-5fa764360da6.png"></p>
- ✅ Reduce changes to the absolute **minimum** required for your bug fix or feature addition. _"It is not daily increase - ✅ Reduce changes to the absolute **minimum** required for your bug fix or feature addition. _"It is not daily increase
but daily decrease, hack away the unessential. The closer to the source, the less wastage there is."_ — Bruce Lee but daily decrease, hack away the unessential. The closer to the source, the less wastage there is."_ — Bruce Lee
## Submitting a Bug Report 🐛 ## Submitting a Bug Report 🐛
+1 -1
View File
@@ -188,7 +188,7 @@ python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml -
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" /></a> <img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" /></a>
</div> </div>
| Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW | | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
| :--------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | | :--------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
| Label and export your custom datasets directly to YOLOv5 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) | Automatically track, visualize and even remotely train YOLOv5 using [ClearML](https://cutt.ly/yolov5-readme-clearml) (open-source!) | Free forever, [Comet](https://bit.ly/yolov5-readme-comet2) lets you save YOLOv5 models, resume training, and interactively visualise and debug predictions | Run YOLOv5 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) | | Label and export your custom datasets directly to YOLOv5 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) | Automatically track, visualize and even remotely train YOLOv5 using [ClearML](https://cutt.ly/yolov5-readme-clearml) (open-source!) | Free forever, [Comet](https://bit.ly/yolov5-readme-comet2) lets you save YOLOv5 models, resume training, and interactively visualise and debug predictions | Run YOLOv5 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
+39 -39
View File
@@ -183,8 +183,8 @@ python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml -
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" /></a> <img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" /></a>
</div> </div>
| Roboflow | ClearML ⭐ 新 | Comet ⭐ 新 | Neural Magic ⭐ 新 | | Roboflow | ClearML ⭐ 新 | Comet ⭐ 新 | Neural Magic ⭐ 新 |
| :--------------------------------------------------------------------------------: | :-------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------: | | :--------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
| 将您的自定义数据集进行标注并直接导出到 YOLOv5 以进行训练 [Roboflow](https://roboflow.com/?ref=ultralytics) | 自动跟踪、可视化甚至远程训练 YOLOv5 [ClearML](https://cutt.ly/yolov5-readme-clearml)(开源!) | 永远免费,[Comet](https://bit.ly/yolov5-readme-comet2)可让您保存 YOLOv5 模型、恢复训练以及交互式可视化和调试预测 | 使用 [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic),运行 YOLOv5 推理的速度最高可提高6倍 | | 将您的自定义数据集进行标注并直接导出到 YOLOv5 以进行训练 [Roboflow](https://roboflow.com/?ref=ultralytics) | 自动跟踪、可视化甚至远程训练 YOLOv5 [ClearML](https://cutt.ly/yolov5-readme-clearml)(开源!) | 永远免费,[Comet](https://bit.ly/yolov5-readme-comet2)可让您保存 YOLOv5 模型、恢复训练以及交互式可视化和调试预测 | 使用 [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic),运行 YOLOv5 推理的速度最高可提高6倍 |
## <div align="center">Ultralytics HUB</div> ## <div align="center">Ultralytics HUB</div>
@@ -216,19 +216,19 @@ YOLOv5 超级容易上手,简单易学。我们优先考虑现实世界的结
### 预训练模型 ### 预训练模型
| 模型 | 尺寸<br><sup>(像素) | mAP<sup>val<br>50-95 | mAP<sup>val<br>50 | 推理速度<br><sup>CPU b1<br>(ms) | 推理速度<br><sup>V100 b1<br>(ms) | 速度<br><sup>V100 b32<br>(ms) | 参数量<br><sup>(M) | FLOPs<br><sup>@640 (B) | | 模型 | 尺寸<br><sup>(像素) | mAP<sup>val<br>50-95 | mAP<sup>val<br>50 | 推理速度<br><sup>CPU b1<br>(ms) | 推理速度<br><sup>V100 b1<br>(ms) | 速度<br><sup>V100 b32<br>(ms) | 参数量<br><sup>(M) | FLOPs<br><sup>@640 (B) |
| ---------------------------------------------------------------------------------------------- | --------------- | -------------------- | ----------------- | --------------------------- | ---------------------------- | --------------------------- | --------------- | ---------------------- | | ---------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ----------------- | --------------------------------- | ---------------------------------- | ------------------------------- | ------------------ | ---------------------- |
| [YOLOv5n](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n.pt) | 640 | 28.0 | 45.7 | **45** | **6.3** | **0.6** | **1.9** | **4.5** | | [YOLOv5n](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n.pt) | 640 | 28.0 | 45.7 | **45** | **6.3** | **0.6** | **1.9** | **4.5** |
| [YOLOv5s](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt) | 640 | 37.4 | 56.8 | 98 | 6.4 | 0.9 | 7.2 | 16.5 | | [YOLOv5s](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt) | 640 | 37.4 | 56.8 | 98 | 6.4 | 0.9 | 7.2 | 16.5 |
| [YOLOv5m](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m.pt) | 640 | 45.4 | 64.1 | 224 | 8.2 | 1.7 | 21.2 | 49.0 | | [YOLOv5m](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m.pt) | 640 | 45.4 | 64.1 | 224 | 8.2 | 1.7 | 21.2 | 49.0 |
| [YOLOv5l](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l.pt) | 640 | 49.0 | 67.3 | 430 | 10.1 | 2.7 | 46.5 | 109.1 | | [YOLOv5l](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l.pt) | 640 | 49.0 | 67.3 | 430 | 10.1 | 2.7 | 46.5 | 109.1 |
| [YOLOv5x](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x.pt) | 640 | 50.7 | 68.9 | 766 | 12.1 | 4.8 | 86.7 | 205.7 | | [YOLOv5x](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x.pt) | 640 | 50.7 | 68.9 | 766 | 12.1 | 4.8 | 86.7 | 205.7 |
| | | | | | | | | | | | | | | | | | | |
| [YOLOv5n6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n6.pt) | 1280 | 36.0 | 54.4 | 153 | 8.1 | 2.1 | 3.2 | 4.6 | | [YOLOv5n6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n6.pt) | 1280 | 36.0 | 54.4 | 153 | 8.1 | 2.1 | 3.2 | 4.6 |
| [YOLOv5s6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s6.pt) | 1280 | 44.8 | 63.7 | 385 | 8.2 | 3.6 | 12.6 | 16.8 | | [YOLOv5s6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s6.pt) | 1280 | 44.8 | 63.7 | 385 | 8.2 | 3.6 | 12.6 | 16.8 |
| [YOLOv5m6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m6.pt) | 1280 | 51.3 | 69.3 | 887 | 11.1 | 6.8 | 35.7 | 50.0 | | [YOLOv5m6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m6.pt) | 1280 | 51.3 | 69.3 | 887 | 11.1 | 6.8 | 35.7 | 50.0 |
| [YOLOv5l6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l6.pt) | 1280 | 53.7 | 71.3 | 1784 | 15.8 | 10.5 | 76.8 | 111.4 | | [YOLOv5l6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l6.pt) | 1280 | 53.7 | 71.3 | 1784 | 15.8 | 10.5 | 76.8 | 111.4 |
| [YOLOv5x6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x6.pt)<br>+[TTA] | 1280<br>1536 | 55.0<br>**55.8** | 72.7<br>**72.7** | 3136<br>- | 26.2<br>- | 19.4<br>- | 140.7<br>- | 209.8<br>- | | [YOLOv5x6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x6.pt)<br>+[TTA] | 1280<br>1536 | 55.0<br>**55.8** | 72.7<br>**72.7** | 3136<br>- | 26.2<br>- | 19.4<br>- | 140.7<br>- | 209.8<br>- |
<details> <details>
<summary>笔记</summary> <summary>笔记</summary>
@@ -256,13 +256,13 @@ YOLOv5 超级容易上手,简单易学。我们优先考虑现实世界的结
我们使用 A100 GPU 在 COCO 上以 640 图像大小训练了 300 epochs 得到 YOLOv5 分割模型。我们将所有模型导出到 ONNX FP32 以进行 CPU 速度测试,并导出到 TensorRT FP16 以进行 GPU 速度测试。为了便于再现,我们在 Google [Colab Pro](https://colab.research.google.com/signup) 上进行了所有速度测试。 我们使用 A100 GPU 在 COCO 上以 640 图像大小训练了 300 epochs 得到 YOLOv5 分割模型。我们将所有模型导出到 ONNX FP32 以进行 CPU 速度测试,并导出到 TensorRT FP16 以进行 GPU 速度测试。为了便于再现,我们在 Google [Colab Pro](https://colab.research.google.com/signup) 上进行了所有速度测试。
| 模型 | 尺寸<br><sup>(像素) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | 训练时长<br><sup>300 epochs<br>A100 GPU(小时) | 推理速度<br><sup>ONNX CPU<br>(ms) | 推理速度<br><sup>TRT A100<br>(ms) | 参数量<br><sup>(M) | FLOPs<br><sup>@640 (B) | | 模型 | 尺寸<br><sup>(像素) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | 训练时长<br><sup>300 epochs<br>A100 GPU(小时) | 推理速度<br><sup>ONNX CPU<br>(ms) | 推理速度<br><sup>TRT A100<br>(ms) | 参数量<br><sup>(M) | FLOPs<br><sup>@640 (B) |
| ------------------------------------------------------------------------------------------ | --------------- | -------------------- | --------------------- | --------------------------------------- | ----------------------------- | ----------------------------- | --------------- | ---------------------- | | ------------------------------------------------------------------------------------------ | --------------------- | -------------------- | --------------------- | ----------------------------------------------- | ----------------------------------- | ----------------------------------- | ------------------ | ---------------------- |
| [YOLOv5n-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-seg.pt) | 640 | 27.6 | 23.4 | 80:17 | **62.7** | **1.2** | **2.0** | **7.1** | | [YOLOv5n-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-seg.pt) | 640 | 27.6 | 23.4 | 80:17 | **62.7** | **1.2** | **2.0** | **7.1** |
| [YOLOv5s-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-seg.pt) | 640 | 37.6 | 31.7 | 88:16 | 173.3 | 1.4 | 7.6 | 26.4 | | [YOLOv5s-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-seg.pt) | 640 | 37.6 | 31.7 | 88:16 | 173.3 | 1.4 | 7.6 | 26.4 |
| [YOLOv5m-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-seg.pt) | 640 | 45.0 | 37.1 | 108:36 | 427.0 | 2.2 | 22.0 | 70.8 | | [YOLOv5m-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-seg.pt) | 640 | 45.0 | 37.1 | 108:36 | 427.0 | 2.2 | 22.0 | 70.8 |
| [YOLOv5l-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-seg.pt) | 640 | 49.0 | 39.9 | 66:43 (2x) | 857.4 | 2.9 | 47.9 | 147.7 | | [YOLOv5l-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-seg.pt) | 640 | 49.0 | 39.9 | 66:43 (2x) | 857.4 | 2.9 | 47.9 | 147.7 |
| [YOLOv5x-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-seg.pt) | 640 | **50.7** | **41.4** | 62:56 (3x) | 1579.2 | 4.5 | 88.8 | 265.7 | | [YOLOv5x-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-seg.pt) | 640 | **50.7** | **41.4** | 62:56 (3x) | 1579.2 | 4.5 | 88.8 | 265.7 |
- 所有模型使用 SGD 优化器训练, 都使用 `lr0=0.01` 和 `weight_decay=5e-5` 参数, 图像大小为 640 。<br>训练 log 可以查看 https://wandb.ai/glenn-jocher/YOLOv5_v70_official - 所有模型使用 SGD 优化器训练, 都使用 `lr0=0.01` 和 `weight_decay=5e-5` 参数, 图像大小为 640 。<br>训练 log 可以查看 https://wandb.ai/glenn-jocher/YOLOv5_v70_official
- **准确性**结果都在 COCO 数据集上,使用单模型单尺度测试得到。<br>复现命令 `python segment/val.py --data coco.yaml --weights yolov5s-seg.pt` - **准确性**结果都在 COCO 数据集上,使用单模型单尺度测试得到。<br>复现命令 `python segment/val.py --data coco.yaml --weights yolov5s-seg.pt`
@@ -333,23 +333,23 @@ YOLOv5 [release v6.2](https://github.com/ultralytics/yolov5/releases) 带来对
我们使用 4xA100 实例在 ImageNet 上训练了 90 个 epochs 得到 YOLOv5-cls 分类模型,我们训练了 ResNet 和 EfficientNet 模型以及相同的默认训练设置以进行比较。我们将所有模型导出到 ONNX FP32 以进行 CPU 速度测试,并导出到 TensorRT FP16 以进行 GPU 速度测试。为了便于重现,我们在 Google 上进行了所有速度测试 [Colab Pro](https://colab.research.google.com/signup) 。 我们使用 4xA100 实例在 ImageNet 上训练了 90 个 epochs 得到 YOLOv5-cls 分类模型,我们训练了 ResNet 和 EfficientNet 模型以及相同的默认训练设置以进行比较。我们将所有模型导出到 ONNX FP32 以进行 CPU 速度测试,并导出到 TensorRT FP16 以进行 GPU 速度测试。为了便于重现,我们在 Google 上进行了所有速度测试 [Colab Pro](https://colab.research.google.com/signup) 。
| 模型 | 尺寸<br><sup>(像素) | acc<br><sup>top1 | acc<br><sup>top5 | 训练时长<br><sup>90 epochs<br>4xA100(小时) | 推理速度<br><sup>ONNX CPU<br>(ms) | 推理速度<br><sup>TensorRT V100<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>@640 (B) | | 模型 | 尺寸<br><sup>(像素) | acc<br><sup>top1 | acc<br><sup>top5 | 训练时长<br><sup>90 epochs<br>4xA100(小时) | 推理速度<br><sup>ONNX CPU<br>(ms) | 推理速度<br><sup>TensorRT V100<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>@640 (B) |
| -------------------------------------------------------------------------------------------------- | --------------- | ---------------- | ---------------- | ------------------------------------ | ----------------------------- | ---------------------------------- | -------------- | ---------------------- | | -------------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | -------------------------------------------- | ----------------------------------- | ---------------------------------------- | ---------------- | ---------------------- |
| [YOLOv5n-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-cls.pt) | 224 | 64.6 | 85.4 | 7:59 | **3.3** | **0.5** | **2.5** | **0.5** | | [YOLOv5n-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-cls.pt) | 224 | 64.6 | 85.4 | 7:59 | **3.3** | **0.5** | **2.5** | **0.5** |
| [YOLOv5s-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-cls.pt) | 224 | 71.5 | 90.2 | 8:09 | 6.6 | 0.6 | 5.4 | 1.4 | | [YOLOv5s-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-cls.pt) | 224 | 71.5 | 90.2 | 8:09 | 6.6 | 0.6 | 5.4 | 1.4 |
| [YOLOv5m-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-cls.pt) | 224 | 75.9 | 92.9 | 10:06 | 15.5 | 0.9 | 12.9 | 3.9 | | [YOLOv5m-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-cls.pt) | 224 | 75.9 | 92.9 | 10:06 | 15.5 | 0.9 | 12.9 | 3.9 |
| [YOLOv5l-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-cls.pt) | 224 | 78.0 | 94.0 | 11:56 | 26.9 | 1.4 | 26.5 | 8.5 | | [YOLOv5l-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-cls.pt) | 224 | 78.0 | 94.0 | 11:56 | 26.9 | 1.4 | 26.5 | 8.5 |
| [YOLOv5x-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-cls.pt) | 224 | **79.0** | **94.4** | 15:04 | 54.3 | 1.8 | 48.1 | 15.9 | | [YOLOv5x-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-cls.pt) | 224 | **79.0** | **94.4** | 15:04 | 54.3 | 1.8 | 48.1 | 15.9 |
| | | | | | | | | | | | | | | | | | | |
| [ResNet18](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet18.pt) | 224 | 70.3 | 89.5 | **6:47** | 11.2 | 0.5 | 11.7 | 3.7 | | [ResNet18](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet18.pt) | 224 | 70.3 | 89.5 | **6:47** | 11.2 | 0.5 | 11.7 | 3.7 |
| [Resnetzch](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet34.pt) | 224 | 73.9 | 91.8 | 8:33 | 20.6 | 0.9 | 21.8 | 7.4 | | [Resnetzch](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet34.pt) | 224 | 73.9 | 91.8 | 8:33 | 20.6 | 0.9 | 21.8 | 7.4 |
| [ResNet50](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet50.pt) | 224 | 76.8 | 93.4 | 11:10 | 23.4 | 1.0 | 25.6 | 8.5 | | [ResNet50](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet50.pt) | 224 | 76.8 | 93.4 | 11:10 | 23.4 | 1.0 | 25.6 | 8.5 |
| [ResNet101](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet101.pt) | 224 | 78.5 | 94.3 | 17:10 | 42.1 | 1.9 | 44.5 | 15.9 | | [ResNet101](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet101.pt) | 224 | 78.5 | 94.3 | 17:10 | 42.1 | 1.9 | 44.5 | 15.9 |
| | | | | | | | | | | | | | | | | | | |
| [EfficientNet_b0](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b0.pt) | 224 | 75.1 | 92.4 | 13:03 | 12.5 | 1.3 | 5.3 | 1.0 | | [EfficientNet_b0](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b0.pt) | 224 | 75.1 | 92.4 | 13:03 | 12.5 | 1.3 | 5.3 | 1.0 |
| [EfficientNet_b1](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b1.pt) | 224 | 76.4 | 93.2 | 17:04 | 14.9 | 1.6 | 7.8 | 1.5 | | [EfficientNet_b1](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b1.pt) | 224 | 76.4 | 93.2 | 17:04 | 14.9 | 1.6 | 7.8 | 1.5 |
| [EfficientNet_b2](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b2.pt) | 224 | 76.6 | 93.4 | 17:10 | 15.9 | 1.6 | 9.1 | 1.7 | | [EfficientNet_b2](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b2.pt) | 224 | 76.6 | 93.4 | 17:10 | 15.9 | 1.6 | 9.1 | 1.7 |
| [EfficientNet_b3](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b3.pt) | 224 | 77.7 | 94.0 | 19:19 | 18.9 | 1.9 | 12.2 | 2.4 | | [EfficientNet_b3](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b3.pt) | 224 | 77.7 | 94.0 | 19:19 | 18.9 | 1.9 | 12.2 | 2.4 |
<details> <details>
<summary>Table Notes (点击以展开)</summary> <summary>Table Notes (点击以展开)</summary>
+4 -6
View File
@@ -6,12 +6,11 @@
# └── datasets # └── datasets
# └── Argoverse ← downloads here (31.3 GB) # └── Argoverse ← downloads here (31.3 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/Argoverse # dataset root dir path: ../datasets/Argoverse # dataset root dir
train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images
val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images
test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview
# Classes # Classes
names: names:
@@ -24,7 +23,6 @@ names:
6: traffic_light 6: traffic_light
7: stop_sign 7: stop_sign
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
import json import json
+1 -3
View File
@@ -6,9 +6,8 @@
# └── datasets # └── datasets
# └── GlobalWheat2020 ← downloads here (7.0 GB) # └── GlobalWheat2020 ← downloads here (7.0 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/GlobalWheat2020 # dataset root dir path: ../datasets/GlobalWheat2020 # dataset root dir
train: # train images (relative to 'path') 3422 images train: # train images (relative to 'path') 3422 images
- images/arvalis_1 - images/arvalis_1
- images/arvalis_2 - images/arvalis_2
@@ -29,7 +28,6 @@ test: # test images (optional) 1276 images
names: names:
0: wheat_head 0: wheat_head
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
from utils.general import download, Path from utils.general import download, Path
+4 -6
View File
@@ -7,12 +7,11 @@
# └── datasets # └── datasets
# └── imagenet ← downloads here (144 GB) # └── imagenet ← downloads here (144 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/imagenet # dataset root dir path: ../datasets/imagenet # dataset root dir
train: train # train images (relative to 'path') 1281167 images train: train # train images (relative to 'path') 1281167 images
val: val # val images (relative to 'path') 50000 images val: val # val images (relative to 'path') 50000 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
@@ -1017,6 +1016,5 @@ names:
998: ear 998: ear
999: toilet paper 999: toilet paper
# Download script/URL (optional) # Download script/URL (optional)
download: data/scripts/get_imagenet.sh download: data/scripts/get_imagenet.sh
+4 -6
View File
@@ -7,12 +7,11 @@
# └── datasets # └── datasets
# └── imagenet10 ← downloads here # └── imagenet10 ← downloads here
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/imagenet10 # dataset root dir path: ../datasets/imagenet10 # dataset root dir
train: train # train images (relative to 'path') 1281167 images train: train # train images (relative to 'path') 1281167 images
val: val # val images (relative to 'path') 50000 images val: val # val images (relative to 'path') 50000 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
@@ -27,6 +26,5 @@ names:
8: hen 8: hen
9: ostrich 9: ostrich
# Download script/URL (optional) # Download script/URL (optional)
download: data/scripts/get_imagenet10.sh download: data/scripts/get_imagenet10.sh
+4 -5
View File
@@ -7,12 +7,11 @@
# └── datasets # └── datasets
# └── imagenet100 ← downloads here # └── imagenet100 ← downloads here
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/imagenet100 # dataset root dir path: ../datasets/imagenet100 # dataset root dir
train: train # train images (relative to 'path') 1281167 images train: train # train images (relative to 'path') 1281167 images
val: val # val images (relative to 'path') 50000 images val: val # val images (relative to 'path') 50000 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
+4 -6
View File
@@ -7,12 +7,11 @@
# └── datasets # └── datasets
# └── imagenet100 ← downloads here # └── imagenet100 ← downloads here
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/imagenet1000 # dataset root dir path: ../datasets/imagenet1000 # dataset root dir
train: train # train images (relative to 'path') 1281167 images train: train # train images (relative to 'path') 1281167 images
val: val # val images (relative to 'path') 50000 images val: val # val images (relative to 'path') 50000 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
@@ -1017,6 +1016,5 @@ names:
998: ear 998: ear
999: toilet paper 999: toilet paper
# Download script/URL (optional) # Download script/URL (optional)
download: data/scripts/get_imagenet1000.sh download: data/scripts/get_imagenet1000.sh
+3 -5
View File
@@ -6,12 +6,11 @@
# └── datasets # └── datasets
# └── Objects365 ← downloads here (712 GB = 367G data + 345G zips) # └── Objects365 ← downloads here (712 GB = 367G data + 345G zips)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/Objects365 # dataset root dir path: ../datasets/Objects365 # dataset root dir
train: images/train # train images (relative to 'path') 1742289 images train: images/train # train images (relative to 'path') 1742289 images
val: images/val # val images (relative to 'path') 80000 images val: images/val # val images (relative to 'path') 80000 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
@@ -381,7 +380,6 @@ names:
363: Curling 363: Curling
364: Table Tennis 364: Table Tennis
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
from tqdm import tqdm from tqdm import tqdm
+4 -6
View File
@@ -6,18 +6,16 @@
# └── datasets # └── datasets
# └── SKU-110K ← downloads here (13.6 GB) # └── SKU-110K ← downloads here (13.6 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/SKU-110K # dataset root dir path: ../datasets/SKU-110K # dataset root dir
train: train.txt # train images (relative to 'path') 8219 images train: train.txt # train images (relative to 'path') 8219 images
val: val.txt # val images (relative to 'path') 588 images val: val.txt # val images (relative to 'path') 588 images
test: test.txt # test images (optional) 2936 images test: test.txt # test images (optional) 2936 images
# Classes # Classes
names: names:
0: object 0: object
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
import shutil import shutil
-2
View File
@@ -6,7 +6,6 @@
# └── datasets # └── datasets
# └── VOC ← downloads here (2.8 GB) # └── VOC ← downloads here (2.8 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/VOC path: ../datasets/VOC
train: # train images (relative to 'path') 16551 images train: # train images (relative to 'path') 16551 images
@@ -42,7 +41,6 @@ names:
18: train 18: train
19: tvmonitor 19: tvmonitor
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
+4 -6
View File
@@ -6,12 +6,11 @@
# └── datasets # └── datasets
# └── VisDrone ← downloads here (2.3 GB) # └── VisDrone ← downloads here (2.3 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/VisDrone # dataset root dir path: ../datasets/VisDrone # dataset root dir
train: VisDrone2019-DET-train/images # train images (relative to 'path') 6471 images train: VisDrone2019-DET-train/images # train images (relative to 'path') 6471 images
val: VisDrone2019-DET-val/images # val images (relative to 'path') 548 images val: VisDrone2019-DET-val/images # val images (relative to 'path') 548 images
test: VisDrone2019-DET-test-dev/images # test images (optional) 1610 images test: VisDrone2019-DET-test-dev/images # test images (optional) 1610 images
# Classes # Classes
names: names:
@@ -26,7 +25,6 @@ names:
8: bus 8: bus
9: motor 9: motor
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
from utils.general import download, os, Path from utils.general import download, os, Path
+4 -6
View File
@@ -6,12 +6,11 @@
# └── datasets # └── datasets
# └── coco ← downloads here (20.1 GB) # └── coco ← downloads here (20.1 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco # dataset root dir path: ../datasets/coco # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794 test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
# Classes # Classes
names: names:
@@ -96,7 +95,6 @@ names:
78: hair drier 78: hair drier
79: toothbrush 79: toothbrush
# Download script/URL (optional) # Download script/URL (optional)
download: | download: |
from utils.general import download, Path from utils.general import download, Path
+4 -6
View File
@@ -6,12 +6,11 @@
# └── datasets # └── datasets
# └── coco128-seg ← downloads here (7 MB) # └── coco128-seg ← downloads here (7 MB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128-seg # dataset root dir path: ../datasets/coco128-seg # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
@@ -96,6 +95,5 @@ names:
78: hair drier 78: hair drier
79: toothbrush 79: toothbrush
# Download script/URL (optional) # Download script/URL (optional)
download: https://ultralytics.com/assets/coco128-seg.zip download: https://ultralytics.com/assets/coco128-seg.zip
+4 -6
View File
@@ -6,12 +6,11 @@
# └── datasets # └── datasets
# └── coco128 ← downloads here (7 MB) # └── coco128 ← downloads here (7 MB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128 # dataset root dir path: ../datasets/coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional) test: # test images (optional)
# Classes # Classes
names: names:
@@ -96,6 +95,5 @@ names:
78: hair drier 78: hair drier
79: toothbrush 79: toothbrush
# Download script/URL (optional) # Download script/URL (optional)
download: https://ultralytics.com/assets/coco128.zip download: https://ultralytics.com/assets/coco128.zip
+28 -28
View File
@@ -3,33 +3,33 @@
# python train.py --hyp hyp.no-augmentation.yaml # python train.py --hyp hyp.no-augmentation.yaml
# See https://github.com/ultralytics/yolov5/pull/3882 for YOLOv5 + Albumentations Usage examples # See https://github.com/ultralytics/yolov5/pull/3882 for YOLOv5 + Albumentations Usage examples
lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3)
lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf) lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf)
momentum: 0.937 # SGD momentum/Adam beta1 momentum: 0.937 # SGD momentum/Adam beta1
weight_decay: 0.0005 # optimizer weight decay 5e-4 weight_decay: 0.0005 # optimizer weight decay 5e-4
warmup_epochs: 3.0 # warmup epochs (fractions ok) warmup_epochs: 3.0 # warmup epochs (fractions ok)
warmup_momentum: 0.8 # warmup initial momentum warmup_momentum: 0.8 # warmup initial momentum
warmup_bias_lr: 0.1 # warmup initial bias lr warmup_bias_lr: 0.1 # warmup initial bias lr
box: 0.05 # box loss gain box: 0.05 # box loss gain
cls: 0.3 # cls loss gain cls: 0.3 # cls loss gain
cls_pw: 1.0 # cls BCELoss positive_weight cls_pw: 1.0 # cls BCELoss positive_weight
obj: 0.7 # obj loss gain (scale with pixels) obj: 0.7 # obj loss gain (scale with pixels)
obj_pw: 1.0 # obj BCELoss positive_weight obj_pw: 1.0 # obj BCELoss positive_weight
iou_t: 0.20 # IoU training threshold iou_t: 0.20 # IoU training threshold
anchor_t: 4.0 # anchor-multiple threshold anchor_t: 4.0 # anchor-multiple threshold
# anchors: 3 # anchors per output layer (0 to ignore) # anchors: 3 # anchors per output layer (0 to ignore)
# this parameters are all zero since we want to use albumentation framework # this parameters are all zero since we want to use albumentation framework
fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5) fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5)
hsv_h: 0 # image HSV-Hue augmentation (fraction) hsv_h: 0 # image HSV-Hue augmentation (fraction)
hsv_s: 0 # image HSV-Saturation augmentation (fraction) hsv_s: 0 # image HSV-Saturation augmentation (fraction)
hsv_v: 0 # image HSV-Value augmentation (fraction) hsv_v: 0 # image HSV-Value augmentation (fraction)
degrees: 0.0 # image rotation (+/- deg) degrees: 0.0 # image rotation (+/- deg)
translate: 0 # image translation (+/- fraction) translate: 0 # image translation (+/- fraction)
scale: 0 # image scale (+/- gain) scale: 0 # image scale (+/- gain)
shear: 0 # image shear (+/- deg) shear: 0 # image shear (+/- deg)
perspective: 0.0 # image perspective (+/- fraction), range 0-0.001 perspective: 0.0 # image perspective (+/- fraction), range 0-0.001
flipud: 0.0 # image flip up-down (probability) flipud: 0.0 # image flip up-down (probability)
fliplr: 0.0 # image flip left-right (probability) fliplr: 0.0 # image flip left-right (probability)
mosaic: 0.0 # image mosaic (probability) mosaic: 0.0 # image mosaic (probability)
mixup: 0.0 # image mixup (probability) mixup: 0.0 # image mixup (probability)
copy_paste: 0.0 # segment copy-paste (probability) copy_paste: 0.0 # segment copy-paste (probability)
+28 -28
View File
@@ -3,32 +3,32 @@
# python train.py --batch 32 --cfg yolov5m6.yaml --weights '' --data coco.yaml --img 1280 --epochs 300 # python train.py --batch 32 --cfg yolov5m6.yaml --weights '' --data coco.yaml --img 1280 --epochs 300
# See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials # See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials
lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3)
lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf) lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf)
momentum: 0.937 # SGD momentum/Adam beta1 momentum: 0.937 # SGD momentum/Adam beta1
weight_decay: 0.0005 # optimizer weight decay 5e-4 weight_decay: 0.0005 # optimizer weight decay 5e-4
warmup_epochs: 3.0 # warmup epochs (fractions ok) warmup_epochs: 3.0 # warmup epochs (fractions ok)
warmup_momentum: 0.8 # warmup initial momentum warmup_momentum: 0.8 # warmup initial momentum
warmup_bias_lr: 0.1 # warmup initial bias lr warmup_bias_lr: 0.1 # warmup initial bias lr
box: 0.05 # box loss gain box: 0.05 # box loss gain
cls: 0.3 # cls loss gain cls: 0.3 # cls loss gain
cls_pw: 1.0 # cls BCELoss positive_weight cls_pw: 1.0 # cls BCELoss positive_weight
obj: 0.7 # obj loss gain (scale with pixels) obj: 0.7 # obj loss gain (scale with pixels)
obj_pw: 1.0 # obj BCELoss positive_weight obj_pw: 1.0 # obj BCELoss positive_weight
iou_t: 0.20 # IoU training threshold iou_t: 0.20 # IoU training threshold
anchor_t: 4.0 # anchor-multiple threshold anchor_t: 4.0 # anchor-multiple threshold
# anchors: 3 # anchors per output layer (0 to ignore) # anchors: 3 # anchors per output layer (0 to ignore)
fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5) fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5)
hsv_h: 0.015 # image HSV-Hue augmentation (fraction) hsv_h: 0.015 # image HSV-Hue augmentation (fraction)
hsv_s: 0.7 # image HSV-Saturation augmentation (fraction) hsv_s: 0.7 # image HSV-Saturation augmentation (fraction)
hsv_v: 0.4 # image HSV-Value augmentation (fraction) hsv_v: 0.4 # image HSV-Value augmentation (fraction)
degrees: 0.0 # image rotation (+/- deg) degrees: 0.0 # image rotation (+/- deg)
translate: 0.1 # image translation (+/- fraction) translate: 0.1 # image translation (+/- fraction)
scale: 0.9 # image scale (+/- gain) scale: 0.9 # image scale (+/- gain)
shear: 0.0 # image shear (+/- deg) shear: 0.0 # image shear (+/- deg)
perspective: 0.0 # image perspective (+/- fraction), range 0-0.001 perspective: 0.0 # image perspective (+/- fraction), range 0-0.001
flipud: 0.0 # image flip up-down (probability) flipud: 0.0 # image flip up-down (probability)
fliplr: 0.5 # image flip left-right (probability) fliplr: 0.5 # image flip left-right (probability)
mosaic: 1.0 # image mosaic (probability) mosaic: 1.0 # image mosaic (probability)
mixup: 0.1 # image mixup (probability) mixup: 0.1 # image mixup (probability)
copy_paste: 0.1 # segment copy-paste (probability) copy_paste: 0.1 # segment copy-paste (probability)
+28 -28
View File
@@ -3,32 +3,32 @@
# python train.py --batch 64 --cfg yolov5n6.yaml --weights '' --data coco.yaml --img 640 --epochs 300 --linear # python train.py --batch 64 --cfg yolov5n6.yaml --weights '' --data coco.yaml --img 640 --epochs 300 --linear
# See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials # See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials
lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3)
lrf: 0.01 # final OneCycleLR learning rate (lr0 * lrf) lrf: 0.01 # final OneCycleLR learning rate (lr0 * lrf)
momentum: 0.937 # SGD momentum/Adam beta1 momentum: 0.937 # SGD momentum/Adam beta1
weight_decay: 0.0005 # optimizer weight decay 5e-4 weight_decay: 0.0005 # optimizer weight decay 5e-4
warmup_epochs: 3.0 # warmup epochs (fractions ok) warmup_epochs: 3.0 # warmup epochs (fractions ok)
warmup_momentum: 0.8 # warmup initial momentum warmup_momentum: 0.8 # warmup initial momentum
warmup_bias_lr: 0.1 # warmup initial bias lr warmup_bias_lr: 0.1 # warmup initial bias lr
box: 0.05 # box loss gain box: 0.05 # box loss gain
cls: 0.5 # cls loss gain cls: 0.5 # cls loss gain
cls_pw: 1.0 # cls BCELoss positive_weight cls_pw: 1.0 # cls BCELoss positive_weight
obj: 1.0 # obj loss gain (scale with pixels) obj: 1.0 # obj loss gain (scale with pixels)
obj_pw: 1.0 # obj BCELoss positive_weight obj_pw: 1.0 # obj BCELoss positive_weight
iou_t: 0.20 # IoU training threshold iou_t: 0.20 # IoU training threshold
anchor_t: 4.0 # anchor-multiple threshold anchor_t: 4.0 # anchor-multiple threshold
# anchors: 3 # anchors per output layer (0 to ignore) # anchors: 3 # anchors per output layer (0 to ignore)
fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5) fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5)
hsv_h: 0.015 # image HSV-Hue augmentation (fraction) hsv_h: 0.015 # image HSV-Hue augmentation (fraction)
hsv_s: 0.7 # image HSV-Saturation augmentation (fraction) hsv_s: 0.7 # image HSV-Saturation augmentation (fraction)
hsv_v: 0.4 # image HSV-Value augmentation (fraction) hsv_v: 0.4 # image HSV-Value augmentation (fraction)
degrees: 0.0 # image rotation (+/- deg) degrees: 0.0 # image rotation (+/- deg)
translate: 0.1 # image translation (+/- fraction) translate: 0.1 # image translation (+/- fraction)
scale: 0.5 # image scale (+/- gain) scale: 0.5 # image scale (+/- gain)
shear: 0.0 # image shear (+/- deg) shear: 0.0 # image shear (+/- deg)
perspective: 0.0 # image perspective (+/- fraction), range 0-0.001 perspective: 0.0 # image perspective (+/- fraction), range 0-0.001
flipud: 0.0 # image flip up-down (probability) flipud: 0.0 # image flip up-down (probability)
fliplr: 0.5 # image flip left-right (probability) fliplr: 0.5 # image flip left-right (probability)
mosaic: 1.0 # image mosaic (probability) mosaic: 1.0 # image mosaic (probability)
mixup: 0.0 # image mixup (probability) mixup: 0.0 # image mixup (probability)
copy_paste: 0.0 # segment copy-paste (probability) copy_paste: 0.0 # segment copy-paste (probability)
+28 -28
View File
@@ -3,32 +3,32 @@
# python train.py --batch 32 --cfg yolov5m6.yaml --weights '' --data coco.yaml --img 1280 --epochs 300 # python train.py --batch 32 --cfg yolov5m6.yaml --weights '' --data coco.yaml --img 1280 --epochs 300
# See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials # See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials
lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3)
lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf) lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf)
momentum: 0.937 # SGD momentum/Adam beta1 momentum: 0.937 # SGD momentum/Adam beta1
weight_decay: 0.0005 # optimizer weight decay 5e-4 weight_decay: 0.0005 # optimizer weight decay 5e-4
warmup_epochs: 3.0 # warmup epochs (fractions ok) warmup_epochs: 3.0 # warmup epochs (fractions ok)
warmup_momentum: 0.8 # warmup initial momentum warmup_momentum: 0.8 # warmup initial momentum
warmup_bias_lr: 0.1 # warmup initial bias lr warmup_bias_lr: 0.1 # warmup initial bias lr
box: 0.05 # box loss gain box: 0.05 # box loss gain
cls: 0.3 # cls loss gain cls: 0.3 # cls loss gain
cls_pw: 1.0 # cls BCELoss positive_weight cls_pw: 1.0 # cls BCELoss positive_weight
obj: 0.7 # obj loss gain (scale with pixels) obj: 0.7 # obj loss gain (scale with pixels)
obj_pw: 1.0 # obj BCELoss positive_weight obj_pw: 1.0 # obj BCELoss positive_weight
iou_t: 0.20 # IoU training threshold iou_t: 0.20 # IoU training threshold
anchor_t: 4.0 # anchor-multiple threshold anchor_t: 4.0 # anchor-multiple threshold
# anchors: 3 # anchors per output layer (0 to ignore) # anchors: 3 # anchors per output layer (0 to ignore)
fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5) fl_gamma: 0.0 # focal loss gamma (efficientDet default gamma=1.5)
hsv_h: 0.015 # image HSV-Hue augmentation (fraction) hsv_h: 0.015 # image HSV-Hue augmentation (fraction)
hsv_s: 0.7 # image HSV-Saturation augmentation (fraction) hsv_s: 0.7 # image HSV-Saturation augmentation (fraction)
hsv_v: 0.4 # image HSV-Value augmentation (fraction) hsv_v: 0.4 # image HSV-Value augmentation (fraction)
degrees: 0.0 # image rotation (+/- deg) degrees: 0.0 # image rotation (+/- deg)
translate: 0.1 # image translation (+/- fraction) translate: 0.1 # image translation (+/- fraction)
scale: 0.9 # image scale (+/- gain) scale: 0.9 # image scale (+/- gain)
shear: 0.0 # image shear (+/- deg) shear: 0.0 # image shear (+/- deg)
perspective: 0.0 # image perspective (+/- fraction), range 0-0.001 perspective: 0.0 # image perspective (+/- fraction), range 0-0.001
flipud: 0.0 # image flip up-down (probability) flipud: 0.0 # image flip up-down (probability)
fliplr: 0.5 # image flip left-right (probability) fliplr: 0.5 # image flip left-right (probability)
mosaic: 1.0 # image mosaic (probability) mosaic: 1.0 # image mosaic (probability)
mixup: 0.1 # image mixup (probability) mixup: 0.1 # image mixup (probability)
copy_paste: 0.0 # segment copy-paste (probability) copy_paste: 0.0 # segment copy-paste (probability)
+3 -5
View File
@@ -7,11 +7,10 @@
# └── datasets # └── datasets
# └── xView ← downloads here (20.7 GB) # └── xView ← downloads here (20.7 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/xView # dataset root dir path: ../datasets/xView # dataset root dir
train: images/autosplit_train.txt # train images (relative to 'path') 90% of 847 train images train: images/autosplit_train.txt # train images (relative to 'path') 90% of 847 train images
val: images/autosplit_val.txt # train images (relative to 'path') 10% of 847 train images val: images/autosplit_val.txt # train images (relative to 'path') 10% of 847 train images
# Classes # Classes
names: names:
@@ -76,7 +75,6 @@ names:
58: Pylon 58: Pylon
59: Tower 59: Tower
# Download script/URL (optional) --------------------------------------------------------------------------------------- # Download script/URL (optional) ---------------------------------------------------------------------------------------
download: | download: |
import json import json
+30 -33
View File
@@ -1,59 +1,56 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Default anchors for COCO data # Default anchors for COCO data
# P5 ------------------------------------------------------------------------------------------------------------------- # P5 -------------------------------------------------------------------------------------------------------------------
# P5-640: # P5-640:
anchors_p5_640: anchors_p5_640:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# P6 ------------------------------------------------------------------------------------------------------------------- # P6 -------------------------------------------------------------------------------------------------------------------
# P6-640: thr=0.25: 0.9964 BPR, 5.54 anchors past thr, n=12, img_size=640, metric_all=0.281/0.716-mean/best, past_thr=0.469-mean: 9,11, 21,19, 17,41, 43,32, 39,70, 86,64, 65,131, 134,130, 120,265, 282,180, 247,354, 512,387 # P6-640: thr=0.25: 0.9964 BPR, 5.54 anchors past thr, n=12, img_size=640, metric_all=0.281/0.716-mean/best, past_thr=0.469-mean: 9,11, 21,19, 17,41, 43,32, 39,70, 86,64, 65,131, 134,130, 120,265, 282,180, 247,354, 512,387
anchors_p6_640: anchors_p6_640:
- [9,11, 21,19, 17,41] # P3/8 - [9, 11, 21, 19, 17, 41] # P3/8
- [43,32, 39,70, 86,64] # P4/16 - [43, 32, 39, 70, 86, 64] # P4/16
- [65,131, 134,130, 120,265] # P5/32 - [65, 131, 134, 130, 120, 265] # P5/32
- [282,180, 247,354, 512,387] # P6/64 - [282, 180, 247, 354, 512, 387] # P6/64
# P6-1280: thr=0.25: 0.9950 BPR, 5.55 anchors past thr, n=12, img_size=1280, metric_all=0.281/0.714-mean/best, past_thr=0.468-mean: 19,27, 44,40, 38,94, 96,68, 86,152, 180,137, 140,301, 303,264, 238,542, 436,615, 739,380, 925,792 # P6-1280: thr=0.25: 0.9950 BPR, 5.55 anchors past thr, n=12, img_size=1280, metric_all=0.281/0.714-mean/best, past_thr=0.468-mean: 19,27, 44,40, 38,94, 96,68, 86,152, 180,137, 140,301, 303,264, 238,542, 436,615, 739,380, 925,792
anchors_p6_1280: anchors_p6_1280:
- [19,27, 44,40, 38,94] # P3/8 - [19, 27, 44, 40, 38, 94] # P3/8
- [96,68, 86,152, 180,137] # P4/16 - [96, 68, 86, 152, 180, 137] # P4/16
- [140,301, 303,264, 238,542] # P5/32 - [140, 301, 303, 264, 238, 542] # P5/32
- [436,615, 739,380, 925,792] # P6/64 - [436, 615, 739, 380, 925, 792] # P6/64
# P6-1920: thr=0.25: 0.9950 BPR, 5.55 anchors past thr, n=12, img_size=1920, metric_all=0.281/0.714-mean/best, past_thr=0.468-mean: 28,41, 67,59, 57,141, 144,103, 129,227, 270,205, 209,452, 455,396, 358,812, 653,922, 1109,570, 1387,1187 # P6-1920: thr=0.25: 0.9950 BPR, 5.55 anchors past thr, n=12, img_size=1920, metric_all=0.281/0.714-mean/best, past_thr=0.468-mean: 28,41, 67,59, 57,141, 144,103, 129,227, 270,205, 209,452, 455,396, 358,812, 653,922, 1109,570, 1387,1187
anchors_p6_1920: anchors_p6_1920:
- [28,41, 67,59, 57,141] # P3/8 - [28, 41, 67, 59, 57, 141] # P3/8
- [144,103, 129,227, 270,205] # P4/16 - [144, 103, 129, 227, 270, 205] # P4/16
- [209,452, 455,396, 358,812] # P5/32 - [209, 452, 455, 396, 358, 812] # P5/32
- [653,922, 1109,570, 1387,1187] # P6/64 - [653, 922, 1109, 570, 1387, 1187] # P6/64
# P7 ------------------------------------------------------------------------------------------------------------------- # P7 -------------------------------------------------------------------------------------------------------------------
# P7-640: thr=0.25: 0.9962 BPR, 6.76 anchors past thr, n=15, img_size=640, metric_all=0.275/0.733-mean/best, past_thr=0.466-mean: 11,11, 13,30, 29,20, 30,46, 61,38, 39,92, 78,80, 146,66, 79,163, 149,150, 321,143, 157,303, 257,402, 359,290, 524,372 # P7-640: thr=0.25: 0.9962 BPR, 6.76 anchors past thr, n=15, img_size=640, metric_all=0.275/0.733-mean/best, past_thr=0.466-mean: 11,11, 13,30, 29,20, 30,46, 61,38, 39,92, 78,80, 146,66, 79,163, 149,150, 321,143, 157,303, 257,402, 359,290, 524,372
anchors_p7_640: anchors_p7_640:
- [11,11, 13,30, 29,20] # P3/8 - [11, 11, 13, 30, 29, 20] # P3/8
- [30,46, 61,38, 39,92] # P4/16 - [30, 46, 61, 38, 39, 92] # P4/16
- [78,80, 146,66, 79,163] # P5/32 - [78, 80, 146, 66, 79, 163] # P5/32
- [149,150, 321,143, 157,303] # P6/64 - [149, 150, 321, 143, 157, 303] # P6/64
- [257,402, 359,290, 524,372] # P7/128 - [257, 402, 359, 290, 524, 372] # P7/128
# P7-1280: thr=0.25: 0.9968 BPR, 6.71 anchors past thr, n=15, img_size=1280, metric_all=0.273/0.732-mean/best, past_thr=0.463-mean: 19,22, 54,36, 32,77, 70,83, 138,71, 75,173, 165,159, 148,334, 375,151, 334,317, 251,626, 499,474, 750,326, 534,814, 1079,818 # P7-1280: thr=0.25: 0.9968 BPR, 6.71 anchors past thr, n=15, img_size=1280, metric_all=0.273/0.732-mean/best, past_thr=0.463-mean: 19,22, 54,36, 32,77, 70,83, 138,71, 75,173, 165,159, 148,334, 375,151, 334,317, 251,626, 499,474, 750,326, 534,814, 1079,818
anchors_p7_1280: anchors_p7_1280:
- [19,22, 54,36, 32,77] # P3/8 - [19, 22, 54, 36, 32, 77] # P3/8
- [70,83, 138,71, 75,173] # P4/16 - [70, 83, 138, 71, 75, 173] # P4/16
- [165,159, 148,334, 375,151] # P5/32 - [165, 159, 148, 334, 375, 151] # P5/32
- [334,317, 251,626, 499,474] # P6/64 - [334, 317, 251, 626, 499, 474] # P6/64
- [750,326, 534,814, 1079,818] # P7/128 - [750, 326, 534, 814, 1079, 818] # P7/128
# P7-1920: thr=0.25: 0.9968 BPR, 6.71 anchors past thr, n=15, img_size=1920, metric_all=0.273/0.732-mean/best, past_thr=0.463-mean: 29,34, 81,55, 47,115, 105,124, 207,107, 113,259, 247,238, 222,500, 563,227, 501,476, 376,939, 749,711, 1126,489, 801,1222, 1618,1227 # P7-1920: thr=0.25: 0.9968 BPR, 6.71 anchors past thr, n=15, img_size=1920, metric_all=0.273/0.732-mean/best, past_thr=0.463-mean: 29,34, 81,55, 47,115, 105,124, 207,107, 113,259, 247,238, 222,500, 563,227, 501,476, 376,939, 749,711, 1126,489, 801,1222, 1618,1227
anchors_p7_1920: anchors_p7_1920:
- [29,34, 81,55, 47,115] # P3/8 - [29, 34, 81, 55, 47, 115] # P3/8
- [105,124, 207,107, 113,259] # P4/16 - [105, 124, 207, 107, 113, 259] # P4/16
- [247,238, 222,500, 563,227] # P5/32 - [247, 238, 222, 500, 563, 227] # P5/32
- [501,476, 376,939, 749,711] # P6/64 - [501, 476, 376, 939, 749, 711] # P6/64
- [1126,489, 801,1222, 1618,1227] # P7/128 - [1126, 489, 801, 1222, 1618, 1227] # P7/128
+37 -36
View File
@@ -1,51 +1,52 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# darknet53 backbone # darknet53 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [32, 3, 1]], # 0 [
[-1, 1, Conv, [64, 3, 2]], # 1-P1/2 [-1, 1, Conv, [32, 3, 1]], # 0
[-1, 1, Bottleneck, [64]], [-1, 1, Conv, [64, 3, 2]], # 1-P1/2
[-1, 1, Conv, [128, 3, 2]], # 3-P2/4 [-1, 1, Bottleneck, [64]],
[-1, 2, Bottleneck, [128]], [-1, 1, Conv, [128, 3, 2]], # 3-P2/4
[-1, 1, Conv, [256, 3, 2]], # 5-P3/8 [-1, 2, Bottleneck, [128]],
[-1, 8, Bottleneck, [256]], [-1, 1, Conv, [256, 3, 2]], # 5-P3/8
[-1, 1, Conv, [512, 3, 2]], # 7-P4/16 [-1, 8, Bottleneck, [256]],
[-1, 8, Bottleneck, [512]], [-1, 1, Conv, [512, 3, 2]], # 7-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 9-P5/32 [-1, 8, Bottleneck, [512]],
[-1, 4, Bottleneck, [1024]], # 10 [-1, 1, Conv, [1024, 3, 2]], # 9-P5/32
[-1, 4, Bottleneck, [1024]], # 10
] ]
# YOLOv3-SPP head # YOLOv3-SPP head
head: head: [
[[-1, 1, Bottleneck, [1024, False]], [-1, 1, Bottleneck, [1024, False]],
[-1, 1, SPP, [512, [5, 9, 13]]], [-1, 1, SPP, [512, [5, 9, 13]]],
[-1, 1, Conv, [1024, 3, 1]], [-1, 1, Conv, [1024, 3, 1]],
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, Conv, [1024, 3, 1]], # 15 (P5/32-large) [-1, 1, Conv, [1024, 3, 1]], # 15 (P5/32-large)
[-2, 1, Conv, [256, 1, 1]], [-2, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P4 [[-1, 8], 1, Concat, [1]], # cat backbone P4
[-1, 1, Bottleneck, [512, False]], [-1, 1, Bottleneck, [512, False]],
[-1, 1, Bottleneck, [512, False]], [-1, 1, Bottleneck, [512, False]],
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, Conv, [512, 3, 1]], # 22 (P4/16-medium) [-1, 1, Conv, [512, 3, 1]], # 22 (P4/16-medium)
[-2, 1, Conv, [128, 1, 1]], [-2, 1, Conv, [128, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P3 [[-1, 6], 1, Concat, [1]], # cat backbone P3
[-1, 1, Bottleneck, [256, False]], [-1, 1, Bottleneck, [256, False]],
[-1, 2, Bottleneck, [256, False]], # 27 (P3/8-small) [-1, 2, Bottleneck, [256, False]], # 27 (P3/8-small)
[[27, 22, 15], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[27, 22, 15], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+28 -27
View File
@@ -1,41 +1,42 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,14, 23,27, 37,58] # P4/16 - [10, 14, 23, 27, 37, 58] # P4/16
- [81,82, 135,169, 344,319] # P5/32 - [81, 82, 135, 169, 344, 319] # P5/32
# YOLOv3-tiny backbone # YOLOv3-tiny backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [16, 3, 1]], # 0 [
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 1-P1/2 [-1, 1, Conv, [16, 3, 1]], # 0
[-1, 1, Conv, [32, 3, 1]], [-1, 1, nn.MaxPool2d, [2, 2, 0]], # 1-P1/2
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 3-P2/4 [-1, 1, Conv, [32, 3, 1]],
[-1, 1, Conv, [64, 3, 1]], [-1, 1, nn.MaxPool2d, [2, 2, 0]], # 3-P2/4
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 5-P3/8 [-1, 1, Conv, [64, 3, 1]],
[-1, 1, Conv, [128, 3, 1]], [-1, 1, nn.MaxPool2d, [2, 2, 0]], # 5-P3/8
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 7-P4/16 [-1, 1, Conv, [128, 3, 1]],
[-1, 1, Conv, [256, 3, 1]], [-1, 1, nn.MaxPool2d, [2, 2, 0]], # 7-P4/16
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 9-P5/32 [-1, 1, Conv, [256, 3, 1]],
[-1, 1, Conv, [512, 3, 1]], [-1, 1, nn.MaxPool2d, [2, 2, 0]], # 9-P5/32
[-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]], # 11 [-1, 1, Conv, [512, 3, 1]],
[-1, 1, nn.MaxPool2d, [2, 1, 0]], # 12 [-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]], # 11
[-1, 1, nn.MaxPool2d, [2, 1, 0]], # 12
] ]
# YOLOv3-tiny head # YOLOv3-tiny head
head: head: [
[[-1, 1, Conv, [1024, 3, 1]], [-1, 1, Conv, [1024, 3, 1]],
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, Conv, [512, 3, 1]], # 15 (P5/32-large) [-1, 1, Conv, [512, 3, 1]], # 15 (P5/32-large)
[-2, 1, Conv, [128, 1, 1]], [-2, 1, Conv, [128, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P4 [[-1, 8], 1, Concat, [1]], # cat backbone P4
[-1, 1, Conv, [256, 3, 1]], # 19 (P4/16-medium) [-1, 1, Conv, [256, 3, 1]], # 19 (P4/16-medium)
[[19, 15], 1, Detect, [nc, anchors]], # Detect(P4, P5) [[19, 15], 1, Detect, [nc, anchors]], # Detect(P4, P5)
] ]
+37 -36
View File
@@ -1,51 +1,52 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# darknet53 backbone # darknet53 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [32, 3, 1]], # 0 [
[-1, 1, Conv, [64, 3, 2]], # 1-P1/2 [-1, 1, Conv, [32, 3, 1]], # 0
[-1, 1, Bottleneck, [64]], [-1, 1, Conv, [64, 3, 2]], # 1-P1/2
[-1, 1, Conv, [128, 3, 2]], # 3-P2/4 [-1, 1, Bottleneck, [64]],
[-1, 2, Bottleneck, [128]], [-1, 1, Conv, [128, 3, 2]], # 3-P2/4
[-1, 1, Conv, [256, 3, 2]], # 5-P3/8 [-1, 2, Bottleneck, [128]],
[-1, 8, Bottleneck, [256]], [-1, 1, Conv, [256, 3, 2]], # 5-P3/8
[-1, 1, Conv, [512, 3, 2]], # 7-P4/16 [-1, 8, Bottleneck, [256]],
[-1, 8, Bottleneck, [512]], [-1, 1, Conv, [512, 3, 2]], # 7-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 9-P5/32 [-1, 8, Bottleneck, [512]],
[-1, 4, Bottleneck, [1024]], # 10 [-1, 1, Conv, [1024, 3, 2]], # 9-P5/32
[-1, 4, Bottleneck, [1024]], # 10
] ]
# YOLOv3 head # YOLOv3 head
head: head: [
[[-1, 1, Bottleneck, [1024, False]], [-1, 1, Bottleneck, [1024, False]],
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, Conv, [1024, 3, 1]], [-1, 1, Conv, [1024, 3, 1]],
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, Conv, [1024, 3, 1]], # 15 (P5/32-large) [-1, 1, Conv, [1024, 3, 1]], # 15 (P5/32-large)
[-2, 1, Conv, [256, 1, 1]], [-2, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P4 [[-1, 8], 1, Concat, [1]], # cat backbone P4
[-1, 1, Bottleneck, [512, False]], [-1, 1, Bottleneck, [512, False]],
[-1, 1, Bottleneck, [512, False]], [-1, 1, Bottleneck, [512, False]],
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, Conv, [512, 3, 1]], # 22 (P4/16-medium) [-1, 1, Conv, [512, 3, 1]], # 22 (P4/16-medium)
[-2, 1, Conv, [128, 1, 1]], [-2, 1, Conv, [128, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P3 [[-1, 6], 1, Concat, [1]], # cat backbone P3
[-1, 1, Bottleneck, [256, False]], [-1, 1, Bottleneck, [256, False]],
[-1, 2, Bottleneck, [256, False]], # 27 (P3/8-small) [-1, 2, Bottleneck, [256, False]], # 27 (P3/8-small)
[[27, 22, 15], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[27, 22, 15], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 BiFPN head # YOLOv5 v6.0 BiFPN head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14, 6], 1, Concat, [1]], # cat P4 <--- BiFPN change [[-1, 14, 6], 1, Concat, [1]], # cat P4 <--- BiFPN change
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+28 -27
View File
@@ -1,42 +1,43 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 FPN head # YOLOv5 v6.0 FPN head
head: head: [
[[-1, 3, C3, [1024, False]], # 10 (P5/32-large) [-1, 3, C3, [1024, False]], # 10 (P5/32-large)
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 3, C3, [512, False]], # 14 (P4/16-medium) [-1, 3, C3, [512, False]], # 14 (P4/16-medium)
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 3, C3, [256, False]], # 18 (P3/8-small) [-1, 3, C3, [256, False]], # 18 (P3/8-small)
[[18, 14, 10], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[18, 14, 10], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+38 -37
View File
@@ -1,54 +1,55 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: 3 # AutoAnchor evolves 3 anchors per P output layer anchors: 3 # AutoAnchor evolves 3 anchors per P output layer
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head with (P2, P3, P4, P5) outputs # YOLOv5 v6.0 head with (P2, P3, P4, P5) outputs
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [128, 1, 1]], [-1, 1, Conv, [128, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 2], 1, Concat, [1]], # cat backbone P2 [[-1, 2], 1, Concat, [1]], # cat backbone P2
[-1, 1, C3, [128, False]], # 21 (P2/4-xsmall) [-1, 1, C3, [128, False]], # 21 (P2/4-xsmall)
[-1, 1, Conv, [128, 3, 2]], [-1, 1, Conv, [128, 3, 2]],
[[-1, 18], 1, Concat, [1]], # cat head P3 [[-1, 18], 1, Concat, [1]], # cat head P3
[-1, 3, C3, [256, False]], # 24 (P3/8-small) [-1, 3, C3, [256, False]], # 24 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 27 (P4/16-medium) [-1, 3, C3, [512, False]], # 27 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 30 (P5/32-large) [-1, 3, C3, [1024, False]], # 30 (P5/32-large)
[[21, 24, 27, 30], 1, Detect, [nc, anchors]], # Detect(P2, P3, P4, P5) [[21, 24, 27, 30], 1, Detect, [nc, anchors]], # Detect(P2, P3, P4, P5)
] ]
+28 -27
View File
@@ -1,41 +1,42 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple width_multiple: 0.50 # layer channel multiple
anchors: 3 # AutoAnchor evolves 3 anchors per P output layer anchors: 3 # AutoAnchor evolves 3 anchors per P output layer
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[ [ -1, 1, Conv, [ 64, 6, 2, 2 ] ], # 0-P1/2 [
[ -1, 1, Conv, [ 128, 3, 2 ] ], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[ -1, 3, C3, [ 128 ] ], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[ -1, 1, Conv, [ 256, 3, 2 ] ], # 3-P3/8 [-1, 3, C3, [128]],
[ -1, 6, C3, [ 256 ] ], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[ -1, 1, Conv, [ 512, 3, 2 ] ], # 5-P4/16 [-1, 6, C3, [256]],
[ -1, 9, C3, [ 512 ] ], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[ -1, 1, Conv, [ 1024, 3, 2 ] ], # 7-P5/32 [-1, 9, C3, [512]],
[ -1, 3, C3, [ 1024 ] ], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[ -1, 1, SPPF, [ 1024, 5 ] ], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head with (P3, P4) outputs # YOLOv5 v6.0 head with (P3, P4) outputs
head: head: [
[ [ -1, 1, Conv, [ 512, 1, 1 ] ], [-1, 1, Conv, [512, 1, 1]],
[ -1, 1, nn.Upsample, [ None, 2, 'nearest' ] ], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[ [ -1, 6 ], 1, Concat, [ 1 ] ], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[ -1, 3, C3, [ 512, False ] ], # 13 [-1, 3, C3, [512, False]], # 13
[ -1, 1, Conv, [ 256, 1, 1 ] ], [-1, 1, Conv, [256, 1, 1]],
[ -1, 1, nn.Upsample, [ None, 2, 'nearest' ] ], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[ [ -1, 4 ], 1, Concat, [ 1 ] ], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[ -1, 3, C3, [ 256, False ] ], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[ -1, 1, Conv, [ 256, 3, 2 ] ], [-1, 1, Conv, [256, 3, 2]],
[ [ -1, 14 ], 1, Concat, [ 1 ] ], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[ -1, 3, C3, [ 512, False ] ], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[ [ 17, 20 ], 1, Detect, [ nc, anchors ] ], # Detect(P3, P4) [[17, 20], 1, Detect, [nc, anchors]], # Detect(P3, P4)
] ]
+40 -39
View File
@@ -1,56 +1,57 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: 3 # AutoAnchor evolves 3 anchors per P output layer anchors: 3 # AutoAnchor evolves 3 anchors per P output layer
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, SPPF, [1024, 5]], # 11 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 11
] ]
# YOLOv5 v6.0 head with (P3, P4, P5, P6) outputs # YOLOv5 v6.0 head with (P3, P4, P5, P6) outputs
head: head: [
[[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 15 [-1, 3, C3, [768, False]], # 15
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 19 [-1, 3, C3, [512, False]], # 19
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 23 (P3/8-small) [-1, 3, C3, [256, False]], # 23 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 20], 1, Concat, [1]], # cat head P4 [[-1, 20], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 26 (P4/16-medium) [-1, 3, C3, [512, False]], # 26 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 16], 1, Concat, [1]], # cat head P5 [[-1, 16], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 29 (P5/32-large) [-1, 3, C3, [768, False]], # 29 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 12], 1, Concat, [1]], # cat head P6 [[-1, 12], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6) [[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
] ]
+49 -48
View File
@@ -1,67 +1,68 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: 3 # AutoAnchor evolves 3 anchors per P output layer anchors: 3 # AutoAnchor evolves 3 anchors per P output layer
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, Conv, [1280, 3, 2]], # 11-P7/128 [-1, 3, C3, [1024]],
[-1, 3, C3, [1280]], [-1, 1, Conv, [1280, 3, 2]], # 11-P7/128
[-1, 1, SPPF, [1280, 5]], # 13 [-1, 3, C3, [1280]],
[-1, 1, SPPF, [1280, 5]], # 13
] ]
# YOLOv5 v6.0 head with (P3, P4, P5, P6, P7) outputs # YOLOv5 v6.0 head with (P3, P4, P5, P6, P7) outputs
head: head: [
[[-1, 1, Conv, [1024, 1, 1]], [-1, 1, Conv, [1024, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 10], 1, Concat, [1]], # cat backbone P6 [[-1, 10], 1, Concat, [1]], # cat backbone P6
[-1, 3, C3, [1024, False]], # 17 [-1, 3, C3, [1024, False]], # 17
[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 21 [-1, 3, C3, [768, False]], # 21
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 25 [-1, 3, C3, [512, False]], # 25
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 29 (P3/8-small) [-1, 3, C3, [256, False]], # 29 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 26], 1, Concat, [1]], # cat head P4 [[-1, 26], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 32 (P4/16-medium) [-1, 3, C3, [512, False]], # 32 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 22], 1, Concat, [1]], # cat head P5 [[-1, 22], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 35 (P5/32-large) [-1, 3, C3, [768, False]], # 35 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 18], 1, Concat, [1]], # cat head P6 [[-1, 18], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 38 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 38 (P6/64-xlarge)
[-1, 1, Conv, [1024, 3, 2]], [-1, 1, Conv, [1024, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P7 [[-1, 14], 1, Concat, [1]], # cat head P7
[-1, 3, C3, [1280, False]], # 41 (P7/128-xxlarge) [-1, 3, C3, [1280, False]], # 41 (P7/128-xxlarge)
[[29, 32, 35, 38, 41], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6, P7) [[29, 32, 35, 38, 41], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6, P7)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 PANet head # YOLOv5 v6.0 PANet head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+43 -42
View File
@@ -1,60 +1,61 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [19,27, 44,40, 38,94] # P3/8 - [19, 27, 44, 40, 38, 94] # P3/8
- [96,68, 86,152, 180,137] # P4/16 - [96, 68, 86, 152, 180, 137] # P4/16
- [140,301, 303,264, 238,542] # P5/32 - [140, 301, 303, 264, 238, 542] # P5/32
- [436,615, 739,380, 925,792] # P6/64 - [436, 615, 739, 380, 925, 792] # P6/64
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, SPPF, [1024, 5]], # 11 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 11
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 15 [-1, 3, C3, [768, False]], # 15
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 19 [-1, 3, C3, [512, False]], # 19
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 23 (P3/8-small) [-1, 3, C3, [256, False]], # 23 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 20], 1, Concat, [1]], # cat head P4 [[-1, 20], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 26 (P4/16-medium) [-1, 3, C3, [512, False]], # 26 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 16], 1, Concat, [1]], # cat head P5 [[-1, 16], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 29 (P5/32-large) [-1, 3, C3, [768, False]], # 29 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 12], 1, Concat, [1]], # cat head P6 [[-1, 12], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6) [[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
] ]
+43 -42
View File
@@ -1,60 +1,61 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.67 # model depth multiple depth_multiple: 0.67 # model depth multiple
width_multiple: 0.75 # layer channel multiple width_multiple: 0.75 # layer channel multiple
anchors: anchors:
- [19,27, 44,40, 38,94] # P3/8 - [19, 27, 44, 40, 38, 94] # P3/8
- [96,68, 86,152, 180,137] # P4/16 - [96, 68, 86, 152, 180, 137] # P4/16
- [140,301, 303,264, 238,542] # P5/32 - [140, 301, 303, 264, 238, 542] # P5/32
- [436,615, 739,380, 925,792] # P6/64 - [436, 615, 739, 380, 925, 792] # P6/64
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, SPPF, [1024, 5]], # 11 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 11
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 15 [-1, 3, C3, [768, False]], # 15
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 19 [-1, 3, C3, [512, False]], # 19
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 23 (P3/8-small) [-1, 3, C3, [256, False]], # 23 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 20], 1, Concat, [1]], # cat head P4 [[-1, 20], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 26 (P4/16-medium) [-1, 3, C3, [512, False]], # 26 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 16], 1, Concat, [1]], # cat head P5 [[-1, 16], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 29 (P5/32-large) [-1, 3, C3, [768, False]], # 29 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 12], 1, Concat, [1]], # cat head P6 [[-1, 12], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6) [[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
] ]
+43 -42
View File
@@ -1,60 +1,61 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.25 # layer channel multiple width_multiple: 0.25 # layer channel multiple
anchors: anchors:
- [19,27, 44,40, 38,94] # P3/8 - [19, 27, 44, 40, 38, 94] # P3/8
- [96,68, 86,152, 180,137] # P4/16 - [96, 68, 86, 152, 180, 137] # P4/16
- [140,301, 303,264, 238,542] # P5/32 - [140, 301, 303, 264, 238, 542] # P5/32
- [436,615, 739,380, 925,792] # P6/64 - [436, 615, 739, 380, 925, 792] # P6/64
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, SPPF, [1024, 5]], # 11 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 11
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 15 [-1, 3, C3, [768, False]], # 15
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 19 [-1, 3, C3, [512, False]], # 19
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 23 (P3/8-small) [-1, 3, C3, [256, False]], # 23 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 20], 1, Concat, [1]], # cat head P4 [[-1, 20], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 26 (P4/16-medium) [-1, 3, C3, [512, False]], # 26 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 16], 1, Concat, [1]], # cat head P5 [[-1, 16], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 29 (P5/32-large) [-1, 3, C3, [768, False]], # 29 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 12], 1, Concat, [1]], # cat head P6 [[-1, 12], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6) [[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
] ]
+34 -33
View File
@@ -1,49 +1,50 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
activation: nn.LeakyReLU(0.1) # <----- Conv() activation used throughout entire YOLOv5 model activation: nn.LeakyReLU(0.1) # <----- Conv() activation used throughout entire YOLOv5 model
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple width_multiple: 0.50 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple width_multiple: 0.50 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, GhostConv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3Ghost, [128]], [-1, 1, GhostConv, [128, 3, 2]], # 1-P2/4
[-1, 1, GhostConv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3Ghost, [128]],
[-1, 6, C3Ghost, [256]], [-1, 1, GhostConv, [256, 3, 2]], # 3-P3/8
[-1, 1, GhostConv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3Ghost, [256]],
[-1, 9, C3Ghost, [512]], [-1, 1, GhostConv, [512, 3, 2]], # 5-P4/16
[-1, 1, GhostConv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3Ghost, [512]],
[-1, 3, C3Ghost, [1024]], [-1, 1, GhostConv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3Ghost, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, GhostConv, [512, 1, 1]], [-1, 1, GhostConv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3Ghost, [512, False]], # 13 [-1, 3, C3Ghost, [512, False]], # 13
[-1, 1, GhostConv, [256, 1, 1]], [-1, 1, GhostConv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3Ghost, [256, False]], # 17 (P3/8-small) [-1, 3, C3Ghost, [256, False]], # 17 (P3/8-small)
[-1, 1, GhostConv, [256, 3, 2]], [-1, 1, GhostConv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3Ghost, [512, False]], # 20 (P4/16-medium) [-1, 3, C3Ghost, [512, False]], # 20 (P4/16-medium)
[-1, 1, GhostConv, [512, 3, 2]], [-1, 1, GhostConv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3Ghost, [1024, False]], # 23 (P5/32-large) [-1, 3, C3Ghost, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple width_multiple: 0.50 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3TR, [1024]], # 9 <--- C3TR() Transformer module [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3TR, [1024]], # 9 <--- C3TR() Transformer module
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+43 -42
View File
@@ -1,60 +1,61 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple width_multiple: 0.50 # layer channel multiple
anchors: anchors:
- [19,27, 44,40, 38,94] # P3/8 - [19, 27, 44, 40, 38, 94] # P3/8
- [96,68, 86,152, 180,137] # P4/16 - [96, 68, 86, 152, 180, 137] # P4/16
- [140,301, 303,264, 238,542] # P5/32 - [140, 301, 303, 264, 238, 542] # P5/32
- [436,615, 739,380, 925,792] # P6/64 - [436, 615, 739, 380, 925, 792] # P6/64
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, SPPF, [1024, 5]], # 11 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 11
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 15 [-1, 3, C3, [768, False]], # 15
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 19 [-1, 3, C3, [512, False]], # 19
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 23 (P3/8-small) [-1, 3, C3, [256, False]], # 23 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 20], 1, Concat, [1]], # cat head P4 [[-1, 20], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 26 (P4/16-medium) [-1, 3, C3, [512, False]], # 26 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 16], 1, Concat, [1]], # cat head P5 [[-1, 16], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 29 (P5/32-large) [-1, 3, C3, [768, False]], # 29 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 12], 1, Concat, [1]], # cat head P6 [[-1, 12], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6) [[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
] ]
+43 -42
View File
@@ -1,60 +1,61 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.33 # model depth multiple depth_multiple: 1.33 # model depth multiple
width_multiple: 1.25 # layer channel multiple width_multiple: 1.25 # layer channel multiple
anchors: anchors:
- [19,27, 44,40, 38,94] # P3/8 - [19, 27, 44, 40, 38, 94] # P3/8
- [96,68, 86,152, 180,137] # P4/16 - [96, 68, 86, 152, 180, 137] # P4/16
- [140,301, 303,264, 238,542] # P5/32 - [140, 301, 303, 264, 238, 542] # P5/32
- [436,615, 739,380, 925,792] # P6/64 - [436, 615, 739, 380, 925, 792] # P6/64
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [768]], [-1, 1, Conv, [768, 3, 2]], # 7-P5/32
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64 [-1, 3, C3, [768]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
[-1, 1, SPPF, [1024, 5]], # 11 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 11
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [768, 1, 1]], [-1, 1, Conv, [768, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 8], 1, Concat, [1]], # cat backbone P5 [[-1, 8], 1, Concat, [1]], # cat backbone P5
[-1, 3, C3, [768, False]], # 15 [-1, 3, C3, [768, False]], # 15
[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 19 [-1, 3, C3, [512, False]], # 19
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 23 (P3/8-small) [-1, 3, C3, [256, False]], # 23 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 20], 1, Concat, [1]], # cat head P4 [[-1, 20], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 26 (P4/16-medium) [-1, 3, C3, [512, False]], # 26 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 16], 1, Concat, [1]], # cat head P5 [[-1, 16], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [768, False]], # 29 (P5/32-large) [-1, 3, C3, [768, False]], # 29 (P5/32-large)
[-1, 1, Conv, [768, 3, 2]], [-1, 1, Conv, [768, 3, 2]],
[[-1, 12], 1, Concat, [1]], # cat head P6 [[-1, 12], 1, Concat, [1]], # cat head P6
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge) [-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6) [[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.67 # model depth multiple depth_multiple: 0.67 # model depth multiple
width_multiple: 0.75 # layer channel multiple width_multiple: 0.75 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.25 # layer channel multiple width_multiple: 0.25 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.5 # layer channel multiple width_multiple: 0.5 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.33 # model depth multiple depth_multiple: 1.33 # model depth multiple
width_multiple: 1.25 # layer channel multiple width_multiple: 1.25 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.0 # model depth multiple depth_multiple: 1.0 # model depth multiple
width_multiple: 1.0 # layer channel multiple width_multiple: 1.0 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.67 # model depth multiple depth_multiple: 0.67 # model depth multiple
width_multiple: 0.75 # layer channel multiple width_multiple: 0.75 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.25 # layer channel multiple width_multiple: 0.25 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple width_multiple: 0.50 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+33 -32
View File
@@ -1,48 +1,49 @@
# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license
# Parameters # Parameters
nc: 80 # number of classes nc: 80 # number of classes
depth_multiple: 1.33 # model depth multiple depth_multiple: 1.33 # model depth multiple
width_multiple: 1.25 # layer channel multiple width_multiple: 1.25 # layer channel multiple
anchors: anchors:
- [10,13, 16,30, 33,23] # P3/8 - [10, 13, 16, 30, 33, 23] # P3/8
- [30,61, 62,45, 59,119] # P4/16 - [30, 61, 62, 45, 59, 119] # P4/16
- [116,90, 156,198, 373,326] # P5/32 - [116, 90, 156, 198, 373, 326] # P5/32
# YOLOv5 v6.0 backbone # YOLOv5 v6.0 backbone
backbone: backbone:
# [from, number, module, args] # [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 [
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 3, C3, [128]], [-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 3, C3, [128]],
[-1, 6, C3, [256]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 6, C3, [256]],
[-1, 9, C3, [512]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 9, C3, [512]],
[-1, 3, C3, [1024]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPPF, [1024, 5]], # 9 [-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
] ]
# YOLOv5 v6.0 head # YOLOv5 v6.0 head
head: head: [
[[-1, 1, Conv, [512, 1, 1]], [-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4 [[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13 [-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]], [-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']], [-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3 [[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]], [-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4 [[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]], [-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5 [[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) [-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
] ]
+31 -105
View File
@@ -3,201 +3,127 @@
"parameters": { "parameters": {
"anchor_t": { "anchor_t": {
"type": "discrete", "type": "discrete",
"values": [ "values": [2, 8]
2,
8
]
}, },
"batch_size": { "batch_size": {
"type": "discrete", "type": "discrete",
"values": [ "values": [16, 32, 64]
16,
32,
64
]
}, },
"box": { "box": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.02, 0.2]
0.02,
0.2
]
}, },
"cls": { "cls": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.2]
0.2
]
}, },
"cls_pw": { "cls_pw": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.5]
0.5
]
}, },
"copy_paste": { "copy_paste": {
"type": "discrete", "type": "discrete",
"values": [ "values": [1]
1
]
}, },
"degrees": { "degrees": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0, 45]
0,
45
]
}, },
"epochs": { "epochs": {
"type": "discrete", "type": "discrete",
"values": [ "values": [5]
5
]
}, },
"fl_gamma": { "fl_gamma": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"fliplr": { "fliplr": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"flipud": { "flipud": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"hsv_h": { "hsv_h": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"hsv_s": { "hsv_s": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"hsv_v": { "hsv_v": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"iou_t": { "iou_t": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.7]
0.7
]
}, },
"lr0": { "lr0": {
"type": "discrete", "type": "discrete",
"values": [ "values": [1e-5, 0.1]
1e-05,
0.1
]
}, },
"lrf": { "lrf": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.01, 1]
0.01,
1
]
}, },
"mixup": { "mixup": {
"type": "discrete", "type": "discrete",
"values": [ "values": [1]
1
]
}, },
"momentum": { "momentum": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.6]
0.6
]
}, },
"mosaic": { "mosaic": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"obj": { "obj": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.2]
0.2
]
}, },
"obj_pw": { "obj_pw": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0.5]
0.5
]
}, },
"optimizer": { "optimizer": {
"type": "categorical", "type": "categorical",
"values": [ "values": ["SGD", "Adam", "AdamW"]
"SGD",
"Adam",
"AdamW"
]
}, },
"perspective": { "perspective": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"scale": { "scale": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"shear": { "shear": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"translate": { "translate": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0]
0
]
}, },
"warmup_bias_lr": { "warmup_bias_lr": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0, 0.2]
0,
0.2
]
}, },
"warmup_epochs": { "warmup_epochs": {
"type": "discrete", "type": "discrete",
"values": [ "values": [5]
5
]
}, },
"warmup_momentum": { "warmup_momentum": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0, 0.95]
0,
0.95
]
}, },
"weight_decay": { "weight_decay": {
"type": "discrete", "type": "discrete",
"values": [ "values": [0, 0.001]
0,
0.001
]
} }
}, },
"spec": { "spec": {