Mamba-YOLO 开源项目使用教程
1. 项目目录结构及介绍
Mamba-YOLO 项目的目录结构如下:
Mamba-YOLO/
├── asserts/
├── selective_scan/
├── tests/
├── ultralytics/
├── .gitignore
├── LICENSE
├── README.md
├── mbyolo_train.py
├── pyproject.toml
├── yolov8n.pt
目录结构介绍
- asserts/: 存放项目所需的静态资源文件。
- selective_scan/: 包含选择性扫描模块的代码。
- tests/: 存放项目的测试代码。
- ultralytics/: 基于 Ultralytics 的代码库,用于实现目标检测功能。
- .gitignore: Git 忽略文件配置。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- mbyolo_train.py: 项目的启动文件,用于训练模型。
- pyproject.toml: 项目配置文件,包含依赖和构建配置。
- yolov8n.pt: 预训练的 YOLOv8 模型文件。
2. 项目的启动文件介绍
mbyolo_train.py
mbyolo_train.py
是 Mamba-YOLO 项目的启动文件,用于训练目标检测模型。以下是该文件的主要功能和使用方法:
# mbyolo_train.py
import argparse
import os
from ultralytics import YOLO
def train(args):
model = YOLO(args.config)
model.train(data=args.data, project=args.project, name=args.name, amp=args.amp)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Mamba-YOLO Training Script")
parser.add_argument('--task', type=str, default='train', help='Task to perform (train/val/predict)')
parser.add_argument('--data', type=str, default='ultralytics/cfg/datasets/coco.yaml', help='Path to data config file')
parser.add_argument('--config', type=str, default='ultralytics/cfg/models/v8/mamba-yolo.yaml', help='Path to model config file')
parser.add_argument('--amp', action='store_true', help='Enable Automatic Mixed Precision (AMP)')
parser.add_argument('--project', type=str, default='/output_dir/mscoco', help='Output directory for project')
parser.add_argument('--name', type=str, default='mambayolo_n', help='Name of the experiment')
args = parser.parse_args()
train(args)
使用方法
-
安装依赖: 首先确保已安装所有依赖包,可以通过以下命令安装:
pip install -r requirements.txt
-
启动训练: 使用以下命令启动训练:
python mbyolo_train.py --data ultralytics/cfg/datasets/coco.yaml --config ultralytics/cfg/models/v8/mamba-yolo.yaml --amp --project /output_dir/mscoco --name mambayolo_n
3. 项目的配置文件介绍
pyproject.toml
pyproject.toml
是项目的配置文件,包含了项目的依赖和构建配置。以下是该文件的主要内容:
[tool.poetry]
name = "Mamba-YOLO"
version = "0.1.0"
description = "SSMs-based for Object Detection"
authors = ["HZAI-ZJNU"]
license = "Apache-2.0"
[tool.poetry.dependencies]
python = "^3.11"
torch = "2.3.0"
torchvision = "0.14.0"
torchaudio = "0.13.0"
seaborn = "0.12.2"
thop = "0.1.1"
timm = "0.6.13"
einops = "0.6.0"
[tool.poetry.dev-dependencies]
pytest = "^7.0.0"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
配置文件介绍
- [tool.poetry]: 项目的基本信息,包括名称、版本、描述、作者和许可证。
- [tool.poetry.dependencies]: 项目的主要依赖包及其版本要求。
- [tool.poetry.dev-dependencies]: 开发环境下的依赖包。
- [build-system]: 构建系统的要求和后端。
通过以上配置文件,可以确保项目在不同环境中的一致性和可重复性。