# Anexo A. Código fuente y datos analizados {.unnumbered}

## A.1 Repositorio del Proyecto

El código fuente completo y los datos utilizados en este trabajo están disponibles en el siguiente repositorio:

**URL del repositorio:** https://github.com/seryus/MastersThesis

El repositorio incluye:

- **Notebooks de experimentación**: Código completo de los experimentos realizados
- **Scripts de evaluación**: Herramientas para evaluar modelos OCR
- **Dataset**: Imágenes y textos de referencia utilizados
- **Resultados**: Archivos CSV con los resultados de los 64 trials de Ray Tune

## A.2 Estructura del Repositorio

```mermaid
---
title: "Estructura del repositorio del proyecto"
---
flowchart LR
    root["MastersThesis/"] --> docs["docs/"]
    root --> src["src/"]
    root --> instructions["instructions/"]
    root --> scripts["Scripts generación"]

    src --> nb1["paddle_ocr_fine_tune_unir_raytune.ipynb"]
    src --> py1["paddle_ocr_tuning.py"]
    src --> csv["raytune_paddle_subproc_results_*.csv"]

    scripts --> gen1["generate_mermaid_figures.py"]
    scripts --> gen2["apply_content.py"]
```

**Descripción de componentes:**

- **docs/**: Capítulos de la tesis en Markdown (estructura UNIR)
- **src/**: Código fuente de experimentación
  - `paddle_ocr_fine_tune_unir_raytune.ipynb`: Notebook principal con 64 trials Ray Tune
  - `paddle_ocr_tuning.py`: Script CLI para evaluación OCR
  - `raytune_paddle_subproc_results_20251207_192320.csv`: Resultados de optimización
- **instructions/**: Plantilla e instrucciones UNIR
- **Scripts de generación**: `generate_mermaid_figures.py` y `apply_content.py` para generar el documento TFM

## A.3 Requisitos de Software

Para reproducir los experimentos se requieren las siguientes dependencias:

| Componente | Versión |
|------------|---------|
| Python | 3.11.9 |
| PaddlePaddle | 3.2.2 |
| PaddleOCR | 3.3.2 |
| Ray | 2.52.1 |
| Optuna | 4.6.0 |
| jiwer | (última versión) |
| PyMuPDF | (última versión) |

## A.4 Instrucciones de Ejecución

1. Clonar el repositorio
2. Instalar dependencias: `pip install -r requirements.txt`
3. Ejecutar el notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`

## A.5 Licencia

El código se distribuye bajo licencia MIT.
