Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

[![Build verification](https://github.com/FuTseYi/CropLens/actions/workflows/build-check.yml/badge.svg)](https://github.com/FuTseYi/CropLens/actions/workflows/build-check.yml)
[![Inference regression](https://github.com/FuTseYi/CropLens/actions/workflows/inference-tests.yml/badge.svg)](https://github.com/FuTseYi/CropLens/actions/workflows/inference-tests.yml)
[![Real YOLO CPU smoke](https://github.com/FuTseYi/CropLens/actions/workflows/real-yolo-smoke.yml/badge.svg)](https://github.com/FuTseYi/CropLens/actions/workflows/real-yolo-smoke.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/)
[![Vue.js](https://img.shields.io/badge/Vue.js-3.x-brightgreen.svg)](https://vuejs.org/)
Expand Down Expand Up @@ -100,6 +101,8 @@ See [architecture](docs/ARCHITECTURE.md) and [migration notes](docs/MIGRATION.md

## Testing

**Real checkpoint validation:** All nine bundled crop models successfully processed one corresponding sample each on a GitHub-hosted CPU on October 8, 2026. [Review the recorded test evidence and limitations](docs/VERIFICATION-2026-10-08.md). This is not a measurement of prediction accuracy.

Regular pull requests run the lightweight CI checks. An optional manual workflow can run **one real YOLO checkpoint on a sample image using CPU**; see [testing and limitations](docs/TESTING.md). Its results must be checked separately before claiming any real inference validation.

## Contributing
Expand Down
3 changes: 3 additions & 0 deletions README_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

[![Build verification](https://github.com/FuTseYi/CropLens/actions/workflows/build-check.yml/badge.svg)](https://github.com/FuTseYi/CropLens/actions/workflows/build-check.yml)
[![Inference regression](https://github.com/FuTseYi/CropLens/actions/workflows/inference-tests.yml/badge.svg)](https://github.com/FuTseYi/CropLens/actions/workflows/inference-tests.yml)
[![真实 YOLO CPU 推理](https://github.com/FuTseYi/CropLens/actions/workflows/real-yolo-smoke.yml/badge.svg)](https://github.com/FuTseYi/CropLens/actions/workflows/real-yolo-smoke.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/)
[![Vue.js](https://img.shields.io/badge/Vue.js-3.x-brightgreen.svg)](https://vuejs.org/)
Expand Down Expand Up @@ -100,6 +101,8 @@ docs/ 架构、部署与安全说明

## 测试与验证

**真实模型验证:** 2026 年 10 月 8 日,仓库内的 9 种作物模型均在 GitHub CPU 环境中成功完成对应样本单图推理。详见 [验证记录及局限性](docs/VERIFICATION-2026-10-08.md)。该结果不代表检测准确率经过验证。

日常 PR 使用轻量级自动化检查;另提供可手动触发的 **CPU 真实 YOLO 模型单图推理测试**。执行方法、测试范围与局限性详见 [测试说明](docs/TESTING.md),实际运行通过后才可称为真实推理已验证。

## 贡献方式
Expand Down
2 changes: 2 additions & 0 deletions docs/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
| Documentation links | `python scripts/check_docs_links.py` | Relative Markdown links resolve | External link availability |
| **Real YOLO smoke test** | GitHub Actions: `Real YOLO CPU smoke test` | Loads all nine crop checkpoints and predicts one corresponding bundled JPG per crop on a GitHub-hosted CPU | Diagnostic accuracy, full application workflow, multi-user concurrency, camera/video streaming, disease classification accuracy |

**Verified execution:** [2026-10-08 nine-checkpoint CPU smoke result](VERIFICATION-2026-10-08.md) — all nine model/sample pairs completed basic inference. This is a compatibility smoke result, not an accuracy benchmark.

## Run the real inference smoke test

The workflow runs automatically on `main` when model checkpoints, its test script, or the smoke workflow are changed. It can also be triggered manually from an authenticated GitHub CLI terminal:
Expand Down
33 changes: 33 additions & 0 deletions docs/VERIFICATION-2026-10-08.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# CropLens — Real CPU inference verification

**Date:** 2026-10-08
**GitHub Actions run:** [Real YOLO CPU smoke test #37754791593](https://github.com/FuTseYi/CropLens/actions/runs/37754791593)
**Repository commit:** [ae959b79fd206177525b24c896f7a9d76423d852](https://github.com/FuTseYi/CropLens/commit/ae959b79fd206177525b24c896f7a9d76423d852)
**Conclusion:** Success.

## What was actually executed

The workflow ran `inference/tests/smoke_real_model.py` with PyTorch + Ultralytics on a GitHub-hosted CPU runner. It loaded each checked-in `inference/weights/<crop>_best.pt` checkpoint and ran inference on the first matching JPG from `assets/samples/`.

| Crop | Sample category | Checkpoint | Inference |
| --- | --- | --- | --- |
| Apple | 苹果 | `apple_best.pt` | Passed |
| Corn | 玉米 | `corn_best.pt` | Passed |
| Cotton | 棉花 | `cotton_best.pt` | Passed |
| Grape | 葡萄 | `grape_best.pt` | Passed |
| Potato | 马铃薯 | `potato_best.pt` | Passed |
| Rice | 水稻 | `rice_best.pt` | Passed |
| Strawberry | 草莓 | `strawberry_best.pt` | Passed |
| Tomato | 番茄 | `tomato_best.pt` | Passed |
| Wheat | 小麦 | `wheat_best.pt` | Passed |

All nine invocations returned one decoded image result and a valid detection result structure. The execution logs report one detection per sample; these counts **do not establish whether the labels or bounding boxes were correct**.

## What this does *not* establish

- No mAP, precision, recall, robustness or statistically sound accuracy assessment was performed.
- Only one selected sample per crop was tested, not all 132 demonstration images or independent holdout datasets.
- The test does not use Flask, Spring Boot, Vue, MySQL, file uploads or DeepSeek; those full application paths remain unverified.
- Concurrent video/camera streaming, target-device runtime and third-party image/model licensing require separate review.

The latest state of the smoke workflow may differ from this historical successful run. Check [the workflow page](https://github.com/FuTseYi/CropLens/actions/workflows/real-yolo-smoke.yml) for subsequent results.
Loading