<p align="center">
<a href="https://gitee.com/CV_Lab/streamlit_yolov5_modle2x">
<img src="https://pycver.gitee.io/ows-pics/imgs/streamlit_yolov5_model2x_logo.png" alt="Simple Icons" >
</a>
<p align="center">
基于Streamlit的YOLOv5模型转换可视化工具
</p>
</p>
<p align="center">
<a href="./CodeCheck.md"><img src="https://img.shields.io/badge/CodeCheck-passing-success" alt="code check" /></a>
<a href="https://gitee.com/CV_Lab/streamlit_yolov5_modle2x/releases/v0.3"><img src="https://img.shields.io/badge/Releases-v0.3-green" alt="Releases Version" /></a>
<a href="https://github.com/streamlit/streamlit"><img src="https://img.shields.io/badge/Streamlit-1.10.0-orange?logo=streamlit" alt="Streamlit Version" /></a>
<a href="https://huggingface.co/"><img src="https://img.shields.io/badge/%F0%9F%A4%97-Hugging%20Face-blue" alt="Hugging Face Spaces" /></a>
<a href="https://huggingface.co/spaces"><img src="https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-blue" alt="Hugging Face Spaces" /></a>
<a href="https://gitee.com/CV_Lab/gradio_yolov5_det/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-GPL--3.0-blue" alt="License" /></a>
</p>
<p align="center">
<a href="https://github.com/ultralytics/yolov5"><img src="https://img.shields.io/badge/YOLOv5-v6.2-blue" alt="YOLOv5 Version" /></a>
<a href="#"><img src="https://img.shields.io/badge/Python-3.8%2B-blue?logo=python" alt="Python Version" /></a>
<a href="https://pypi.org/project/torch/"><img src="https://img.shields.io/badge/torch-1.11.0%2B-important?logo=pytorch" alt="Torch Version" /></a>
<a href="https://pypi.org/project/torchvision/"><img src="https://img.shields.io/badge/torchvision-0.12.0%2B-green?logo=pytorch" alt="TorchVision Version" /></a>
<a href="https://github.com/pre-commit/pre-commit"><img src="https://img.shields.io/badge/checks-pre--commit-brightgreen" alt="pre-commit"></a>
</p>
## 🚀 作者简介
曾逸夫,从事人工智能研究与开发;主研领域:计算机视觉;[YOLOv8官方开源项目代码贡献人](https://github.com/ultralytics/ultralytics/graphs/contributors);[YOLOv5官方开源项目代码贡献人](https://github.com/ultralytics/yolov5/graphs/contributors);[YOLOv5 v6.1代码贡献人](https://github.com/ultralytics/yolov5/releases/tag/v6.1);[YOLOv5 v6.2代码贡献人](https://github.com/ultralytics/yolov5/releases/tag/v6.2);[YOLOv5 v7.0代码贡献人](https://github.com/ultralytics/yolov5/releases/tag/v7.0);[Gradio官方开源项目代码贡献人](https://github.com/gradio-app/gradio/graphs/contributors)
❤️ Github:https://github.com/Zengyf-CVer
🔥 YOLOv8 官方开源项目PR ID:
- Fix YOLOv8 Chinese introduction:https://github.com/ultralytics/ultralytics/pull/219
- Add codespell and upgrade some components:https://github.com/ultralytics/ultralytics/pull/599
- Add pycln:https://github.com/ultralytics/ultralytics/pull/7141
- Fix heatmap width and height parameter bug:https://github.com/ultralytics/ultralytics/pull/7368
- ultralytics 8.0.237 cv2.CAP_PROP fix and in_counts and out_counts displays:https://github.com/ultralytics/ultralytics/pull/7380
💡 Ultralytics v8.1.0 代码贡献链接:
- https://github.com/ultralytics/ultralytics/releases/tag/v8.1.0
🔥 YOLOv5 官方开源项目PR ID:
- Save \*.npy features on detect.py `--visualize`:https://github.com/ultralytics/yolov5/pull/5701
- Fix `detect.py --view-img` for non-ASCII paths:https://github.com/ultralytics/yolov5/pull/7093
- Fix Flask REST API:https://github.com/ultralytics/yolov5/pull/7210
- Add yesqa to precommit checks:https://github.com/ultralytics/yolov5/pull/7511
- Add mdformat to precommit checks and update other version:https://github.com/ultralytics/yolov5/pull/7529
- Add TensorRT dependencies:https://github.com/ultralytics/yolov5/pull/8553
- Add paddle tips:https://github.com/ultralytics/yolov5/pull/9502
💡 YOLOv5 v6.1 & v6.2 & v7.0 代码贡献链接:
- https://github.com/ultralytics/yolov5/releases/tag/v6.1
- https://github.com/ultralytics/yolov5/releases/tag/v6.2
- https://github.com/ultralytics/yolov5/releases/tag/v7.0
🔥 Gradio 官方开源项目PR ID:
- Create a color generator demo:https://github.com/gradio-app/gradio/pull/1872
<h2 align="center">🚀更新走势</h2>
- `2022-08-14` **⚡ [Streamlit YOLOv5 Model2X v0.3](https://gitee.com/CV_Lab/streamlit_yolov5_modle2x/releases/v0.3)正式上线**
- `2022-07-17` **⚡ [Streamlit YOLOv5 Model2X v0.2](https://gitee.com/CV_Lab/streamlit_yolov5_modle2x/releases/v0.2)正式上线**
- `2022-07-15` **⚡ [Streamlit YOLOv5 Model2X v0.1](https://gitee.com/CV_Lab/streamlit_yolov5_modle2x/releases/v0.1)正式上线**
<h2 align="center">🤗在线Demo</h2>
### ❤️ 快速体验
本项目提供了**在线demo**,点击下面的logo,进入**Hugging Face Spaces**中快速体验:
<div align="center" >
<a href="https://huggingface.co/spaces/Zengyf-CVer/Streamlit_YOLOv5_Model2x">
<img src="https://pycver.gitee.io/ows-pics/imgs/huggingface_logo.png">
</a>
</div>
<h2 align="center">💎项目流程与用途</h2>
### 📌 项目整体流程
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/streamlit_yolov5_model2x_workflow.png">
</div>
### 📌 项目示例
#### ❤️ 单选,单个模型转换界面与下载效果
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_upload.png">
</div>
<div align="center" >
上传界面
</div>
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_app01_01.png">
</div>
<div align="center" >
单选 模型界面(v0.1)
</div>
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_app01_02.png">
</div>
<div align="center" >
单选 模型转换与下载界面(v0.1)
</div>
#### ❤️ 多选,多项模型转换界面与下载效果
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_03_01.png">
</div>
<div align="center" >
多选 模型界面(v0.2)
</div>
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_03_02.png">
</div>
<div align="center" >
多选 模型操作与转换界面(v0.2)
</div>
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_03_03.png">
</div>
<div align="center" >
多选 模型转换界面(v0.2)
</div>
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_03_04.png">
</div>
<div align="center" >
多选 模型转换与下载界面(v0.2)
</div>
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/stym_03_05.png">
</div>
<div align="center" >
模型下载解压界面(v0.2)
</div>
❗ 注:`tflite`和`tfjs`需要分开导出;除`CoreML`外,其他`half`导出需要选中`cuda:0`
<h2 align="center">💡项目结构</h2>
```
.
├── streamlit_yolov5_modle2x # 项目名称
│ ├── models # YOLOv5官方模型文件
│ ├── model_config # YOLOv5官方工具包
│ ├── val.py # YOLOv5官方验证文件
│ ├── export.py # YOLOv5官方导出文件
│ ├── __init__.py # 初始化文件
│ ├── app_01.py # 单选,单个模型转换和下载
│ ├── app_02.py # 多选,多项模型转换和打包下载
│ ├── app_03.py # 多选,多项模型转换和打包下载
│ ├── LICENSE # 项目许可
│ ├── CodeCheck.md # 代码检查
│ ├── .gitignore # git忽略文件
│ ├── setup.cfg # pre-commit CI检查源配置文件
│ ├── .pre-commit-config.yaml # pre-commit配置文件
│ ├── yolov5_pytorch_gpu.md # YOLOv5 PyTorch GPU安装教程
│ ├── README.md # 项目说明
│ └── requirements.txt # 脚本依赖包
```
<h2 align="center">🔥安装教程</h2>
### ✅ 第一步:创建conda环境
```shell
conda create -n yolo python==3.8
conda act