docs: atualiza CLAUDE.md com convenção log_print e detalhe dos logs
This commit is contained in:
@@ -32,11 +32,24 @@ Form-data: `ambiente` (str), `file` (imagem). Confidence threshold: 0.25.
|
|||||||
Body JSON: `{ "ambiente": "gondola", "pular_triagem": false }`
|
Body JSON: `{ "ambiente": "gondola", "pular_triagem": false }`
|
||||||
|
|
||||||
1. Lista `treinamento/{ambiente}/novos-treinamentos/` no S3
|
1. Lista `treinamento/{ambiente}/novos-treinamentos/` no S3
|
||||||
2. Triagem (salvo `pular_triagem: true`): conf média ≥ 0.15 ou == 0 → `base-oficial`, < 0.15 → `descartados`
|
2. Triagem (salvo `pular_triagem: true`): conf média ≥ 0.15 → `base-oficial`, < 0.15 → `descartados`
|
||||||
3. Baixa `base-oficial`, redimensiona imagens > 4096px
|
3. Baixa `base-oficial`, redimensiona imagens > 4096px
|
||||||
4. Treina: 20 épocas fine-tuning / 30 épocas do zero, imgsz=640, batch=8, device=cpu
|
4. Treina: 20 épocas fine-tuning / 30 épocas do zero, imgsz=640, batch=8, device=cpu
|
||||||
5. Salva `best.pt` em `modelos/{ambiente}/atual/cerebro.pt` + histórico versionado
|
5. Salva `best.pt` em `modelos/{ambiente}/atual/cerebro.pt` + histórico versionado
|
||||||
|
|
||||||
|
Retorna `{ "status": "iniciado", "ambiente": "..." }` imediatamente — treino roda em background thread.
|
||||||
|
Quando não há modelo base, usa `yolov8n.pt` e pula triagem automaticamente.
|
||||||
|
|
||||||
|
### `GET /treinar/status`
|
||||||
|
|
||||||
|
Retorna estado do treino em andamento + últimas 30 linhas de log.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "status": "running|concluido|erro|vazio|idle", "ambiente": "gondola", "versao": "20260627_1430", "detalhe": null, "logs": ["[1/20] box=0.432 ..."] }
|
||||||
|
```
|
||||||
|
|
||||||
|
`logs` inclui tanto as métricas por época (`_on_fit_epoch_end` callback do YOLO) quanto mensagens de progresso de triagem/download via `log_print()`.
|
||||||
|
|
||||||
## Organização S3
|
## Organização S3
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -53,6 +66,7 @@ treinamento/{ambiente}/descartados/
|
|||||||
- Se S3 tiver versão mais nova (LastModified), descarta cache e baixa novamente
|
- Se S3 tiver versão mais nova (LastModified), descarta cache e baixa novamente
|
||||||
- Após treino, remove o ambiente de `MODELOS_CARREGADOS` para forçar reload
|
- Após treino, remove o ambiente de `MODELOS_CARREGADOS` para forçar reload
|
||||||
- Todo o código em `main.py` — não criar sub-módulos
|
- Todo o código em `main.py` — não criar sub-módulos
|
||||||
|
- `log_print(msg)` escreve no stdout **e** em `_training_logs` (buffer circular 60 linhas) — não usar `print()` diretamente
|
||||||
|
|
||||||
## Como rodar
|
## Como rodar
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user