assit commands for claude
All checks were successful
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (pull_request) Successful in 5m0s
build_docker / build_gpu (pull_request) Successful in 22m37s
build_docker / build_easyocr (pull_request) Successful in 18m5s
build_docker / build_easyocr_gpu (pull_request) Successful in 15m43s
build_docker / build_doctr (pull_request) Successful in 17m17s
build_docker / build_raytune (pull_request) Successful in 3m24s
build_docker / build_doctr_gpu (pull_request) Successful in 16m54s
All checks were successful
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (pull_request) Successful in 5m0s
build_docker / build_gpu (pull_request) Successful in 22m37s
build_docker / build_easyocr (pull_request) Successful in 18m5s
build_docker / build_easyocr_gpu (pull_request) Successful in 15m43s
build_docker / build_doctr (pull_request) Successful in 17m17s
build_docker / build_raytune (pull_request) Successful in 3m24s
build_docker / build_doctr_gpu (pull_request) Successful in 16m54s
This commit is contained in:
@@ -16,33 +16,79 @@ El repositorio incluye:
|
||||
|
||||
## A.2 Estructura del Repositorio
|
||||
|
||||
```mermaid
|
||||
---
|
||||
title: "Estructura del repositorio MastersThesis"
|
||||
config:
|
||||
theme: base
|
||||
themeVariables:
|
||||
primaryColor: "#E6F4F9"
|
||||
primaryTextColor: "#404040"
|
||||
primaryBorderColor: "#0098CD"
|
||||
lineColor: "#0098CD"
|
||||
---
|
||||
flowchart TB
|
||||
subgraph root["MastersThesis/"]
|
||||
direction TB
|
||||
|
||||
subgraph docs["docs/ - Capítulos TFM"]
|
||||
d0["00-07 chapters (.md)"]
|
||||
subgraph metrics["metrics/"]
|
||||
m1["metrics_paddle.md"]
|
||||
m2["metrics_doctr.md"]
|
||||
m3["metrics_easyocr.md"]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph src["src/ - Código fuente"]
|
||||
subgraph paddle["paddle_ocr/"]
|
||||
p1["paddle_ocr_tuning_rest.py"]
|
||||
p2["Dockerfile.gpu/cpu"]
|
||||
end
|
||||
subgraph doctr["doctr_service/"]
|
||||
dt1["doctr_tuning_rest.py"]
|
||||
end
|
||||
subgraph easy["easyocr_service/"]
|
||||
e1["easyocr_tuning_rest.py"]
|
||||
end
|
||||
subgraph ray["raytune/"]
|
||||
r1["raytune_ocr.py"]
|
||||
r2["run_tuning.py"]
|
||||
end
|
||||
results["results/*.csv"]
|
||||
dataset["dataset/"]
|
||||
end
|
||||
|
||||
subgraph thesis["thesis_output/"]
|
||||
htm["plantilla_individual.htm"]
|
||||
figs["figures/figura_1-11.png"]
|
||||
end
|
||||
|
||||
subgraph inst["instructions/"]
|
||||
i1["instrucciones.pdf"]
|
||||
i2["plantilla_individual.htm"]
|
||||
end
|
||||
|
||||
scripts["apply_content.py<br/>generate_mermaid_figures.py"]
|
||||
config["claude.md<br/>README.md"]
|
||||
end
|
||||
```
|
||||
MastersThesis/
|
||||
├── docs/ # Documentación de la tesis
|
||||
│ └── metrics/ # Métricas de rendimiento OCR
|
||||
│ ├── metrics.md # Resumen comparativo
|
||||
│ ├── metrics_paddle.md # Resultados PaddleOCR
|
||||
│ ├── metrics_doctr.md # Resultados DocTR
|
||||
│ └── metrics_easyocr.md # Resultados EasyOCR
|
||||
├── src/
|
||||
│ ├── paddle_ocr/ # Servicio PaddleOCR
|
||||
│ │ ├── Dockerfile.gpu # Imagen Docker GPU
|
||||
│ │ ├── Dockerfile.cpu # Imagen Docker CPU
|
||||
│ │ ├── docker-compose.yml # Configuración Docker
|
||||
│ │ └── main.py # API FastAPI
|
||||
│ ├── doctr_service/ # Servicio DocTR
|
||||
│ │ ├── Dockerfile.gpu
|
||||
│ │ ├── docker-compose.yml
|
||||
│ │ └── main.py
|
||||
│ ├── easyocr_service/ # Servicio EasyOCR
|
||||
│ │ ├── Dockerfile.gpu
|
||||
│ │ ├── docker-compose.yml
|
||||
│ │ └── main.py
|
||||
│ ├── dataset/ # Dataset de evaluación
|
||||
│ ├── raytune_ocr.py # Utilidades compartidas Ray Tune
|
||||
│ └── results/ # Resultados de ajuste CSV
|
||||
└── .gitea/workflows/ci.yaml # Pipeline CI/CD
|
||||
```
|
||||
|
||||
**Tabla A5.** *Descripción de directorios principales.*
|
||||
|
||||
| Directorio | Contenido |
|
||||
|------------|-----------|
|
||||
| `docs/` | Capítulos del TFM en Markdown (estructura UNIR) |
|
||||
| `docs/metrics/` | Métricas de rendimiento por servicio OCR |
|
||||
| `src/paddle_ocr/` | Servicio PaddleOCR dockerizado |
|
||||
| `src/doctr_service/` | Servicio DocTR dockerizado |
|
||||
| `src/easyocr_service/` | Servicio EasyOCR dockerizado |
|
||||
| `src/raytune/` | Scripts de optimización Ray Tune |
|
||||
| `src/results/` | CSVs con resultados de 64 trials por servicio |
|
||||
| `thesis_output/` | Documento TFM generado + figuras PNG |
|
||||
| `instructions/` | Plantilla e instrucciones UNIR oficiales |
|
||||
|
||||
*Fuente: Elaboración propia.*
|
||||
|
||||
## A.3 Requisitos de Software
|
||||
|
||||
@@ -79,8 +125,8 @@ MastersThesis/
|
||||
### PaddleOCR (Puerto 8002)
|
||||
|
||||
**Imágenes Docker:**
|
||||
- GPU: `seryus.ddns.net/unir/paddle-ocr-gpu`
|
||||
- CPU: `seryus.ddns.net/unir/paddle-ocr-cpu`
|
||||
- GPU: [`seryus.ddns.net/unir/paddle-ocr-gpu`](https://seryus.ddns.net/unir/-/packages/container/paddle-ocr-gpu/latest)
|
||||
- CPU: [`seryus.ddns.net/unir/paddle-ocr-cpu`](https://seryus.ddns.net/unir/-/packages/container/paddle-ocr-cpu/latest)
|
||||
|
||||
```bash
|
||||
cd src/paddle_ocr
|
||||
@@ -88,13 +134,13 @@ cd src/paddle_ocr
|
||||
# GPU (recomendado)
|
||||
docker compose up -d
|
||||
|
||||
# CPU (más lento, 126x)
|
||||
# CPU (más lento, 82x)
|
||||
docker compose -f docker-compose.cpu-registry.yml up -d
|
||||
```
|
||||
|
||||
### DocTR (Puerto 8003)
|
||||
|
||||
**Imagen Docker:** `seryus.ddns.net/unir/doctr-gpu`
|
||||
**Imagen Docker:** [`seryus.ddns.net/unir/doctr-gpu`](https://seryus.ddns.net/unir/-/packages/container/doctr-gpu/latest)
|
||||
|
||||
```bash
|
||||
cd src/doctr_service
|
||||
@@ -105,12 +151,14 @@ docker compose up -d
|
||||
|
||||
### EasyOCR (Puerto 8002)
|
||||
|
||||
**Imagen Docker:** `seryus.ddns.net/unir/easyocr-gpu`
|
||||
> **Nota:** EasyOCR utiliza el mismo puerto (8002) que PaddleOCR. No se pueden ejecutar simultáneamente. Por esta razón, existe un archivo docker-compose separado para EasyOCR.
|
||||
|
||||
**Imagen Docker:** [`seryus.ddns.net/unir/easyocr-gpu`](https://seryus.ddns.net/unir/-/packages/container/easyocr-gpu/latest)
|
||||
|
||||
```bash
|
||||
cd src/easyocr_service
|
||||
|
||||
# GPU
|
||||
# GPU (usar archivo separado para evitar conflicto de puerto)
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
@@ -183,20 +231,22 @@ analyze_results(results, prefix='raytune_paddle', config_keys=PADDLE_OCR_CONFIG_
|
||||
|
||||
**Tabla A3.** *Servicios Docker y puertos.*
|
||||
|
||||
| Servicio | Puerto | Script de Ajuste |
|
||||
|----------|--------|------------------|
|
||||
| PaddleOCR | 8002 | `paddle_ocr_payload` |
|
||||
| DocTR | 8003 | `doctr_payload` |
|
||||
| EasyOCR | 8002 | `easyocr_payload` |
|
||||
| Servicio | Puerto | Script de Ajuste | Nota |
|
||||
|----------|--------|------------------|------|
|
||||
| PaddleOCR | 8002 | `paddle_ocr_payload` | - |
|
||||
| DocTR | 8003 | `doctr_payload` | - |
|
||||
| EasyOCR | 8002 | `easyocr_payload` | Conflicto con PaddleOCR |
|
||||
|
||||
*Fuente: Elaboración propia.*
|
||||
|
||||
> **Nota:** Debido a limitaciones de recursos GPU (VRAM insuficiente para ejecutar múltiples modelos OCR simultáneamente), solo se ejecuta un servicio a la vez. PaddleOCR y EasyOCR comparten el puerto 8002. Para cambiar de servicio, detener el actual con `docker compose down`.
|
||||
|
||||
## A.7 Métricas de Rendimiento
|
||||
|
||||
Los resultados detallados de las evaluaciones y ajustes de hiperparámetros se encuentran en:
|
||||
|
||||
- [Métricas Generales](metrics/metrics.md) - Comparativa de los tres servicios
|
||||
- [PaddleOCR](metrics/metrics_paddle.md) - Mejor precisión (7.76% CER baseline, **1.49% optimizado**)
|
||||
- [PaddleOCR](metrics/metrics_paddle.md) - Mejor precisión (8.85% CER baseline, **7.72% optimizado**, **0.79% mejor trial**)
|
||||
- [DocTR](metrics/metrics_doctr.md) - Más rápido (0.50s/página)
|
||||
- [EasyOCR](metrics/metrics_easyocr.md) - Balance intermedio
|
||||
|
||||
|
||||
Reference in New Issue
Block a user