# Colab T4训练使用说明

## 文件与仓库

- 本地笔记本：`D:\biyesheji\plant_disease_fixed\植物叶片病害_YOLO11s_Colab_T4训练.ipynb`
- Hugging Face数据仓库：`https://huggingface.co/datasets/rick003/plant-disease-clean-v1`
- 仓库中的笔记本：`colab/plant_disease_yolo11s_t4.ipynb`
- 数据压缩包：`plant_disease_clean_v1.zip`

## 使用步骤

1. 打开Hugging Face仓库，下载`colab/plant_disease_yolo11s_t4.ipynb`。
2. 打开`https://colab.research.google.com/`，选择“上传”，上传该笔记本。
3. 在菜单中选择“运行时 -> 更改运行时类型 -> T4 GPU”。
4. 从第一个单元开始按顺序运行。
5. 数据下载不需要Token，因为数据仓库是公开的。
6. 最后一个“上传结果”单元需要Hugging Face Write Token；不需要回传结果时可以不运行。

## 训练完成后同步到本地项目

若要让现有Web系统使用新模型，先在Colab运行最后一个“上传训练结果”单元，再在本机执行：

```powershell
cd D:\biyesheji\plant_disease_fixed
python sync_colab_results.py
```

脚本会下载`best.pt`、训练曲线和独立测试结果到`D:\biyesheji\plant_disease_fixed\runs`。Web配置会在检测到新`best.pt`后自动增加`clean-model`，未同步成功前仍使用旧模型，不会导致系统启动失败。

## 训练配置

- 模型：YOLO11s Detect
- 类别：17类病害
- 输入：640×640
- 训练上限：120轮
- 早停：30轮
- batch：自动使用约85% T4显存
- 混合精度：开启
- 最后10轮关闭Mosaic
- 随机种子：42

训练过程中使用验证集选择`best.pt`。训练完成后，笔记本才首次使用测试集计算最终Precision、Recall、mAP@0.5和mAP@0.5:0.95，避免测试集参与调参。

## 输出文件

主要结果位于：

```text
/content/runs/plant_disease_yolo11s_clean/
```

包括：

- `weights/best.pt`
- `weights/last.pt`
- `results.csv`
- `results.png`
- `confusion_matrix.png`
- `test_metrics.json`
- `test_per_class.csv`
- 导出的ONNX模型

其中`results.csv`和`results.png`反映训练过程中的验证集变化；`test_metrics.json`和`test_per_class.csv`才是选定`best.pt`后在独立测试集上得到的最终指标。