feat: implement K{coop}-L{floor} standard, smart discovery, multi-coop runner, and move test runs to test_run_folder

This commit is contained in:
proitlab committed 2026-08-19 11:14:40 +07:00
1 parent 6723701424
commit b00923dc2b
24 files changed
+2068 -74

No files matched your search

+19 -32
View File
@@ -34,6 +34,7 @@ venv/bin/pip install -r requirements.txt
```text
chicken-counting-sukawarna-det/
├── configs/
│ ├── K1-L1.yaml .. K5-L2.yaml ← Standard floor configurations (K1-L1 to K5-L2)
│ ├── cycle7_batch_optimized.yaml ← Main batch processing config
│ ├── cycle7_batch.yaml ← Alternate batch config
│ ├── mortality_config.yaml ← Mortality (carcass) detection config
@@ -50,9 +51,9 @@ chicken-counting-sukawarna-det/
├── dashboard.py ← Live API + Dashboard server
├── export_engine.py ← Manual TensorRT export utility
├── export_excel_report.py ← Excel reporting & analytics generator
├── run_all_coops.sh ← Master multi-coop batch runner (K1-L1 to K5-L2)
├── start_dashboard.sh ← Portable dashboard launcher ← USE THIS
├── test_run_mortality.sh ← Run mortality detection
├── test_run.sh ← Run batch processing all dates
├── test_run_folder/ ← Archive of test run scripts and logs
└── requirements.txt
```
@@ -76,47 +77,33 @@ Put your model files in the `models/` directory.
### A — Batch Video Processing (Daily Chicken Count)
Place input videos under the `VIDEOS` folder adjacent to the project:
Place input videos under the `VIDEOS` folder adjacent to the project following the `K{coop}-L{floor}` format:
```text
../VIDEOS/cycle7/kandang-atas/
2026-06-18/
kandang_1_camera_1_2026-06-18_120056.mp4
kandang_1_camera_2_2026-06-18_120456.mp4
...
../VIDEOS/cycle7/
K1-L1/
2026-06-18/
K1-L1_cam1_2026-06-18_120056.mp4
K1-L1_cam2_2026-06-18_120456.mp4
K1-L1_cam3_2026-06-18_121012.mp4
K1-L1_cam4_2026-06-18_121530.mp4
```
Then run:
```bash
# Run all dates (multi-process mode)
./test_run.sh
# Run all coops (10 floors: K1-L1 to K5-L2) for a specific date
./run_all_coops.sh 2026-06-18
# Run all dates (Tensor Batching mode)
./test_run_tensor_batch.sh
# Run all dates (Hybrid mode: Threaded CPU + Batched GPU)
./test_run_hybrid.sh
# Run a specific date (4 cameras in parallel)
# Run a specific floor (e.g. Kandang 1 Lantai 1)
PYTHONPATH=src venv/bin/python -m chicken_counter.cli batch \
--config configs/cycle7_batch_optimized.yaml \
--config configs/K1-L1.yaml \
--date 2026-06-18
# Run a specific date using Model-Level Tensor Batching
PYTHONPATH=src venv/bin/python -m chicken_counter.cli batch \
--config configs/cycle7_batch_optimized.yaml \
--date 2026-06-18 \
--mode tensor_batching
# Run a specific date using Hybrid Execution Mode
PYTHONPATH=src venv/bin/python -m chicken_counter.cli batch \
--config configs/cycle7_batch_optimized.yaml \
--date 2026-06-18 \
--mode hybrid
# Run with video output enabled
./test_run_video_2026-06-18.sh
# Run archive scripts in test_run_folder
./test_run_folder/test_run.sh
./test_run_folder/test_run_tensor_batch.sh
./test_run_folder/test_run_hybrid.sh
```
Output is saved in `../VIDEOS/cycle7/kandang-atas/2026-06-18/output/`.