{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "be3c1872",
   "metadata": {},
   "source": [
    "# AI-based OCR Benchmark Notebook\n",
    "\n",
    "This notebook benchmarks **AI-based OCR models** on scanned PDF documents/images in Spanish.\n",
    "It excludes traditional OCR engines like Tesseract that require external installations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6a1e98fe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: pip in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (25.3)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: jupyter in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.1.1)\n",
      "Requirement already satisfied: notebook in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (7.5.0)\n",
      "Requirement already satisfied: jupyter-console in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (6.6.3)\n",
      "Requirement already satisfied: nbconvert in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (7.16.6)\n",
      "Requirement already satisfied: ipykernel in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (7.1.0)\n",
      "Requirement already satisfied: ipywidgets in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (8.1.8)\n",
      "Requirement already satisfied: jupyterlab in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter) (4.5.0)\n",
      "Requirement already satisfied: comm>=0.1.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (0.2.3)\n",
      "Requirement already satisfied: debugpy>=1.6.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (1.8.17)\n",
      "Requirement already satisfied: ipython>=7.23.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (9.8.0)\n",
      "Requirement already satisfied: jupyter-client>=8.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (8.6.3)\n",
      "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (5.9.1)\n",
      "Requirement already satisfied: matplotlib-inline>=0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (0.2.1)\n",
      "Requirement already satisfied: nest-asyncio>=1.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (1.6.0)\n",
      "Requirement already satisfied: packaging>=22 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (25.0)\n",
      "Requirement already satisfied: psutil>=5.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (7.1.3)\n",
      "Requirement already satisfied: pyzmq>=25 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (27.1.0)\n",
      "Requirement already satisfied: tornado>=6.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (6.5.2)\n",
      "Requirement already satisfied: traitlets>=5.4.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel->jupyter) (5.14.3)\n",
      "Requirement already satisfied: colorama>=0.4.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (0.4.6)\n",
      "Requirement already satisfied: decorator>=4.3.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (5.2.1)\n",
      "Requirement already satisfied: ipython-pygments-lexers>=1.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (1.1.1)\n",
      "Requirement already satisfied: jedi>=0.18.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (0.19.2)\n",
      "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (3.0.52)\n",
      "Requirement already satisfied: pygments>=2.11.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (2.19.2)\n",
      "Requirement already satisfied: stack_data>=0.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (0.6.3)\n",
      "Requirement already satisfied: typing_extensions>=4.6 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel->jupyter) (4.15.0)\n",
      "Requirement already satisfied: wcwidth in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel->jupyter) (0.2.14)\n",
      "Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jedi>=0.18.1->ipython>=7.23.1->ipykernel->jupyter) (0.8.5)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-client>=8.0.0->ipykernel->jupyter) (2.9.0.post0)\n",
      "Requirement already satisfied: platformdirs>=2.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel->jupyter) (4.5.1)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->jupyter-client>=8.0.0->ipykernel->jupyter) (1.17.0)\n",
      "Requirement already satisfied: executing>=1.2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel->jupyter) (2.2.1)\n",
      "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel->jupyter) (3.0.1)\n",
      "Requirement already satisfied: pure-eval in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel->jupyter) (0.2.3)\n",
      "Requirement already satisfied: widgetsnbextension~=4.0.14 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets->jupyter) (4.0.15)\n",
      "Requirement already satisfied: jupyterlab_widgets~=3.0.15 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets->jupyter) (3.0.16)\n",
      "Requirement already satisfied: async-lru>=1.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.0.5)\n",
      "Requirement already satisfied: httpx<1,>=0.25.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (0.28.1)\n",
      "Requirement already satisfied: jinja2>=3.0.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (3.1.6)\n",
      "Requirement already satisfied: jupyter-lsp>=2.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.3.0)\n",
      "Requirement already satisfied: jupyter-server<3,>=2.4.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.17.0)\n",
      "Requirement already satisfied: jupyterlab-server<3,>=2.28.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (2.28.0)\n",
      "Requirement already satisfied: notebook-shim>=0.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (0.2.4)\n",
      "Requirement already satisfied: setuptools>=41.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab->jupyter) (65.5.0)\n",
      "Requirement already satisfied: anyio in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (4.12.0)\n",
      "Requirement already satisfied: certifi in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (2025.11.12)\n",
      "Requirement already satisfied: httpcore==1.* in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (1.0.9)\n",
      "Requirement already satisfied: idna in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx<1,>=0.25.0->jupyterlab->jupyter) (3.11)\n",
      "Requirement already satisfied: h11>=0.16 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpcore==1.*->httpx<1,>=0.25.0->jupyterlab->jupyter) (0.16.0)\n",
      "Requirement already satisfied: argon2-cffi>=21.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (25.1.0)\n",
      "Requirement already satisfied: jupyter-events>=0.11.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.12.0)\n",
      "Requirement already satisfied: jupyter-server-terminals>=0.4.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.5.3)\n",
      "Requirement already satisfied: nbformat>=5.3.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (5.10.4)\n",
      "Requirement already satisfied: overrides>=5.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (7.7.0)\n",
      "Requirement already satisfied: prometheus-client>=0.9 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.23.1)\n",
      "Requirement already satisfied: pywinpty>=2.0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (3.0.2)\n",
      "Requirement already satisfied: send2trash>=1.8.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.8.3)\n",
      "Requirement already satisfied: terminado>=0.8.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.18.1)\n",
      "Requirement already satisfied: websocket-client>=1.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.9.0)\n",
      "Requirement already satisfied: babel>=2.10 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (2.17.0)\n",
      "Requirement already satisfied: json5>=0.9.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (0.12.1)\n",
      "Requirement already satisfied: jsonschema>=4.18.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (4.25.1)\n",
      "Requirement already satisfied: requests>=2.31 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (2.32.5)\n",
      "Requirement already satisfied: argon2-cffi-bindings in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (25.1.0)\n",
      "Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jinja2>=3.0.3->jupyterlab->jupyter) (3.0.3)\n",
      "Requirement already satisfied: attrs>=22.2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (25.4.0)\n",
      "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (2025.9.1)\n",
      "Requirement already satisfied: referencing>=0.28.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (0.37.0)\n",
      "Requirement already satisfied: rpds-py>=0.7.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (0.30.0)\n",
      "Requirement already satisfied: python-json-logger>=2.0.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (4.0.0)\n",
      "Requirement already satisfied: pyyaml>=5.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (6.0.2)\n",
      "Requirement already satisfied: rfc3339-validator in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.1.4)\n",
      "Requirement already satisfied: rfc3986-validator>=0.1.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (0.1.1)\n",
      "Requirement already satisfied: fqdn in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.5.1)\n",
      "Requirement already satisfied: isoduration in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (20.11.0)\n",
      "Requirement already satisfied: jsonpointer>1.13 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (3.0.0)\n",
      "Requirement already satisfied: rfc3987-syntax>=1.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.1.0)\n",
      "Requirement already satisfied: uri-template in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.3.0)\n",
      "Requirement already satisfied: webcolors>=24.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (25.10.0)\n",
      "Requirement already satisfied: beautifulsoup4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (4.14.3)\n",
      "Requirement already satisfied: bleach!=5.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bleach[css]!=5.0.0->nbconvert->jupyter) (6.3.0)\n",
      "Requirement already satisfied: defusedxml in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (0.7.1)\n",
      "Requirement already satisfied: jupyterlab-pygments in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (0.3.0)\n",
      "Requirement already satisfied: mistune<4,>=2.0.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (3.1.4)\n",
      "Requirement already satisfied: nbclient>=0.5.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (0.10.2)\n",
      "Requirement already satisfied: pandocfilters>=1.4.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbconvert->jupyter) (1.5.1)\n",
      "Requirement already satisfied: webencodings in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert->jupyter) (0.5.1)\n",
      "Requirement already satisfied: tinycss2<1.5,>=1.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bleach[css]!=5.0.0->nbconvert->jupyter) (1.4.0)\n",
      "Requirement already satisfied: fastjsonschema>=2.15 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.21.2)\n",
      "Requirement already satisfied: charset_normalizer<4,>=2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests>=2.31->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (3.4.4)\n",
      "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests>=2.31->jupyterlab-server<3,>=2.28.0->jupyterlab->jupyter) (2.6.0)\n",
      "Requirement already satisfied: lark>=1.2.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from rfc3987-syntax>=1.1.0->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.3.1)\n",
      "Requirement already satisfied: cffi>=1.0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.0.0)\n",
      "Requirement already satisfied: pycparser in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2.23)\n",
      "Requirement already satisfied: soupsieve>=1.6.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from beautifulsoup4->nbconvert->jupyter) (2.8)\n",
      "Requirement already satisfied: arrow>=0.15.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (1.4.0)\n",
      "Requirement already satisfied: tzdata in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->jupyterlab->jupyter) (2025.2)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: ipywidgets in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (8.1.8)\n",
      "Requirement already satisfied: comm>=0.1.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (0.2.3)\n",
      "Requirement already satisfied: ipython>=6.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (9.8.0)\n",
      "Requirement already satisfied: traitlets>=4.3.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (5.14.3)\n",
      "Requirement already satisfied: widgetsnbextension~=4.0.14 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (4.0.15)\n",
      "Requirement already satisfied: jupyterlab_widgets~=3.0.15 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipywidgets) (3.0.16)\n",
      "Requirement already satisfied: colorama>=0.4.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.4.6)\n",
      "Requirement already satisfied: decorator>=4.3.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (5.2.1)\n",
      "Requirement already satisfied: ipython-pygments-lexers>=1.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (1.1.1)\n",
      "Requirement already satisfied: jedi>=0.18.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.19.2)\n",
      "Requirement already satisfied: matplotlib-inline>=0.1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.2.1)\n",
      "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (3.0.52)\n",
      "Requirement already satisfied: pygments>=2.11.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (2.19.2)\n",
      "Requirement already satisfied: stack_data>=0.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n",
      "Requirement already satisfied: typing_extensions>=4.6 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=6.1.0->ipywidgets) (4.15.0)\n",
      "Requirement already satisfied: wcwidth in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.14)\n",
      "Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jedi>=0.18.1->ipython>=6.1.0->ipywidgets) (0.8.5)\n",
      "Requirement already satisfied: executing>=1.2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=6.1.0->ipywidgets) (2.2.1)\n",
      "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=6.1.0->ipywidgets) (3.0.1)\n",
      "Requirement already satisfied: pure-eval in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=6.1.0->ipywidgets) (0.2.3)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: ipykernel in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (7.1.0)\n",
      "Requirement already satisfied: comm>=0.1.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (0.2.3)\n",
      "Requirement already satisfied: debugpy>=1.6.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (1.8.17)\n",
      "Requirement already satisfied: ipython>=7.23.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (9.8.0)\n",
      "Requirement already satisfied: jupyter-client>=8.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (8.6.3)\n",
      "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (5.9.1)\n",
      "Requirement already satisfied: matplotlib-inline>=0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (0.2.1)\n",
      "Requirement already satisfied: nest-asyncio>=1.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (1.6.0)\n",
      "Requirement already satisfied: packaging>=22 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (25.0)\n",
      "Requirement already satisfied: psutil>=5.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (7.1.3)\n",
      "Requirement already satisfied: pyzmq>=25 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (27.1.0)\n",
      "Requirement already satisfied: tornado>=6.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (6.5.2)\n",
      "Requirement already satisfied: traitlets>=5.4.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipykernel) (5.14.3)\n",
      "Requirement already satisfied: colorama>=0.4.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (0.4.6)\n",
      "Requirement already satisfied: decorator>=4.3.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (5.2.1)\n",
      "Requirement already satisfied: ipython-pygments-lexers>=1.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (1.1.1)\n",
      "Requirement already satisfied: jedi>=0.18.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (0.19.2)\n",
      "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (3.0.52)\n",
      "Requirement already satisfied: pygments>=2.11.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (2.19.2)\n",
      "Requirement already satisfied: stack_data>=0.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (0.6.3)\n",
      "Requirement already satisfied: typing_extensions>=4.6 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ipython>=7.23.1->ipykernel) (4.15.0)\n",
      "Requirement already satisfied: wcwidth in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel) (0.2.14)\n",
      "Requirement already satisfied: parso<0.9.0,>=0.8.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jedi>=0.18.1->ipython>=7.23.1->ipykernel) (0.8.5)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-client>=8.0.0->ipykernel) (2.9.0.post0)\n",
      "Requirement already satisfied: platformdirs>=2.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel) (4.5.1)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->jupyter-client>=8.0.0->ipykernel) (1.17.0)\n",
      "Requirement already satisfied: executing>=1.2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel) (2.2.1)\n",
      "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel) (3.0.1)\n",
      "Requirement already satisfied: pure-eval in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from stack_data>=0.6.0->ipython>=7.23.1->ipykernel) (0.2.3)\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "%pip install --upgrade pip\n",
    "%pip install --upgrade jupyter\n",
    "%pip install --upgrade ipywidgets\n",
    "%pip install --upgrade ipykernel"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "13103c58",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: transformers in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (4.57.3)\n",
      "Requirement already satisfied: pillow in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (12.0.0)\n",
      "Requirement already satisfied: paddleocr in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (3.3.2)\n",
      "Requirement already satisfied: hf_xet in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (1.2.0)\n",
      "Requirement already satisfied: paddlepaddle in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (3.2.2)\n",
      "Requirement already satisfied: jiwer in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (4.0.0)\n",
      "Requirement already satisfied: rich in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (14.2.0)\n",
      "Requirement already satisfied: filelock in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (3.20.0)\n",
      "Requirement already satisfied: huggingface-hub<1.0,>=0.34.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (0.36.0)\n",
      "Requirement already satisfied: numpy>=1.17 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (2.3.5)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (25.0)\n",
      "Requirement already satisfied: pyyaml>=5.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (6.0.2)\n",
      "Requirement already satisfied: regex!=2019.12.17 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (2025.11.3)\n",
      "Requirement already satisfied: requests in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (2.32.5)\n",
      "Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (0.22.1)\n",
      "Requirement already satisfied: safetensors>=0.4.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (0.7.0)\n",
      "Requirement already satisfied: tqdm>=4.27 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from transformers) (4.67.1)\n",
      "Requirement already satisfied: fsspec>=2023.5.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from huggingface-hub<1.0,>=0.34.0->transformers) (2025.12.0)\n",
      "Requirement already satisfied: typing-extensions>=3.7.4.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from huggingface-hub<1.0,>=0.34.0->transformers) (4.15.0)\n",
      "Requirement already satisfied: paddlex<3.4.0,>=3.3.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (3.3.10)\n",
      "Requirement already satisfied: aistudio-sdk>=0.3.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.3.8)\n",
      "Requirement already satisfied: chardet in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (5.2.0)\n",
      "Requirement already satisfied: colorlog in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (6.10.1)\n",
      "Requirement already satisfied: modelscope>=1.28.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (1.32.0)\n",
      "Requirement already satisfied: pandas>=1.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2.3.3)\n",
      "Requirement already satisfied: prettytable in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (3.17.0)\n",
      "Requirement already satisfied: py-cpuinfo in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (9.0.0)\n",
      "Requirement already satisfied: pydantic>=2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2.12.5)\n",
      "Requirement already satisfied: ruamel.yaml in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.18.16)\n",
      "Requirement already satisfied: ujson in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (5.11.0)\n",
      "Requirement already satisfied: imagesize in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (1.4.1)\n",
      "Requirement already satisfied: opencv-contrib-python==4.10.0.84 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (4.10.0.84)\n",
      "Requirement already satisfied: pyclipper in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (1.4.0)\n",
      "Requirement already satisfied: pypdfium2>=4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (5.1.0)\n",
      "Requirement already satisfied: python-bidi in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.6.7)\n",
      "Requirement already satisfied: shapely in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2.1.2)\n",
      "Requirement already satisfied: httpx in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (0.28.1)\n",
      "Requirement already satisfied: protobuf>=3.20.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (6.33.2)\n",
      "Requirement already satisfied: opt-einsum==3.3.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (3.3.0)\n",
      "Requirement already satisfied: networkx in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from paddlepaddle) (3.6)\n",
      "Requirement already satisfied: click>=8.1.8 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jiwer) (8.2.1)\n",
      "Requirement already satisfied: rapidfuzz>=3.9.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jiwer) (3.14.3)\n",
      "Requirement already satisfied: markdown-it-py>=2.2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from rich) (4.0.0)\n",
      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from rich) (2.19.2)\n",
      "Requirement already satisfied: psutil in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from aistudio-sdk>=0.3.5->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (7.1.3)\n",
      "Requirement already satisfied: bce-python-sdk in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from aistudio-sdk>=0.3.5->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.9.55)\n",
      "Requirement already satisfied: colorama in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from click>=8.1.8->jiwer) (0.4.6)\n",
      "Requirement already satisfied: mdurl~=0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from markdown-it-py>=2.2.0->rich) (0.1.2)\n",
      "Requirement already satisfied: setuptools in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from modelscope>=1.28.0->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (65.5.0)\n",
      "Requirement already satisfied: urllib3>=1.26 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from modelscope>=1.28.0->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2.6.0)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.3->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.3->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2025.2)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.3->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2025.2)\n",
      "Requirement already satisfied: annotated-types>=0.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic>=2->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.7.0)\n",
      "Requirement already satisfied: pydantic-core==2.41.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic>=2->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (2.41.5)\n",
      "Requirement already satisfied: typing-inspection>=0.4.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic>=2->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.4.2)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->pandas>=1.3->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (1.17.0)\n",
      "Requirement already satisfied: charset_normalizer<4,>=2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->transformers) (3.4.4)\n",
      "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->transformers) (3.11)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->transformers) (2025.11.12)\n",
      "Requirement already satisfied: pycryptodome>=3.8.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bce-python-sdk->aistudio-sdk>=0.3.5->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (3.23.0)\n",
      "Requirement already satisfied: future>=0.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from bce-python-sdk->aistudio-sdk>=0.3.5->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (1.0.0)\n",
      "Requirement already satisfied: anyio in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx->paddlepaddle) (4.12.0)\n",
      "Requirement already satisfied: httpcore==1.* in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpx->paddlepaddle) (1.0.9)\n",
      "Requirement already satisfied: h11>=0.16 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from httpcore==1.*->httpx->paddlepaddle) (0.16.0)\n",
      "Requirement already satisfied: wcwidth in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from prettytable->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.2.14)\n",
      "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ruamel.yaml->paddlex<3.4.0,>=3.3.0->paddlex[ocr-core]<3.4.0,>=3.3.0->paddleocr) (0.2.15)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: pandas in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (2.3.3)\n",
      "Requirement already satisfied: numpy>=1.23.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2.3.5)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2025.2)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas) (2025.2)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: matplotlib in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (3.10.7)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (1.3.3)\n",
      "Requirement already satisfied: cycler>=0.10 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (0.12.1)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (4.61.0)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (1.4.9)\n",
      "Requirement already satisfied: numpy>=1.23 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (2.3.5)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (25.0)\n",
      "Requirement already satisfied: pillow>=8 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (12.0.0)\n",
      "Requirement already satisfied: pyparsing>=3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (3.2.5)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: seaborn in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (0.13.2)\n",
      "Requirement already satisfied: numpy!=1.24.0,>=1.20 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from seaborn) (2.3.5)\n",
      "Requirement already satisfied: pandas>=1.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from seaborn) (2.3.3)\n",
      "Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from seaborn) (3.10.7)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.3.3)\n",
      "Requirement already satisfied: cycler>=0.10 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (0.12.1)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (4.61.0)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.4.9)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (25.0)\n",
      "Requirement already satisfied: pillow>=8 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (12.0.0)\n",
      "Requirement already satisfied: pyparsing>=3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (3.2.5)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.2->seaborn) (2025.2)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas>=1.2->seaborn) (2025.2)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.4->seaborn) (1.17.0)\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "# Install necessary packages\n",
    "%pip install transformers pillow paddleocr hf_xet paddlepaddle jiwer rich\n",
    "\n",
    "\n",
    "\n",
    "# Data analysis and visualization\n",
    "%pip install pandas\n",
    "%pip install matplotlib\n",
    "%pip install seaborn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ae33632a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Imports\n",
    "import os, json\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import re\n",
    "from datetime import datetime\n",
    "\n",
    "from rich.console import Console\n",
    "import colorama\n",
    "\n",
    "colorama.just_fix_windows_console()\n",
    "# Tell Ray Tune to use a Jupyter-compatible console\n",
    "console = Console(force_jupyter=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e00f1b0",
   "metadata": {},
   "source": [
    "## 1 Configuration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "8bfa3329",
   "metadata": {},
   "outputs": [],
   "source": [
    "PDF_FOLDER = './dataset'  # Folder containing PDF files\n",
    "OUTPUT_FOLDER = 'results'\n",
    "os.makedirs(OUTPUT_FOLDER, exist_ok=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "8bd4ca23",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "c:\\Users\\sji\\Desktop\\MastersThesis\\src\\dataset\n",
      "c:\\Users\\sji\\Desktop\\MastersThesis\\src\\paddle_ocr_tuning.py\n",
      "c:\\Users\\sji\\Desktop\\MastersThesis\\src\n"
     ]
    }
   ],
   "source": [
    "PDF_FOLDER_ABS = os.path.abspath(PDF_FOLDER)              # ./instructions -> C:\\...\\instructions\n",
    "SCRIPT_ABS = os.path.abspath(\"paddle_ocr_tuning.py\")      # paddle_ocr_tuning.py -> C:\\...\\paddle_ocr_tuning.py\n",
    "SCRIPT_DIR = os.path.dirname(SCRIPT_ABS)\n",
    "\n",
    "print(PDF_FOLDER_ABS)\n",
    "print(SCRIPT_ABS)\n",
    "print(SCRIPT_DIR)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9c658b58",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\Sergio\\Desktop\\MastersThesis\\.venv\\Lib\\site-packages\\paddle\\utils\\cpp_extension\\extension_utils.py:718: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md\n",
      "  warnings.warn(warning_message)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Paddle version: 3.2.2\n",
      "GPU available: False\n",
      "GPU count: 0\n",
      "Current device: cpu\n"
     ]
    }
   ],
   "source": [
    "import paddle\n",
    "\n",
    "print(\"Paddle version:\", paddle.__version__)\n",
    "print(\"GPU available:\", paddle.device.is_compiled_with_cuda())\n",
    "print(\"GPU count:\", paddle.device.cuda.device_count())\n",
    "print(\"Current device:\", paddle.device.get_device())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "243849b9",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[32mCreating model: ('PP-LCNet_x1_0_doc_ori', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\Sergio\\.paddlex\\official_models\\PP-LCNet_x1_0_doc_ori`.\u001b[0m\n",
      "\u001b[32mCreating model: ('UVDoc', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\Sergio\\.paddlex\\official_models\\UVDoc`.\u001b[0m\n",
      "\u001b[32mCreating model: ('PP-LCNet_x1_0_textline_ori', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\Sergio\\.paddlex\\official_models\\PP-LCNet_x1_0_textline_ori`.\u001b[0m\n",
      "\u001b[32mCreating model: ('PP-OCRv5_server_det', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\Sergio\\.paddlex\\official_models\\PP-OCRv5_server_det`.\u001b[0m\n",
      "\u001b[32mCreating model: ('PP-OCRv5_server_rec', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\Sergio\\.paddlex\\official_models\\PP-OCRv5_server_rec`.\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "# 3. PaddleOCR \n",
    "# https://www.paddleocr.ai/v3.0.0/en/version3.x/pipeline_usage/OCR.html?utm_source=chatgpt.com#21-command-line\n",
    "from paddleocr import PaddleOCR\n",
    "\n",
    "# Initialize with better settings for Spanish/Latin text\n",
    "# https://www.paddleocr.ai/main/en/version3.x/algorithm/PP-OCRv5/PP-OCRv5_multi_languages.html?utm_source=chatgpt.com#5-models-and-their-supported-languages\n",
    "paddleocr_model = PaddleOCR(\n",
    "    text_detection_model_name=\"PP-OCRv5_server_det\",\n",
    "    text_recognition_model_name=\"PP-OCRv5_server_rec\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "329da34a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.3.2\n"
     ]
    }
   ],
   "source": [
    "import paddleocr\n",
    "\n",
    "print(paddleocr.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b1541bb6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "c:\\Users\\Sergio\\Desktop\\MastersThesis\\.venv\\Lib\\site-packages\\paddleocr\n"
     ]
    }
   ],
   "source": [
    "# 1) Locate the installed PaddleOCR package\n",
    "pkg_dir = os.path.dirname(paddleocr.__file__)\n",
    "print(pkg_dir)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84c999e2",
   "metadata": {},
   "source": [
    "## 2 Helper Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9596c7df",
   "metadata": {},
   "outputs": [],
   "source": [
    "from typing import List, Optional\n",
    "from paddle_ocr_tuning import evaluate_text, assemble_from_paddle_result\n",
    "from dataset_manager import ImageTextDataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b7c1bbf8",
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "\n",
    "def show_page(img: Image.Image, scale: float = 1):\n",
    "    \"\"\"\n",
    "    Displays a smaller version of the image with text as a footer.\n",
    "    \"\"\"\n",
    "    # Compute plot size based on image dimensions (but without resizing the image)\n",
    "    w, h = img.size\n",
    "    figsize = (w * scale / 100, h * scale / 100)  # convert pixels to inches approx\n",
    "\n",
    "    fig, ax = plt.subplots(figsize=figsize)\n",
    "    ax.imshow(img)\n",
    "    ax.axis(\"off\")\n",
    "\n",
    "\n",
    "    # Add OCR text below the image (footer)\n",
    "    # plt.figtext(0.5, 0.02, text.strip(), wrap=True, ha='center', va='bottom', fontsize=10)\n",
    "    plt.tight_layout()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "b9d3fe25",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 35212 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Índice\n",
      "1. Indicaciones generales 3\n",
      "1.1. Línea de discurso 3\n",
      "1.2. Estructura general y extensión del TFE 4\n",
      "1.3. Formatos y plantilla de trabajo 5\n",
      "1.4. Estética y estilo de redacción 7\n",
      "1.5. Normativa de citas 8\n",
      "2. Estructura del documento 9\n",
      "2.1. Resumen 10\n",
      "2.2. Organización del trabajo en grupo 11\n",
      "2.3. Introducción 11\n",
      "2.4. Contexto y estado del arte 13\n",
      "2.5. Objetivos concretos y metodología de trabajo 14\n",
      "2.6. Desarrollo específico de la contribución 17\n",
      "2.7. Conclusiones y trabajo futuro 20\n",
      "2.8. Referencias bibliográficas 21\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      "2.8.1. Herramientas para buscar bibliografía 22\n",
      "2.9. Anexos 23\n",
      "2.10. Índice de acrónimos 24\n"
     ]
    }
   ],
   "source": [
    "#test\n",
    "dataset = ImageTextDataset(PDF_FOLDER_ABS)\n",
    "img, txt = dataset[1]\n",
    "show_page(img,  0.15)\n",
    "print(txt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "dcd27755",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 67240 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Superior e inferior: 2,5 cm.\n",
      "Formato de párrafo en texto principal (estilo de la plantilla “Normal”):\n",
      " Calibri 12, justificado, interlineado 1,5, espacio entre párrafos 6 puntos\n",
      "anterior y 6 puntos posterior, sin sangría.\n",
      "Títulos:\n",
      " Primer nivel (estilo de la plantilla “Título 1”): Calibri Light 18, azul, justificado,\n",
      "interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6 puntos\n",
      "posterior, sin sangría.\n",
      " Segundo nivel (estilo de la plantilla “Título 2”): Calibri Light 14, azul,\n",
      "justificado, interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6\n",
      "puntos posterior, sin sangría.\n",
      " Tercer nivel (estilo de la plantilla “Título 3”: Calibri Light 12, justificado,\n",
      "interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6 puntos\n",
      "posterior, sin sangría.\n",
      "Notas al pie:\n",
      " Calibri 10, justificado, interlineado sencillo, espacio entre párrafos 0 puntos\n",
      "anterior y 0 puntos posterior, sin sangría.\n",
      "Tablas y figuras:\n",
      " Título en la parte superior de la tabla o figura.\n",
      " Numeración tabla o figura (Tabla 1/ Figura1): Calibri 12, negrita, justificado.\n",
      " Nombre tabla o figura: Calibri 12, cursiva, justificado.\n",
      " Cuerpo: la tipografía de las tablas o figuras se pueden reducir hasta los 9\n",
      "puntos si estas contienen mucha información. Si la tabla o figura es muy\n",
      "grande, también se puede colocar en apaisado dentro de la hoja.\n",
      " Fuente de la tabla o figura en la parte inferior. Calibri 9,5, centrado.\n",
      "Encabezado y pie de página:\n",
      " Todas las páginas llevarán un encabezado con el nombre completo del\n",
      "estudiante y el título del TFE.\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      " Todas las páginas llevarán también un pie de página con el número de página.\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "6\n",
      "Máster Universitario en Inteligencia Artificial\n"
     ]
    }
   ],
   "source": [
    "dataset = ImageTextDataset(PDF_FOLDER_ABS)\n",
    "img, txt = dataset[5]\n",
    "show_page(img,  0.15)\n",
    "print(txt)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e42cae29",
   "metadata": {},
   "source": [
    "## Run AI OCR Benchmark"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "9b55c154",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 67240 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ref: \n",
      "Superior e inferior: 2,5 cm.\n",
      "Formato de párrafo en texto principal (estilo de la plantilla “Normal”):\n",
      " Calibri 12, justificado, interlineado 1,5, espacio entre párrafos 6 puntos\n",
      "anterior y 6 puntos posterior, sin sangría.\n",
      "Títulos:\n",
      " Primer nivel (estilo de la plantilla “Título 1”): Calibri Light 18, azul, justificado,\n",
      "interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6 puntos\n",
      "posterior, sin sangría.\n",
      " Segundo nivel (estilo de la plantilla “Título 2”): Calibri Light 14, azul,\n",
      "justificado, interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6\n",
      "puntos posterior, sin sangría.\n",
      " Tercer nivel (estilo de la plantilla “Título 3”: Calibri Light 12, justificado,\n",
      "interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6 puntos\n",
      "posterior, sin sangría.\n",
      "Notas al pie:\n",
      " Calibri 10, justificado, interlineado sencillo, espacio entre párrafos 0 puntos\n",
      "anterior y 0 puntos posterior, sin sangría.\n",
      "Tablas y figuras:\n",
      " Título en la parte superior de la tabla o figura.\n",
      " Numeración tabla o figura (Tabla 1/ Figura1): Calibri 12, negrita, justificado.\n",
      " Nombre tabla o figura: Calibri 12, cursiva, justificado.\n",
      " Cuerpo: la tipografía de las tablas o figuras se pueden reducir hasta los 9\n",
      "puntos si estas contienen mucha información. Si la tabla o figura es muy\n",
      "grande, también se puede colocar en apaisado dentro de la hoja.\n",
      " Fuente de la tabla o figura en la parte inferior. Calibri 9,5, centrado.\n",
      "Encabezado y pie de página:\n",
      " Todas las páginas llevarán un encabezado con el nombre completo del\n",
      "estudiante y el título del TFE.\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      " Todas las páginas llevarán también un pie de página con el número de página.\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "6\n",
      "Máster Universitario en Inteligencia Artificial\n",
      "paddle_text: \n",
      "Superior e inferior: 2,5 cm.\n",
      "Formato de párrafo en texto principal (estilo de la plantilla “Normal\"):\n",
      "Calibri 12, justificado, interlineado 1,5, espacio entre párrafos 6 puntos\n",
      "anterior y 6 puntos posterior, sin sangría.\n",
      "Títulos:\n",
      "Primer nivel (estilo de la plantillaTítulo 1\"): Calibri Light 18, azul, justificado,\n",
      "interlineado 1,5,espacio entre párrafos 6 puntos anterior y 6 puntos\n",
      "posterior, sin sangría.\n",
      "Segundo nivel (estilo de la plantilla Titulo 2\"): Calibri Light 14, azul,\n",
      "justificado, interlineado 1,5, espacio entre párrafos 6 puntos anterior y 6\n",
      "puntos posterior, sin sangría.\n",
      "Tercer nivel (estilo de la plantilla Título 3\": Calibri Light 12, justificado,\n",
      "interlineado 1,5,espacio entre párrafos 6 puntos anterior y 6 puntos\n",
      "posterior, sin sangría.\n",
      "Notas al pie:\n",
      "Calibri 10, justificado, interlineado sencillo, espacio entre párrafos O puntos\n",
      "anterior y O puntos posterior, sin sangra.\n",
      "Tablas y figuras:\n",
      "Título en la parte superior de la tabla o figura.\n",
      "Numeración tabla o figura (Tabla 1/ Figura1): Calibri 12, negrita, justificado.\n",
      "Nombre tabla o figura: Calibri 12, cursiva, justificado.\n",
      "Cuerpo: la tipografía de las tablas o figuras se pueden reducir hasta los 9\n",
      "puntos si estas contienen mucha información. Si la tabla o figura es muy\n",
      "grande, también se puede colocar en apaisado dentro de la hoja.\n",
      "Fuente de la tabla o figura en la parte inferior. Calibri 9,5, centrado.\n",
      "Encabezado y pie de página:\n",
      "Todas las páginas llevarán un encabezado con el nombre completo del\n",
      "estudiante y el título del TFE.\n",
      "© Universidad Internacional de La Rioja (UNiR)\n",
      "Todas las páginas llevarán también un pie de página con el número de página.\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "Máster Universitario en Inteligencia Artificial 9\n"
     ]
    },
    {
     "data": {
      "image/png": "[encoded data, 75980 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ref: \n",
      "Los borradores intermedios deberán entregarse en formato Word. El documento final\n",
      "deberá depositarse en formato PDF.\n",
      "1.4. Estética y estilo de redacción\n",
      "Es fundamental que el TFE presente un aspecto elegante y correcto. Se trata de un\n",
      "trabajo académico y debe reflejar la madurez y el nivel formativo de una persona que\n",
      "ha finalizado un estudio de grado o postgrado. Ten en cuenta las siguientes\n",
      "recomendaciones en todas y cada una de las entregas que realices y, en especial, en\n",
      "el depósito final del documento:\n",
      " Verifica la originalidad del documento, asegurándote de que citas todas las\n",
      "fuentes consultadas y no existen textos de autoría ajena sin referenciar\n",
      "correctamente.\n",
      " Cuida la presentación del trabajo. Comprueba que formatos como tipo y tamaño\n",
      "de letra, número de páginas, encabezados, justificación de párrafos, interlineado,\n",
      "etc., son correctos.\n",
      " Revisa la ortografía y la redacción. Utiliza el corrector de Word para asegurarte de\n",
      "que no has dejado ninguna errata. Una lectura detenida del documento también\n",
      "te ayudará a detectar erratas, omisiones o redundancias. Si es posible, pide a\n",
      "alguien cercano que lo lea y te dé su opinión sobre la redacción. Presta especial\n",
      "atención a los siguientes aspectos:\n",
      "- Que los párrafos sigan un orden o hilo argumental lógico.\n",
      "- Que la información se presente de una manera que facilite su\n",
      "comprensión, definiendo los conceptos necesarios e incluyendo las citas\n",
      "bibliográficas pertinentes.\n",
      "- Elimina párrafos demasiado cortos. Cada párrafo debería tener al menos\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      "tres oraciones.\n",
      "- Elimina frases superfluas y repeticiones de ideas.\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "7\n",
      "Máster Universitario en Inteligencia Artificial\n",
      "paddle_text: \n",
      "Los borradores intermedios deberán entregarse en formato Word. El documento final\n",
      "deberá depositarse en formato PDf.\n",
      "1.4. Estética y estilo de redacción\n",
      "Es fundamental que el TFE presente un aspecto elegante y correcto. Se trata de un\n",
      "trabajo académico y debe reflejar la madurez y el nivel formativo de una persona que\n",
      "ha finalizado un estudio de grado o postgrado. Ten en cuenta las siguientes\n",
      "recomendaciones en todas y cada una de las entregas que realices y, en especial, en\n",
      "el deposito final del documento:\n",
      "Verifica la originalidad del documento,asegurándote de que citas todas las\n",
      "fuentes consultadas y no existen textos de autoría ajena sin referenciar\n",
      "correctamente.\n",
      "Cuida la presentación del trabajo. Comprueba que formatos como tipo y tamaño\n",
      "de letra, número de páginas, encabezados, justificación de párrafos, interlineado,\n",
      "etc., son correctos.\n",
      "Revisa la ortografía y la redacción. Utiliza el corrector de Word para asegurarte de\n",
      "que no has dejado ninguna errata. Una lectura detenida del documento también\n",
      "te ayudará a detectar erratas, omisiones o redundancias. Si es posible, pide a\n",
      "alguien cercano que lo lea y te dé su opinión sobre la redacción. Presta especial\n",
      "atención a los siguientes aspectos:\n",
      "Que los párrafos sigan un orden o hilo argumental lógico.\n",
      "Que la información se presente de una manera que facilite su\n",
      "comprensión, definiendo los conceptos necesarios e incluyendo las citas\n",
      "bibliograficas pertinentes.\n",
      "Elimina párrafos demasiado cortos. Cada párrafo debería tener al menos\n",
      "© Universidad Internacional de La Rioja (UNiR) tres oraciones.\n",
      "Elimina frases superfluas y repeticiones de ideas.\n",
      "Instrucciones para la redacción y elaboración del TfE 7\n",
      "Máster Universitario en Inteligencia Artificial\n"
     ]
    },
    {
     "data": {
      "image/png": "[encoded data, 43852 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ref: \n",
      "- Escribe siempre al menos un párrafo de introducción en cada capítulo o\n",
      "apartado, explicando de qué vas a tratar en esa sección. Evita que\n",
      "aparezcan dos encabezados de nivel consecutivos sin ningún texto entre\n",
      "medias.\n",
      " Repasa las citas bibliográficas. Comprueba que todas ellas son correctas y siguen\n",
      "la normativa que exige la titulación.\n",
      " Asegúrate de que las figuras y las tablas se ven clara y correctamente, e incluyen\n",
      "número y título, así como su procedencia o fuente.\n",
      " Comprueba que los índices se generan correctamente.\n",
      "1.5. Normativa de citas\n",
      "En esta titulación se cita de acuerdo con la normativa APA.\n",
      "Recuerda que tienes una guía con explicaciones y ejemplos en el apartado Citas y\n",
      "bibliografía del aula virtual: https://bibliografiaycitas.unir.net/\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "8\n",
      "Máster Universitario en Inteligencia Artificial\n",
      "paddle_text: \n",
      "Escribe siempre al menos un párrafo de introducción en cada capítulo o\n",
      "apartado,explicando de qué vas a tratar en esa sección. Evita que\n",
      "aparezcan dos encabezados de nivel consecutivos sin ningún texto entre\n",
      "medias.\n",
      "Repasa las citas bibliográficas. Comprueba que todas ellas son correctas y siguen\n",
      "la normativa que exige la titulación.\n",
      "Asegúrate de que las figuras y las tablas se ven clara y correctamente, e incluyen\n",
      "número y título, así como su procedencia o fuente.\n",
      "Comprueba que los índices se generan correctamente.\n",
      "1.5. Normativa adecitas\n",
      "En esta titulacióon se cita de acuerdo con la normativa Apa.\n",
      "Recuerda que tienes una guía con explicaciones y ejemplos en el apartado Citas y\n",
      "bibliografía del aula virtual: https://bibliografiaycitas.unir.net/\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      "Instrucciones para la redacción y elaboración del TfE\n",
      "Máster Universitario en lnteligencia Artificial ∞\n"
     ]
    },
    {
     "data": {
      "image/png": "[encoded data, 84024 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ref: \n",
      "2. Estructura del documento\n",
      "En esta sección se describe con mayor profundidad la estructura y los contenidos\n",
      "esperados en cada apartado de tu TFE.\n",
      "Léela con detenimiento y compárala con la programación semanal que encontrarás\n",
      "en el aula virtual, pues en cada borrador deberás entregar completados diferentes\n",
      "apartados que se explican a continuación, y que se elaboran de una manera no\n",
      "necesariamente lineal.\n",
      "Como ya se ha mencionado, la memoria debe estar estructurada en capítulos. Por\n",
      "norma general, la estructura de capítulos suele reflejar la línea de discurso del\n",
      "trabajo, empezando por una introducción donde se plantea el problema, seguida de\n",
      "un estudio de la literatura donde se estudia y describe el contexto. Posteriormente\n",
      "se establecen claramente la hipótesis de trabajo y los objetivos concretos de\n",
      "investigación, así como la descripción de la metodología seguida para alcanzar los\n",
      "objetivos. Posteriormente se describe la contribución del trabajo, seguida de una\n",
      "evaluación de la misma. La evaluación da pie a la elaboración de las conclusiones,\n",
      "que deben relacionar los resultados obtenidos con los objetivos planteados\n",
      "inicialmente. Finalmente, se describen las líneas de trabajo futuro necesarias para\n",
      "seguir avanzando hacia la consecución de los objetivos.\n",
      "A continuación, te dejamos algunos consejos generales sobre cómo organizar los\n",
      "capítulos, pero ten en cuenta que cada trabajo es único y esta organización es una\n",
      "guía general adaptable. El director específico de tu TFE podrá aportarte consejos\n",
      "sobre cómo organizar la memoria adaptándote al contexto de tu trabajo concreto.\n",
      "Como recomendación general, la estructura de capítulos de tu memoria debería ser\n",
      "similar a la siguiente propuesta:\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      " Organización del trabajo en grupo (solo en trabajos grupales)\n",
      " Capítulo 1 – Introducción\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "9\n",
      "Máster Universitario en Inteligencia Artificial\n",
      "paddle_text: \n",
      "2.E Estructura del documento\n",
      "En esta sección se describe con mayor profundidad la estructura y los contenidos\n",
      "esperados en cada apartado de tu Tfe.\n",
      "Léela con detenimiento y compárala con la programación semanal que encontraras\n",
      "en el aula virtual, pues en cada borrador deberás entregar completados diferentes\n",
      "apartados que se explican a continuación,y que se elaboran de una manera no\n",
      "necesariamente lineal.\n",
      "Como ya se ha mencionado, la memoria debe estar estructurada en capítulos. Por\n",
      "norma general, la estructura de capitulos suele reflejar la linea de discurso del\n",
      "trabajo, empezando por una introducción donde se plantea el problema, seguida de\n",
      "un estudio de la literatura donde se estudia y describe el contexto. Posteriormente\n",
      "se establecen claramente la hipótesis de trabajo y los objetivos concretos de\n",
      "investigación, así como la descripción de la metodología seguida para alcanzar los\n",
      "objetivos. Posteriormente se describe la contribución del trabajo, seguida de una\n",
      "evaluación de la misma. La evaluación da pie a la elaboración de las conclusiones,\n",
      "que deben relacionar los resultados obtenidos con los objetivos planteados\n",
      "inicialmente. Finalmente, se describen las líneas de trabajo futuro necesarias para\n",
      "seguir avanzando hacia la consecución de los objetivos.\n",
      "A continuación, te dejamos algunos consejos generales sobre cómo organizar los\n",
      "capítulos, pero ten en cuenta que cada trabajo es único y esta organización es una\n",
      "guía general adaptable. El director especifico de tu TFE podrá aportarte consejos\n",
      "sobre cómo organizar la memoria adaptándote al contexto de tu trabajo concreto.\n",
      "Como recomendación general, la estructura de capítulos de tu memoria debería ser\n",
      "similar a la siguiente propuesta:\n",
      "© Universidad Internacional de La Rioja (UNiR)\n",
      "Organización del trabajo en grupo (solo en trabajos grupales)\n",
      "Capítulo1–Introducción\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "Máster Universitario en Inteligencia Artificial 6\n"
     ]
    },
    {
     "data": {
      "image/png": "[encoded data, 60800 characters]",
      "text/plain": [
       "<Figure size 372.15x526.2 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ref: \n",
      "Capítulo 2 – Contexto y estado del arte\n",
      " Capítulo 3 – Objetivos y metodología de trabajo\n",
      " Capítulo 4 – capítulo de desarrollo de la contribución, título del capítulo\n",
      "dependiendo de la tipología del trabajo\n",
      " Capítulo 5 – capítulo de desarrollo de la contribución, título del capítulo\n",
      "dependiendo de la tipología del trabajo\n",
      " Capítulo 6 – capítulo de desarrollo de la contribución, título del capítulo\n",
      "dependiendo de la tipología del trabajo\n",
      " Capítulo 7 – Conclusiones y trabajo futuro\n",
      "2.1. Resumen\n",
      "El resumen se redacta en último lugar ya que recoge las contribuciones más\n",
      "importantes del trabajo. Es necesario tener muy clara y completa del documento para\n",
      "poder resumirlo correctamente.\n",
      "Tendrá una extensión de 150 a 300 palabras y deberá ofrecer una visión global de lo\n",
      "que el lector encontrará en el trabajo, destacando sus aspectos fundamentales.\n",
      "Deberás indicar claramente cuál es el objetivo principal del trabajo, la metodología\n",
      "seguida para alcanzarlo, los resultados obtenidos y la principal conclusión alcanzada.\n",
      "A continuación, indicarás de 3 a 5 palabras clave o keywords como descriptores del\n",
      "trabajo que lo enmarcan en unas temáticas determinadas. Serán los utilizados para\n",
      "localizar tu trabajo si llega a ser publicado.\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      "Instrucciones para la redacción y elaboración del TFE\n",
      "10\n",
      "Máster Universitario en Inteligencia Artificial\n",
      "paddle_text: \n",
      "Capitulo 2 – Contexto y estado del arte\n",
      "Capítulo 3 – Objetivos y metodología de trabajo\n",
      "Capítulo 4 – capítulo de desarrollo de la contribución, título del capítulo\n",
      "dependiendo de la tipología del trabajo\n",
      "Capítulo 5 – capítulo de desarrollo de la contribución, título del capítulo\n",
      "dependiendo de la tipología del trabajo\n",
      "Capítulo 6 – capítulo de desarrollo de la contribución, título del capítulo\n",
      "dependiendo de la tipología del trabajo\n",
      "Capítulo 7 – Conclusiones y trabajo futuro\n",
      "2.1. Resumen\n",
      "El resumen se redacta en último lugar ya que recoge las contribuciones más\n",
      "importantes del trabajo. Es necesario tener muy clara y completa del documento para\n",
      "poder resumirlo correctamente.\n",
      "Tendrá una extensión de 150 a 300 palabras y deberá ofrecer una visión global de lo\n",
      "que el lector encontrará en el trabajo,destacando sus aspectos fundamentales.\n",
      "Deberás indicar claramente cuál es el objetivo principal del trabajo, la metodología\n",
      "seguida para alcanzarlo, los resultados obtenidos y la principal conclusión alcanzada.\n",
      "A continuación, indicarás de 3 a 5 palabras clave o keywords como descriptores del\n",
      "trabajo que lo enmarcan en unas temáticas determinadas. Serán los utilizados para\n",
      "localizar tu trabajo si llega a ser publicado.\n",
      "© Universidad Internacional de La Rioja (UNIR)\n",
      "Instrucciones para la redacción y elaboración del TFE 10\n",
      "Máster Universitario en lnteligencia Artificial\n"
     ]
    }
   ],
   "source": [
    "from itertools import islice\n",
    "\n",
    "results = []\n",
    "for img, txt in islice(dataset, 5, 10):\n",
    "    image_array = np.array(img)\n",
    "    out = paddleocr_model.predict(\n",
    "        image_array,\n",
    "        use_doc_orientation_classify=False,\n",
    "        use_doc_unwarping=False,\n",
    "        use_textline_orientation=True\n",
    "    )\n",
    "    show_page(img, 0.15)\n",
    "    print(f\"ref: \\n{txt}\")\n",
    "    paddle_text = assemble_from_paddle_result(out)\n",
    "    print(f\"paddle_text: \\n{paddle_text}\")\n",
    "    results.append({'Model': 'PaddleOCR', 'Prediction': paddle_text, **evaluate_text(txt, paddle_text)})\n",
    "        "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0db6dc74",
   "metadata": {},
   "source": [
    "## 5 Save and Analyze Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "da3155e3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benchmark results saved as ai_ocr_benchmark_finetune_results_20251207_155752.csv\n",
      "                WER       CER\n",
      "Model                        \n",
      "PaddleOCR  0.104067  0.012581\n"
     ]
    },
    {
     "data": {
      "image/png": "[encoded data, 22260 characters]",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_results = pd.DataFrame(results)\n",
    "\n",
    "# Generate a unique filename with timestamp\n",
    "timestamp = datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n",
    "filename = f\"ai_ocr_benchmark_finetune_results_{timestamp}.csv\"\n",
    "filepath = os.path.join(OUTPUT_FOLDER, filename)\n",
    "\n",
    "df_results.to_csv(filepath, index=False)\n",
    "print(f\"Benchmark results saved as {filename}\")\n",
    "\n",
    "# Summary by model\n",
    "summary = df_results.groupby('Model')[['WER', 'CER']].mean()\n",
    "print(summary)\n",
    "\n",
    "# Plot\n",
    "summary.plot(kind='bar', figsize=(8,5), title='AI OCR Benchmark (WER & CER)')\n",
    "plt.ylabel('Error Rate')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e0f00c0",
   "metadata": {},
   "source": [
    "### How to read this chart:\n",
    "- CER (Character Error Rate) focus on raw transcription quality\n",
    "- WER (Word Error Rate) penalizes incorrect tokenization or missing spaces\n",
    "- CER and WER are error metrics, which means:\n",
    "    - Higher values = worse performance\n",
    "    - Lower values = better accuracy"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "830b0e25",
   "metadata": {},
   "source": [
    "# Busqueda de hyperparametros\n",
    "https://docs.ray.io/en/latest/tune/index.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "3a4bd700",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Python 3.11.9\n",
      "pip 25.3 from c:\\Users\\Sergio\\Desktop\\MastersThesis\\.venv\\Lib\\site-packages\\pip (python 3.11)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!python --version\n",
    "!pip --version"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "b0cf4bcf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: ray[tune] in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (2.52.1)\n",
      "Requirement already satisfied: click!=8.3.*,>=7.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (8.2.1)\n",
      "Requirement already satisfied: filelock in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (3.20.0)\n",
      "Requirement already satisfied: jsonschema in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (4.25.1)\n",
      "Requirement already satisfied: msgpack<2.0.0,>=1.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (1.1.2)\n",
      "Requirement already satisfied: packaging in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (25.0)\n",
      "Requirement already satisfied: protobuf>=3.20.3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (6.33.2)\n",
      "Requirement already satisfied: pyyaml in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (6.0.2)\n",
      "Requirement already satisfied: requests in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (2.32.5)\n",
      "Requirement already satisfied: pandas in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (2.3.3)\n",
      "Requirement already satisfied: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (2.12.5)\n",
      "Requirement already satisfied: tensorboardX>=1.9 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (2.6.4)\n",
      "Requirement already satisfied: pyarrow>=9.0.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (22.0.0)\n",
      "Requirement already satisfied: fsspec in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from ray[tune]) (2025.12.0)\n",
      "Requirement already satisfied: annotated-types>=0.6.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3->ray[tune]) (0.7.0)\n",
      "Requirement already satisfied: pydantic-core==2.41.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3->ray[tune]) (2.41.5)\n",
      "Requirement already satisfied: typing-extensions>=4.14.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3->ray[tune]) (4.15.0)\n",
      "Requirement already satisfied: typing-inspection>=0.4.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3->ray[tune]) (0.4.2)\n",
      "Requirement already satisfied: colorama in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from click!=8.3.*,>=7.0->ray[tune]) (0.4.6)\n",
      "Requirement already satisfied: numpy in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from tensorboardX>=1.9->ray[tune]) (2.3.5)\n",
      "Requirement already satisfied: attrs>=22.2.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema->ray[tune]) (25.4.0)\n",
      "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema->ray[tune]) (2025.9.1)\n",
      "Requirement already satisfied: referencing>=0.28.4 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema->ray[tune]) (0.37.0)\n",
      "Requirement already satisfied: rpds-py>=0.7.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from jsonschema->ray[tune]) (0.30.0)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas->ray[tune]) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas->ray[tune]) (2025.2)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from pandas->ray[tune]) (2025.2)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->pandas->ray[tune]) (1.17.0)\n",
      "Requirement already satisfied: charset_normalizer<4,>=2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->ray[tune]) (3.4.4)\n",
      "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->ray[tune]) (3.11)\n",
      "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->ray[tune]) (2.6.0)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from requests->ray[tune]) (2025.11.12)\n",
      "Note: you may need to restart the kernel to use updated packages.\n",
      "Requirement already satisfied: optuna in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (4.6.0)\n",
      "Requirement already satisfied: alembic>=1.5.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (1.17.2)\n",
      "Requirement already satisfied: colorlog in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (6.10.1)\n",
      "Requirement already satisfied: numpy in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (2.3.5)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (25.0)\n",
      "Requirement already satisfied: sqlalchemy>=1.4.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (2.0.44)\n",
      "Requirement already satisfied: tqdm in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (4.67.1)\n",
      "Requirement already satisfied: PyYAML in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from optuna) (6.0.2)\n",
      "Requirement already satisfied: Mako in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from alembic>=1.5.0->optuna) (1.3.10)\n",
      "Requirement already satisfied: typing-extensions>=4.12 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from alembic>=1.5.0->optuna) (4.15.0)\n",
      "Requirement already satisfied: greenlet>=1 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from sqlalchemy>=1.4.2->optuna) (3.3.0)\n",
      "Requirement already satisfied: colorama in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from colorlog->optuna) (0.4.6)\n",
      "Requirement already satisfied: MarkupSafe>=0.9.2 in c:\\users\\sergio\\desktop\\mastersthesis\\.venv\\lib\\site-packages (from Mako->alembic>=1.5.0->optuna) (3.0.3)\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "# Instalación de Ray y Ray Tune\n",
    "%pip install -U \"ray[tune]\"  \n",
    "%pip install optuna"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ae5a10c4",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2025-12-07 19:58:07,710\tINFO worker.py:2023 -- Started a local Ray instance.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ray Tune listo (versión: 2.52.1 )\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\Sergio\\Desktop\\MastersThesis\\.venv\\Lib\\site-packages\\ray\\_private\\worker.py:2062: FutureWarning: Tip: In future versions of Ray, Ray will no longer override accelerator visible devices env var if num_gpus=0 or num_gpus=None (default). To enable this behavior and turn off this error message, set RAY_ACCEL_ENV_VAR_OVERRIDE_ON_ZERO=0\n",
      "  warnings.warn(\n"
     ]
    }
   ],
   "source": [
    "# ===============================================================\n",
    "# 🔍 RAY TUNE: OPTIMIZACIÓN AUTOMÁTICA DE HIPERPARÁMETROS OCR\n",
    "# ===============================================================\n",
    "import ray\n",
    "from ray import tune, air\n",
    "import pandas as pd\n",
    "\n",
    "\n",
    "ray.init(ignore_reinit_error=True)\n",
    "print(\"Ray Tune listo (versión:\", ray.__version__, \")\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "96c320e8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- Configuración base del experimento ---\n",
    "search_space = {\n",
    "    #Whether to use document image orientation classification.\n",
    "    \"use_doc_orientation_classify\": tune.choice([True, False]),    \n",
    "    # Whether to use text image unwarping.\n",
    "    \"use_doc_unwarping\": tune.choice([True, False]),\n",
    "    # Whether to use text line orientation classification.\n",
    "    \"textline_orientation\": tune.choice([True, False]),\n",
    "    # Detection pixel threshold for the text detection model. Pixels with scores greater than this threshold in the output probability map are considered text pixels.\n",
    "    \"text_det_thresh\" : tune.uniform(0.0, 0.7),\n",
    "    # Detection box threshold for the text detection model. A detection result is considered a text region if the average score of all pixels within the border of the result is greater than this threshold.\n",
    "    \"text_det_box_thresh\": tune.uniform(0.0, 0.7),\n",
    "    # Text detection expansion coefficient, which expands the text region using this method. The larger the value, the larger the expansion area.\n",
    "    \"text_det_unclip_ratio\": tune.choice([0.0]),\n",
    "    # Text recognition threshold. Text results with scores greater than this threshold are retained.\n",
    "    \"text_rec_score_thresh\": tune.uniform(0.0, 0.7),\n",
    "}\n",
    "KEYMAP = {\n",
    "    \"textline_orientation\": \"textline-orientation\",\n",
    "    \"use_doc_unwarping\": \"use-doc-unwarping\",\n",
    "    \"use_doc_orientation_classify\": \"use-doc-orientation-classify\",\n",
    "    \"text_det_box_thresh\": \"text-det-box-thresh\",\n",
    "    \"text_det_unclip_ratio\": \"text-det-unclip-ratio\",\n",
    "    \"text_rec_score_thresh\": \"text-rec-score-thresh\",\n",
    "    \"text_det_thresh\": \"text-det-thresh\"\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "accb4e9d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Notebook Python: c:\\Users\\Sergio\\Desktop\\MastersThesis\\.venv\\Scripts\\python.exe\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[36m(pid=gcs_server)\u001b[0m [2025-12-07 15:58:31,070 E 25184 15184] (gcs_server.exe) gcs_server.cc:303: Failed to establish connection to the event+metrics exporter agent. Events and metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[33m(raylet)\u001b[0m [2025-12-07 15:58:32,657 E 10072 20448] (raylet.exe) main.cc:979: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(pid=18776)\u001b[0m [2025-12-07 15:58:36,373 E 18776 26484] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'CER': 0.012581110635031723, 'WER': 0.10406694286511942, 'TIME': 331.0908589363098, 'PAGES': 5, 'TIME_PER_PAGE': 66.11821403503419}\n",
      "return code: 0\n",
      "args: ['c:\\\\Users\\\\Sergio\\\\Desktop\\\\MastersThesis\\\\.venv\\\\Scripts\\\\python.exe', 'c:\\\\Users\\\\Sergio\\\\Desktop\\\\MastersThesis\\\\src\\\\paddle_ocr_tuning.py', '--pdf-folder', 'c:\\\\Users\\\\Sergio\\\\Desktop\\\\MastersThesis\\\\src\\\\dataset', '--textline-orientation', 'True', '--use-doc-unwarping', 'False', '--use-doc-orientation-classify', 'False', '--text-det-box-thresh', '0.0', '--text-det-unclip-ratio', '1.5', '--text-det-thresh', '0.0', '--text-rec-score-thresh', '0.0']\n"
     ]
    }
   ],
   "source": [
    "import sys, subprocess\n",
    "print(\"Notebook Python:\", sys.executable)\n",
    "# test paddle ocr run with params\n",
    "args = [sys.executable, \n",
    "        SCRIPT_ABS, \n",
    "        \"--pdf-folder\", PDF_FOLDER_ABS, \n",
    "        \"--textline-orientation\",\"True\",\n",
    "        \"--use-doc-unwarping\",\"False\",\n",
    "        \"--use-doc-orientation-classify\",\"False\",\n",
    "        \"--text-det-box-thresh\",\"0.0\",\n",
    "        \"--text-det-unclip-ratio\",\"1.5\",\n",
    "        \"--text-det-thresh\", \"0.0\",\n",
    "        \"--text-rec-score-thresh\",\"0.0\"]\n",
    "test_proc = subprocess.run(args, capture_output=True, text=True, cwd=SCRIPT_DIR)\n",
    "if test_proc.returncode != 0:\n",
    "        print(test_proc.stderr)\n",
    "last = test_proc.stdout.strip().splitlines()[-1]\n",
    "\n",
    "metrics = json.loads(last)\n",
    "print(metrics)\n",
    "\n",
    "print(f\"return code: {test_proc.returncode}\")\n",
    "print(f\"args: {args}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "8df28468",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\Sergio\\Desktop\\MastersThesis\\.venv\\Lib\\site-packages\\ray\\tune\\impl\\tuner_internal.py:144: RayDeprecationWarning: The `RunConfig` class should be imported from `ray.tune` when passing it to the Tuner. Please update your imports. See this issue for more context and migration options: https://github.com/ray-project/ray/issues/49454. Disable these warnings by setting the environment variable: RAY_TRAIN_ENABLE_V2_MIGRATION_WARNINGS=0\n",
      "  _log_deprecation_warning(\n",
      "2025-12-07 16:03:56,654\tINFO tune.py:616 -- [output] This uses the legacy output and progress reporter, as Jupyter notebooks are not supported by the new engine, yet. For more information, please see https://github.com/ray-project/ray/issues/36949\n",
      "[I 2025-12-07 16:03:56,662] A new study created in memory with name: optuna\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div class=\"tuneStatus\">\n",
       "  <div style=\"display: flex;flex-direction: row\">\n",
       "    <div style=\"display: flex;flex-direction: column;\">\n",
       "      <h3>Tune Status</h3>\n",
       "      <table>\n",
       "<tbody>\n",
       "<tr><td>Current time:</td><td>2025-12-07 19:23:17</td></tr>\n",
       "<tr><td>Running for: </td><td>03:19:21.23        </td></tr>\n",
       "<tr><td>Memory:      </td><td>4.4/15.9 GiB       </td></tr>\n",
       "</tbody>\n",
       "</table>\n",
       "    </div>\n",
       "    <div class=\"vDivider\"></div>\n",
       "    <div class=\"systemInfo\">\n",
       "      <h3>System Info</h3>\n",
       "      Using FIFO scheduling algorithm.<br>Logical resource usage: 1.0/16 CPUs, 0/1 GPUs (0.0/1.0 accelerator_type:G)\n",
       "    </div>\n",
       "    \n",
       "  </div>\n",
       "  <div class=\"hDivider\"></div>\n",
       "  <div class=\"trialStatus\">\n",
       "    <h3>Trial Status</h3>\n",
       "    <table>\n",
       "<thead>\n",
       "<tr><th>Trial name                   </th><th>status    </th><th>loc            </th><th style=\"text-align: right;\">  text_det_box_thresh</th><th style=\"text-align: right;\">  text_det_thresh</th><th style=\"text-align: right;\">  text_det_unclip_rati\n",
       "o</th><th style=\"text-align: right;\">           text_rec_score_thres\n",
       "h</th><th>textline_orientation  </th><th>use_doc_orientation_\n",
       "classify      </th><th>use_doc_unwarping  </th><th style=\"text-align: right;\">  iter</th><th style=\"text-align: right;\">  total time (s)</th><th style=\"text-align: right;\">      CER</th><th style=\"text-align: right;\">      WER</th><th style=\"text-align: right;\">   TIME</th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "<tr><td>trainable_paddle_ocr_d5238c33</td><td>TERMINATED</td><td>127.0.0.1:19452</td><td style=\"text-align: right;\">          0.623029   </td><td style=\"text-align: right;\">        0.0887821</td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.229944  </td><td>True                  </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         374.278</td><td style=\"text-align: right;\">0.0135159</td><td style=\"text-align: right;\">0.105003 </td><td style=\"text-align: right;\">353.851</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_ea8a2f7a</td><td>TERMINATED</td><td>127.0.0.1:7472 </td><td style=\"text-align: right;\">          0.671201   </td><td style=\"text-align: right;\">        0.393201 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.168802  </td><td>False                 </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         374.3  </td><td style=\"text-align: right;\">0.039052 </td><td style=\"text-align: right;\">0.132086 </td><td style=\"text-align: right;\">354.615</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_ebb12e5b</td><td>TERMINATED</td><td>127.0.0.1:21480</td><td style=\"text-align: right;\">          0.235725   </td><td style=\"text-align: right;\">        0.432878 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.184435  </td><td>True                  </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         379.544</td><td style=\"text-align: right;\">0.0660624</td><td style=\"text-align: right;\">0.166192 </td><td style=\"text-align: right;\">359.097</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_b3775034</td><td>TERMINATED</td><td>127.0.0.1:23084</td><td style=\"text-align: right;\">          0.337744   </td><td style=\"text-align: right;\">        0.0641288</td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.576405  </td><td>False                 </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         356.526</td><td style=\"text-align: right;\">0.418109 </td><td style=\"text-align: right;\">0.50371  </td><td style=\"text-align: right;\">336.661</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_bf10d370</td><td>TERMINATED</td><td>127.0.0.1:26140</td><td style=\"text-align: right;\">          0.690232   </td><td style=\"text-align: right;\">        0.671955 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.39649   </td><td>True                  </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         370.903</td><td style=\"text-align: right;\">0.197252 </td><td style=\"text-align: right;\">0.295353 </td><td style=\"text-align: right;\">350.147</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_111e5a9e</td><td>TERMINATED</td><td>127.0.0.1:20664</td><td style=\"text-align: right;\">          0.483266   </td><td style=\"text-align: right;\">        0.044816 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.546416  </td><td>False                 </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         341.071</td><td style=\"text-align: right;\">0.38641  </td><td style=\"text-align: right;\">0.455836 </td><td style=\"text-align: right;\">320.966</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_415d7ba1</td><td>TERMINATED</td><td>127.0.0.1:23848</td><td style=\"text-align: right;\">          0.523385   </td><td style=\"text-align: right;\">        0.0169971</td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.208331  </td><td>True                  </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         347.299</td><td style=\"text-align: right;\">0.516069 </td><td style=\"text-align: right;\">0.59453  </td><td style=\"text-align: right;\">326.657</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_a58d8109</td><td>TERMINATED</td><td>127.0.0.1:25248</td><td style=\"text-align: right;\">          0.670589   </td><td style=\"text-align: right;\">        0.0402432</td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.188585  </td><td>True                  </td><td>False</td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         346.09 </td><td style=\"text-align: right;\">0.502513 </td><td style=\"text-align: right;\">0.567716 </td><td style=\"text-align: right;\">326.916</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_33bdf2a9</td><td>TERMINATED</td><td>127.0.0.1:24024</td><td style=\"text-align: right;\">          0.490009   </td><td style=\"text-align: right;\">        0.434737 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.151906  </td><td>False                 </td><td>False</td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         388.151</td><td style=\"text-align: right;\">0.0709203</td><td style=\"text-align: right;\">0.17391  </td><td style=\"text-align: right;\">368.571</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_d9df79f3</td><td>TERMINATED</td><td>127.0.0.1:5368 </td><td style=\"text-align: right;\">          0.626194   </td><td style=\"text-align: right;\">        0.178064 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.385477  </td><td>False                 </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         384.677</td><td style=\"text-align: right;\">0.116825 </td><td style=\"text-align: right;\">0.22213  </td><td style=\"text-align: right;\">364.623</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_80ea65f2</td><td>TERMINATED</td><td>127.0.0.1:14064</td><td style=\"text-align: right;\">          0.251382   </td><td style=\"text-align: right;\">        0.601112 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.313124  </td><td>False                 </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         387.679</td><td style=\"text-align: right;\">0.0645948</td><td style=\"text-align: right;\">0.164937 </td><td style=\"text-align: right;\">366.607</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2e978bfa</td><td>TERMINATED</td><td>127.0.0.1:11060</td><td style=\"text-align: right;\">          0.0777319  </td><td style=\"text-align: right;\">        0.234859 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.0236948 </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         380.281</td><td style=\"text-align: right;\">0.0134006</td><td style=\"text-align: right;\">0.107419 </td><td style=\"text-align: right;\">359.597</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8518cc40</td><td>TERMINATED</td><td>127.0.0.1:21016</td><td style=\"text-align: right;\">          0.000241868</td><td style=\"text-align: right;\">        0.222556 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.00289108</td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         368.546</td><td style=\"text-align: right;\">0.0134006</td><td style=\"text-align: right;\">0.107419 </td><td style=\"text-align: right;\">347.929</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2c691aaa</td><td>TERMINATED</td><td>127.0.0.1:21540</td><td style=\"text-align: right;\">          0.0303334  </td><td style=\"text-align: right;\">        0.224727 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.0509969 </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         366.346</td><td style=\"text-align: right;\">0.0134006</td><td style=\"text-align: right;\">0.107419 </td><td style=\"text-align: right;\">347.145</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_31e60691</td><td>TERMINATED</td><td>127.0.0.1:17532</td><td style=\"text-align: right;\">          0.00196041 </td><td style=\"text-align: right;\">        0.259141 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.00350944</td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         368.038</td><td style=\"text-align: right;\">0.0130404</td><td style=\"text-align: right;\">0.104854 </td><td style=\"text-align: right;\">347.22 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_d4d288c6</td><td>TERMINATED</td><td>127.0.0.1:22216</td><td style=\"text-align: right;\">          0.00339892 </td><td style=\"text-align: right;\">        0.273408 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.0154205 </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         368.904</td><td style=\"text-align: right;\">0.0125829</td><td style=\"text-align: right;\">0.10328  </td><td style=\"text-align: right;\">349.232</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_7645b77c</td><td>TERMINATED</td><td>127.0.0.1:2272 </td><td style=\"text-align: right;\">          0.113841   </td><td style=\"text-align: right;\">        0.279242 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.0753151 </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         367.456</td><td style=\"text-align: right;\">0.0125829</td><td style=\"text-align: right;\">0.10328  </td><td style=\"text-align: right;\">346.698</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_3256ae36</td><td>TERMINATED</td><td>127.0.0.1:6604 </td><td style=\"text-align: right;\">          0.129213   </td><td style=\"text-align: right;\">        0.30993  </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.11202   </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         366.002</td><td style=\"text-align: right;\">0.0124076</td><td style=\"text-align: right;\">0.102016 </td><td style=\"text-align: right;\">346.52 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_b0dda58b</td><td>TERMINATED</td><td>127.0.0.1:9732 </td><td style=\"text-align: right;\">          0.117838   </td><td style=\"text-align: right;\">        0.314952 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.682573  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.828</td><td style=\"text-align: right;\">0.0124076</td><td style=\"text-align: right;\">0.102016 </td><td style=\"text-align: right;\">344.029</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e9d40333</td><td>TERMINATED</td><td>127.0.0.1:23416</td><td style=\"text-align: right;\">          0.156939   </td><td style=\"text-align: right;\">        0.530252 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.100194  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.626</td><td style=\"text-align: right;\">0.0124298</td><td style=\"text-align: right;\">0.102051 </td><td style=\"text-align: right;\">346.118</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_aa89fe7a</td><td>TERMINATED</td><td>127.0.0.1:16200</td><td style=\"text-align: right;\">          0.162083   </td><td style=\"text-align: right;\">        0.50397  </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.676539  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         366.753</td><td style=\"text-align: right;\">0.0119907</td><td style=\"text-align: right;\">0.100476 </td><td style=\"text-align: right;\">346.54 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_92c48d07</td><td>TERMINATED</td><td>127.0.0.1:15432</td><td style=\"text-align: right;\">          0.186443   </td><td style=\"text-align: right;\">        0.333219 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.67753   </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.094</td><td style=\"text-align: right;\">0.0119685</td><td style=\"text-align: right;\">0.100441 </td><td style=\"text-align: right;\">345.979</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_187790d7</td><td>TERMINATED</td><td>127.0.0.1:24676</td><td style=\"text-align: right;\">          0.235252   </td><td style=\"text-align: right;\">        0.337251 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.698732  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.474</td><td style=\"text-align: right;\">0.0119685</td><td style=\"text-align: right;\">0.100441 </td><td style=\"text-align: right;\">344.173</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_442a2439</td><td>TERMINATED</td><td>127.0.0.1:7892 </td><td style=\"text-align: right;\">          0.212276   </td><td style=\"text-align: right;\">        0.509804 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.699247  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.755</td><td style=\"text-align: right;\">0.0117601</td><td style=\"text-align: right;\">0.0996499</td><td style=\"text-align: right;\">345.943</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_70862adc</td><td>TERMINATED</td><td>127.0.0.1:15412</td><td style=\"text-align: right;\">          0.216306   </td><td style=\"text-align: right;\">        0.396397 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.685918  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.975</td><td style=\"text-align: right;\">0.0119685</td><td style=\"text-align: right;\">0.100441 </td><td style=\"text-align: right;\">345.403</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e6821f34</td><td>TERMINATED</td><td>127.0.0.1:26088</td><td style=\"text-align: right;\">          0.240775   </td><td style=\"text-align: right;\">        0.366898 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.573762  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.255</td><td style=\"text-align: right;\">0.0124076</td><td style=\"text-align: right;\">0.102016 </td><td style=\"text-align: right;\">345.881</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8b680875</td><td>TERMINATED</td><td>127.0.0.1:1720 </td><td style=\"text-align: right;\">          0.319343   </td><td style=\"text-align: right;\">        0.53125  </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.591253  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         367.203</td><td style=\"text-align: right;\">0.0121992</td><td style=\"text-align: right;\">0.101225 </td><td style=\"text-align: right;\">347.056</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_fc54867b</td><td>TERMINATED</td><td>127.0.0.1:4888 </td><td style=\"text-align: right;\">          0.304286   </td><td style=\"text-align: right;\">        0.503408 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.502491  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         368.736</td><td style=\"text-align: right;\">0.0124298</td><td style=\"text-align: right;\">0.102051 </td><td style=\"text-align: right;\">349.607</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_c32d0d5e</td><td>TERMINATED</td><td>127.0.0.1:25808</td><td style=\"text-align: right;\">          0.398489   </td><td style=\"text-align: right;\">        0.153007 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.516768  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.423</td><td style=\"text-align: right;\">0.0133855</td><td style=\"text-align: right;\">0.109273 </td><td style=\"text-align: right;\">343.855</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_4762fbbb</td><td>TERMINATED</td><td>127.0.0.1:20760</td><td style=\"text-align: right;\">          0.40101    </td><td style=\"text-align: right;\">        0.133426 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.618812  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         363.326</td><td style=\"text-align: right;\">0.0135372</td><td style=\"text-align: right;\">0.108525 </td><td style=\"text-align: right;\">344.601</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_522ac97c</td><td>TERMINATED</td><td>127.0.0.1:2372 </td><td style=\"text-align: right;\">          0.402755   </td><td style=\"text-align: right;\">        0.448976 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.642637  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.72 </td><td style=\"text-align: right;\">0.0117638</td><td style=\"text-align: right;\">0.099689 </td><td style=\"text-align: right;\">344.038</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_5784f433</td><td>TERMINATED</td><td>127.0.0.1:22900</td><td style=\"text-align: right;\">          0.192769   </td><td style=\"text-align: right;\">        0.46205  </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.632828  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         362.93 </td><td style=\"text-align: right;\">0.0116503</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">343.513</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_83af0528</td><td>TERMINATED</td><td>127.0.0.1:9832 </td><td style=\"text-align: right;\">          0.184587   </td><td style=\"text-align: right;\">        0.466314 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.629921  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.585</td><td style=\"text-align: right;\">0.0116503</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">343.81 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_12cbaa22</td><td>TERMINATED</td><td>127.0.0.1:5968 </td><td style=\"text-align: right;\">          0.405622   </td><td style=\"text-align: right;\">        0.472779 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.631499  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.247</td><td style=\"text-align: right;\">0.0116503</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">344.114</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_a3a87765</td><td>TERMINATED</td><td>127.0.0.1:24372</td><td style=\"text-align: right;\">          0.28557    </td><td style=\"text-align: right;\">        0.4501   </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.635152  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         369.274</td><td style=\"text-align: right;\">0.0117638</td><td style=\"text-align: right;\">0.099689 </td><td style=\"text-align: right;\">348.58 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_cf2bad0c</td><td>TERMINATED</td><td>127.0.0.1:3272 </td><td style=\"text-align: right;\">          0.283661   </td><td style=\"text-align: right;\">        0.589012 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.460291  </td><td>False                 </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         366.188</td><td style=\"text-align: right;\">0.044199 </td><td style=\"text-align: right;\">0.132047 </td><td style=\"text-align: right;\">347.034</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_9a9b91e7</td><td>TERMINATED</td><td>127.0.0.1:2272 </td><td style=\"text-align: right;\">          0.364609   </td><td style=\"text-align: right;\">        0.608959 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.465225  </td><td>False                 </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.017</td><td style=\"text-align: right;\">0.044199 </td><td style=\"text-align: right;\">0.132047 </td><td style=\"text-align: right;\">343.539</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e326d901</td><td>TERMINATED</td><td>127.0.0.1:24932</td><td style=\"text-align: right;\">          0.373537   </td><td style=\"text-align: right;\">        0.593229 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.463688  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.428</td><td style=\"text-align: right;\">0.0121992</td><td style=\"text-align: right;\">0.101225 </td><td style=\"text-align: right;\">345.762</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_ccb3f19a</td><td>TERMINATED</td><td>127.0.0.1:1104 </td><td style=\"text-align: right;\">          0.453777   </td><td style=\"text-align: right;\">        0.686641 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.305928  </td><td>True                  </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.147</td><td style=\"text-align: right;\">0.0119903</td><td style=\"text-align: right;\">0.0991043</td><td style=\"text-align: right;\">344.408</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8c12c55f</td><td>TERMINATED</td><td>127.0.0.1:19700</td><td style=\"text-align: right;\">          0.444416   </td><td style=\"text-align: right;\">        0.67104  </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.264132  </td><td>True                  </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         363.297</td><td style=\"text-align: right;\">0.0121862</td><td style=\"text-align: right;\">0.101228 </td><td style=\"text-align: right;\">343.939</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_5a62d5b6</td><td>TERMINATED</td><td>127.0.0.1:26528</td><td style=\"text-align: right;\">          0.201047   </td><td style=\"text-align: right;\">        0.404141 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.599257  </td><td>True                  </td><td>True </td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         380.333</td><td style=\"text-align: right;\">0.0662709</td><td style=\"text-align: right;\">0.168515 </td><td style=\"text-align: right;\">359.467</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_bb4495b7</td><td>TERMINATED</td><td>127.0.0.1:21772</td><td style=\"text-align: right;\">          0.576439   </td><td style=\"text-align: right;\">        0.390737 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.541396  </td><td>False                 </td><td>False</td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         375.977</td><td style=\"text-align: right;\">0.0707008</td><td style=\"text-align: right;\">0.17391  </td><td style=\"text-align: right;\">356.322</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_9d90711d</td><td>TERMINATED</td><td>127.0.0.1:17592</td><td style=\"text-align: right;\">          0.541158   </td><td style=\"text-align: right;\">        0.468954 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.635015  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.77 </td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">344.718</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_daaec3f8</td><td>TERMINATED</td><td>127.0.0.1:21292</td><td style=\"text-align: right;\">          0.521341   </td><td style=\"text-align: right;\">        0.474351 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.644567  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         363.019</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">343.697</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_51fb5915</td><td>TERMINATED</td><td>127.0.0.1:21772</td><td style=\"text-align: right;\">          0.58105    </td><td style=\"text-align: right;\">        0.485412 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.64636   </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.02 </td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">343.604</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_18966a33</td><td>TERMINATED</td><td>127.0.0.1:16900</td><td style=\"text-align: right;\">          0.51329    </td><td style=\"text-align: right;\">        0.550159 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.648982  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         363.337</td><td style=\"text-align: right;\">0.0116449</td><td style=\"text-align: right;\">0.0996499</td><td style=\"text-align: right;\">344.261</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_b67080f9</td><td>TERMINATED</td><td>127.0.0.1:20948</td><td style=\"text-align: right;\">          0.576074   </td><td style=\"text-align: right;\">        0.553412 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.560972  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         366.019</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">0.102051 </td><td style=\"text-align: right;\">345.495</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2533f368</td><td>TERMINATED</td><td>127.0.0.1:11208</td><td style=\"text-align: right;\">          0.524608   </td><td style=\"text-align: right;\">        0.557227 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.558307  </td><td>True                  </td><td>False</td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         371.205</td><td style=\"text-align: right;\">0.0720912</td><td style=\"text-align: right;\">0.179189 </td><td style=\"text-align: right;\">351.967</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_451d018d</td><td>TERMINATED</td><td>127.0.0.1:3616 </td><td style=\"text-align: right;\">          0.549464   </td><td style=\"text-align: right;\">        0.634019 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.652105  </td><td>False                 </td><td>False</td><td>True               </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         378.827</td><td style=\"text-align: right;\">0.0647995</td><td style=\"text-align: right;\">0.164937 </td><td style=\"text-align: right;\">357.17 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2256e752</td><td>TERMINATED</td><td>127.0.0.1:25468</td><td style=\"text-align: right;\">          0.622863   </td><td style=\"text-align: right;\">        0.647804 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.654609  </td><td>False                 </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         369.88 </td><td style=\"text-align: right;\">0.0442921</td><td style=\"text-align: right;\">0.132838 </td><td style=\"text-align: right;\">349.417</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_0a892729</td><td>TERMINATED</td><td>127.0.0.1:26212</td><td style=\"text-align: right;\">          0.542929   </td><td style=\"text-align: right;\">        0.421733 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.601587  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         367.237</td><td style=\"text-align: right;\">0.0122923</td><td style=\"text-align: right;\">0.102016 </td><td style=\"text-align: right;\">346.072</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_495075f5</td><td>TERMINATED</td><td>127.0.0.1:23604</td><td style=\"text-align: right;\">          0.631875   </td><td style=\"text-align: right;\">        0.418675 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.595618  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.536</td><td style=\"text-align: right;\">0.0122923</td><td style=\"text-align: right;\">0.102016 </td><td style=\"text-align: right;\">346.425</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_54c45552</td><td>TERMINATED</td><td>127.0.0.1:25352</td><td style=\"text-align: right;\">          0.619687   </td><td style=\"text-align: right;\">        0.463823 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.612612  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         367.947</td><td style=\"text-align: right;\">0.0119742</td><td style=\"text-align: right;\">0.100476 </td><td style=\"text-align: right;\">346.941</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_6b2e9b93</td><td>TERMINATED</td><td>127.0.0.1:25400</td><td style=\"text-align: right;\">          0.48925    </td><td style=\"text-align: right;\">        0.475185 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.515482  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.989</td><td style=\"text-align: right;\">0.0119742</td><td style=\"text-align: right;\">0.100476 </td><td style=\"text-align: right;\">346.414</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e9a6b81f</td><td>TERMINATED</td><td>127.0.0.1:4036 </td><td style=\"text-align: right;\">          0.492552   </td><td style=\"text-align: right;\">        0.48793  </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.648349  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         367.332</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">346.259</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_076c5450</td><td>TERMINATED</td><td>127.0.0.1:4832 </td><td style=\"text-align: right;\">          0.588133   </td><td style=\"text-align: right;\">        0.488422 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.656919  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         365.188</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">0.0989016</td><td style=\"text-align: right;\">345.843</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_4a42a3ea</td><td>TERMINATED</td><td>127.0.0.1:14912</td><td style=\"text-align: right;\">          0.594041   </td><td style=\"text-align: right;\">        0.559036 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.657323  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         370.997</td><td style=\"text-align: right;\">0.0118754</td><td style=\"text-align: right;\">0.100476 </td><td style=\"text-align: right;\">350.244</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_041795f1</td><td>TERMINATED</td><td>127.0.0.1:22372</td><td style=\"text-align: right;\">          0.661744   </td><td style=\"text-align: right;\">        0.565009 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.66295   </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         370.946</td><td style=\"text-align: right;\">0.0120801</td><td style=\"text-align: right;\">0.100476 </td><td style=\"text-align: right;\">351.5  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8abb3f37</td><td>TERMINATED</td><td>127.0.0.1:22012</td><td style=\"text-align: right;\">          0.463682   </td><td style=\"text-align: right;\">        0.489821 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.394583  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.675</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">0.102051 </td><td style=\"text-align: right;\">343.539</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_f2cb682e</td><td>TERMINATED</td><td>127.0.0.1:5752 </td><td style=\"text-align: right;\">          0.452248   </td><td style=\"text-align: right;\">        0.491795 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.425971  </td><td>True                  </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         364.908</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">0.102051 </td><td style=\"text-align: right;\">345.592</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_463fe5e7</td><td>TERMINATED</td><td>127.0.0.1:16524</td><td style=\"text-align: right;\">          0.520238   </td><td style=\"text-align: right;\">        0.537344 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.534057  </td><td>True                  </td><td>True </td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         370.564</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">0.102051 </td><td style=\"text-align: right;\">349.509</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_88bbe87d</td><td>TERMINATED</td><td>127.0.0.1:15084</td><td style=\"text-align: right;\">          0.511078   </td><td style=\"text-align: right;\">        0.527459 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.536896  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         369.55 </td><td style=\"text-align: right;\">0.0120839</td><td style=\"text-align: right;\">0.101225 </td><td style=\"text-align: right;\">350.144</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_33ea1cc6</td><td>TERMINATED</td><td>127.0.0.1:17380</td><td style=\"text-align: right;\">          0.515807   </td><td style=\"text-align: right;\">        0.522992 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.667966  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         376.746</td><td style=\"text-align: right;\">0.0118754</td><td style=\"text-align: right;\">0.100476 </td><td style=\"text-align: right;\">355.524</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_1243723e</td><td>TERMINATED</td><td>127.0.0.1:11232</td><td style=\"text-align: right;\">          0.557315   </td><td style=\"text-align: right;\">        0.372677 </td><td style=\"text-align: right;\">0</td><td style=\"text-align: right;\">0.676613  </td><td>True                  </td><td>False</td><td>False              </td><td style=\"text-align: right;\">     1</td><td style=\"text-align: right;\">         375.444</td><td style=\"text-align: right;\">0.0118532</td><td style=\"text-align: right;\">0.100441 </td><td style=\"text-align: right;\">355.679</td></tr>\n",
       "</tbody>\n",
       "</table>\n",
       "  </div>\n",
       "</div>\n",
       "<style>\n",
       ".tuneStatus {\n",
       "  color: var(--jp-ui-font-color1);\n",
       "}\n",
       ".tuneStatus .systemInfo {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       ".tuneStatus td {\n",
       "  white-space: nowrap;\n",
       "}\n",
       ".tuneStatus .trialStatus {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       ".tuneStatus h3 {\n",
       "  font-weight: bold;\n",
       "}\n",
       ".tuneStatus .hDivider {\n",
       "  border-bottom-width: var(--jp-border-width);\n",
       "  border-bottom-color: var(--jp-border-color0);\n",
       "  border-bottom-style: solid;\n",
       "}\n",
       ".tuneStatus .vDivider {\n",
       "  border-left-width: var(--jp-border-width);\n",
       "  border-left-color: var(--jp-border-color0);\n",
       "  border-left-style: solid;\n",
       "  margin: 0.5em 1em 0.5em 1em;\n",
       "}\n",
       "</style>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2025-12-07 16:03:56,713\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d5238c33_1_text_det_box_thresh=0.6230,text_det_thresh=0.0888,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-03-56\n",
      "2025-12-07 16:03:56,718\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d5238c33_1_text_det_box_thresh=0.6230,text_det_thresh=0.0888,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-03-56\n",
      "2025-12-07 16:04:01,625\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d5238c33_1_text_det_box_thresh=0.6230,text_det_thresh=0.0888,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-03-56\n",
      "2025-12-07 16:04:01,626\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d5238c33_1_text_det_box_thresh=0.6230,text_det_thresh=0.0888,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-03-56\n",
      "2025-12-07 16:04:01,639\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ea8a2f7a_2_text_det_box_thresh=0.6712,text_det_thresh=0.3932,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-04-01\n",
      "2025-12-07 16:04:01,642\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ea8a2f7a_2_text_det_box_thresh=0.6712,text_det_thresh=0.3932,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-04-01\n",
      "2025-12-07 16:04:06,097\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ea8a2f7a_2_text_det_box_thresh=0.6712,text_det_thresh=0.3932,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-04-01\n",
      "2025-12-07 16:04:06,097\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ea8a2f7a_2_text_det_box_thresh=0.6712,text_det_thresh=0.3932,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-04-01\n",
      "\u001b[36m(trainable_paddle_ocr pid=19452)\u001b[0m [2025-12-07 16:04:31,654 E 19452 19604] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=7472)\u001b[0m [2025-12-07 16:04:37,442 E 7472 7092] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div class=\"trialProgress\">\n",
       "  <h3>Trial Progress</h3>\n",
       "  <table>\n",
       "<thead>\n",
       "<tr><th>Trial name                   </th><th style=\"text-align: right;\">      CER</th><th style=\"text-align: right;\">  PAGES</th><th style=\"text-align: right;\">   TIME</th><th style=\"text-align: right;\">  TIME_PER_PAGE</th><th style=\"text-align: right;\">      WER</th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "<tr><td>trainable_paddle_ocr_041795f1</td><td style=\"text-align: right;\">0.0120801</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">351.5  </td><td style=\"text-align: right;\">        70.1901</td><td style=\"text-align: right;\">0.100476 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_076c5450</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.843</td><td style=\"text-align: right;\">        69.0678</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_0a892729</td><td style=\"text-align: right;\">0.0122923</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.072</td><td style=\"text-align: right;\">        69.1243</td><td style=\"text-align: right;\">0.102016 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_111e5a9e</td><td style=\"text-align: right;\">0.38641  </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">320.966</td><td style=\"text-align: right;\">        64.0952</td><td style=\"text-align: right;\">0.455836 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_1243723e</td><td style=\"text-align: right;\">0.0118532</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">355.679</td><td style=\"text-align: right;\">        71.0243</td><td style=\"text-align: right;\">0.100441 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_12cbaa22</td><td style=\"text-align: right;\">0.0116503</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.114</td><td style=\"text-align: right;\">        68.724 </td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_187790d7</td><td style=\"text-align: right;\">0.0119685</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.173</td><td style=\"text-align: right;\">        68.7423</td><td style=\"text-align: right;\">0.100441 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_18966a33</td><td style=\"text-align: right;\">0.0116449</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.261</td><td style=\"text-align: right;\">        68.7594</td><td style=\"text-align: right;\">0.0996499</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2256e752</td><td style=\"text-align: right;\">0.0442921</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">349.417</td><td style=\"text-align: right;\">        69.7759</td><td style=\"text-align: right;\">0.132838 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2533f368</td><td style=\"text-align: right;\">0.0720912</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">351.967</td><td style=\"text-align: right;\">        70.2954</td><td style=\"text-align: right;\">0.179189 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2c691aaa</td><td style=\"text-align: right;\">0.0134006</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">347.145</td><td style=\"text-align: right;\">        69.3242</td><td style=\"text-align: right;\">0.107419 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_2e978bfa</td><td style=\"text-align: right;\">0.0134006</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">359.597</td><td style=\"text-align: right;\">        71.8043</td><td style=\"text-align: right;\">0.107419 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_31e60691</td><td style=\"text-align: right;\">0.0130404</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">347.22 </td><td style=\"text-align: right;\">        69.3455</td><td style=\"text-align: right;\">0.104854 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_3256ae36</td><td style=\"text-align: right;\">0.0124076</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.52 </td><td style=\"text-align: right;\">        69.1998</td><td style=\"text-align: right;\">0.102016 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_33bdf2a9</td><td style=\"text-align: right;\">0.0709203</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">368.571</td><td style=\"text-align: right;\">        73.625 </td><td style=\"text-align: right;\">0.17391  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_33ea1cc6</td><td style=\"text-align: right;\">0.0118754</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">355.524</td><td style=\"text-align: right;\">        71.0081</td><td style=\"text-align: right;\">0.100476 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_415d7ba1</td><td style=\"text-align: right;\">0.516069 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">326.657</td><td style=\"text-align: right;\">        65.2351</td><td style=\"text-align: right;\">0.59453  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_442a2439</td><td style=\"text-align: right;\">0.0117601</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.943</td><td style=\"text-align: right;\">        69.0839</td><td style=\"text-align: right;\">0.0996499</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_451d018d</td><td style=\"text-align: right;\">0.0647995</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">357.17 </td><td style=\"text-align: right;\">        71.3372</td><td style=\"text-align: right;\">0.164937 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_463fe5e7</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">349.509</td><td style=\"text-align: right;\">        69.8077</td><td style=\"text-align: right;\">0.102051 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_4762fbbb</td><td style=\"text-align: right;\">0.0135372</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.601</td><td style=\"text-align: right;\">        68.8145</td><td style=\"text-align: right;\">0.108525 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_495075f5</td><td style=\"text-align: right;\">0.0122923</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.425</td><td style=\"text-align: right;\">        69.1919</td><td style=\"text-align: right;\">0.102016 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_4a42a3ea</td><td style=\"text-align: right;\">0.0118754</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">350.244</td><td style=\"text-align: right;\">        69.9484</td><td style=\"text-align: right;\">0.100476 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_51fb5915</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.604</td><td style=\"text-align: right;\">        68.6293</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_522ac97c</td><td style=\"text-align: right;\">0.0117638</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.038</td><td style=\"text-align: right;\">        68.7183</td><td style=\"text-align: right;\">0.099689 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_54c45552</td><td style=\"text-align: right;\">0.0119742</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.941</td><td style=\"text-align: right;\">        69.2981</td><td style=\"text-align: right;\">0.100476 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_5784f433</td><td style=\"text-align: right;\">0.0116503</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.513</td><td style=\"text-align: right;\">        68.6003</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_5a62d5b6</td><td style=\"text-align: right;\">0.0662709</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">359.467</td><td style=\"text-align: right;\">        71.7971</td><td style=\"text-align: right;\">0.168515 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_6b2e9b93</td><td style=\"text-align: right;\">0.0119742</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.414</td><td style=\"text-align: right;\">        69.1859</td><td style=\"text-align: right;\">0.100476 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_70862adc</td><td style=\"text-align: right;\">0.0119685</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.403</td><td style=\"text-align: right;\">        68.9856</td><td style=\"text-align: right;\">0.100441 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_7645b77c</td><td style=\"text-align: right;\">0.0125829</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.698</td><td style=\"text-align: right;\">        69.2407</td><td style=\"text-align: right;\">0.10328  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_80ea65f2</td><td style=\"text-align: right;\">0.0645948</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">366.607</td><td style=\"text-align: right;\">        73.222 </td><td style=\"text-align: right;\">0.164937 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_83af0528</td><td style=\"text-align: right;\">0.0116503</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.81 </td><td style=\"text-align: right;\">        68.6691</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8518cc40</td><td style=\"text-align: right;\">0.0134006</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">347.929</td><td style=\"text-align: right;\">        69.49  </td><td style=\"text-align: right;\">0.107419 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_88bbe87d</td><td style=\"text-align: right;\">0.0120839</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">350.144</td><td style=\"text-align: right;\">        69.9281</td><td style=\"text-align: right;\">0.101225 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8abb3f37</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.539</td><td style=\"text-align: right;\">        68.6134</td><td style=\"text-align: right;\">0.102051 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8b680875</td><td style=\"text-align: right;\">0.0121992</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">347.056</td><td style=\"text-align: right;\">        69.3187</td><td style=\"text-align: right;\">0.101225 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_8c12c55f</td><td style=\"text-align: right;\">0.0121862</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.939</td><td style=\"text-align: right;\">        68.6927</td><td style=\"text-align: right;\">0.101228 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_92c48d07</td><td style=\"text-align: right;\">0.0119685</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.979</td><td style=\"text-align: right;\">        69.0932</td><td style=\"text-align: right;\">0.100441 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_9a9b91e7</td><td style=\"text-align: right;\">0.044199 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.539</td><td style=\"text-align: right;\">        68.6156</td><td style=\"text-align: right;\">0.132047 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_9d90711d</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.718</td><td style=\"text-align: right;\">        68.8583</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_a3a87765</td><td style=\"text-align: right;\">0.0117638</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">348.58 </td><td style=\"text-align: right;\">        69.6186</td><td style=\"text-align: right;\">0.099689 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_a58d8109</td><td style=\"text-align: right;\">0.502513 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">326.916</td><td style=\"text-align: right;\">        65.2834</td><td style=\"text-align: right;\">0.567716 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_aa89fe7a</td><td style=\"text-align: right;\">0.0119907</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.54 </td><td style=\"text-align: right;\">        69.2183</td><td style=\"text-align: right;\">0.100476 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_b0dda58b</td><td style=\"text-align: right;\">0.0124076</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.029</td><td style=\"text-align: right;\">        68.7135</td><td style=\"text-align: right;\">0.102016 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_b3775034</td><td style=\"text-align: right;\">0.418109 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">336.661</td><td style=\"text-align: right;\">        67.2269</td><td style=\"text-align: right;\">0.50371  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_b67080f9</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.495</td><td style=\"text-align: right;\">        69.0121</td><td style=\"text-align: right;\">0.102051 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_bb4495b7</td><td style=\"text-align: right;\">0.0707008</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">356.322</td><td style=\"text-align: right;\">        71.1644</td><td style=\"text-align: right;\">0.17391  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_bf10d370</td><td style=\"text-align: right;\">0.197252 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">350.147</td><td style=\"text-align: right;\">        69.9364</td><td style=\"text-align: right;\">0.295353 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_c32d0d5e</td><td style=\"text-align: right;\">0.0133855</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.855</td><td style=\"text-align: right;\">        68.6756</td><td style=\"text-align: right;\">0.109273 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_ccb3f19a</td><td style=\"text-align: right;\">0.0119903</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">344.408</td><td style=\"text-align: right;\">        68.7897</td><td style=\"text-align: right;\">0.0991043</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_cf2bad0c</td><td style=\"text-align: right;\">0.044199 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">347.034</td><td style=\"text-align: right;\">        69.311 </td><td style=\"text-align: right;\">0.132047 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_d4d288c6</td><td style=\"text-align: right;\">0.0125829</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">349.232</td><td style=\"text-align: right;\">        69.7463</td><td style=\"text-align: right;\">0.10328  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_d5238c33</td><td style=\"text-align: right;\">0.0135159</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">353.851</td><td style=\"text-align: right;\">        70.6623</td><td style=\"text-align: right;\">0.105003 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_d9df79f3</td><td style=\"text-align: right;\">0.116825 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">364.623</td><td style=\"text-align: right;\">        72.8248</td><td style=\"text-align: right;\">0.22213  </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_daaec3f8</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">343.697</td><td style=\"text-align: right;\">        68.6424</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e326d901</td><td style=\"text-align: right;\">0.0121992</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.762</td><td style=\"text-align: right;\">        69.0578</td><td style=\"text-align: right;\">0.101225 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e6821f34</td><td style=\"text-align: right;\">0.0124076</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.881</td><td style=\"text-align: right;\">        69.0774</td><td style=\"text-align: right;\">0.102016 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e9a6b81f</td><td style=\"text-align: right;\">0.0115351</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.259</td><td style=\"text-align: right;\">        69.1552</td><td style=\"text-align: right;\">0.0989016</td></tr>\n",
       "<tr><td>trainable_paddle_ocr_e9d40333</td><td style=\"text-align: right;\">0.0124298</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">346.118</td><td style=\"text-align: right;\">        69.1253</td><td style=\"text-align: right;\">0.102051 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_ea8a2f7a</td><td style=\"text-align: right;\">0.039052 </td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">354.615</td><td style=\"text-align: right;\">        70.8221</td><td style=\"text-align: right;\">0.132086 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_ebb12e5b</td><td style=\"text-align: right;\">0.0660624</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">359.097</td><td style=\"text-align: right;\">        71.7257</td><td style=\"text-align: right;\">0.166192 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_f2cb682e</td><td style=\"text-align: right;\">0.0123145</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">345.592</td><td style=\"text-align: right;\">        69.0238</td><td style=\"text-align: right;\">0.102051 </td></tr>\n",
       "<tr><td>trainable_paddle_ocr_fc54867b</td><td style=\"text-align: right;\">0.0124298</td><td style=\"text-align: right;\">      5</td><td style=\"text-align: right;\">349.607</td><td style=\"text-align: right;\">        69.8253</td><td style=\"text-align: right;\">0.102051 </td></tr>\n",
       "</tbody>\n",
       "</table>\n",
       "</div>\n",
       "<style>\n",
       ".trialProgress {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  color: var(--jp-ui-font-color1);\n",
       "}\n",
       ".trialProgress h3 {\n",
       "  font-weight: bold;\n",
       "}\n",
       ".trialProgress td {\n",
       "  white-space: nowrap;\n",
       "}\n",
       "</style>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2025-12-07 16:10:15,969\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d5238c33_1_text_det_box_thresh=0.6230,text_det_thresh=0.0888,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-03-56\n",
      "2025-12-07 16:10:16,056\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ebb12e5b_3_text_det_box_thresh=0.2357,text_det_thresh=0.4329,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-16\n",
      "2025-12-07 16:10:16,063\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ebb12e5b_3_text_det_box_thresh=0.2357,text_det_thresh=0.4329,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-16\n",
      "2025-12-07 16:10:20,414\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ea8a2f7a_2_text_det_box_thresh=0.6712,text_det_thresh=0.3932,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-04-01\n",
      "2025-12-07 16:10:22,097\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ebb12e5b_3_text_det_box_thresh=0.2357,text_det_thresh=0.4329,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-16\n",
      "2025-12-07 16:10:22,097\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ebb12e5b_3_text_det_box_thresh=0.2357,text_det_thresh=0.4329,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-16\n",
      "2025-12-07 16:10:22,097\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b3775034_4_text_det_box_thresh=0.3377,text_det_thresh=0.0641,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-22\n",
      "2025-12-07 16:10:22,097\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b3775034_4_text_det_box_thresh=0.3377,text_det_thresh=0.0641,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-22\n",
      "2025-12-07 16:10:26,662\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b3775034_4_text_det_box_thresh=0.3377,text_det_thresh=0.0641,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-22\n",
      "2025-12-07 16:10:26,664\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b3775034_4_text_det_box_thresh=0.3377,text_det_thresh=0.0641,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-22\n",
      "\u001b[36m(trainable_paddle_ocr pid=21480)\u001b[0m [2025-12-07 16:10:51,593 E 21480 13444] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=23084)\u001b[0m [2025-12-07 16:10:56,943 E 23084 15580] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:16:23,218\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b3775034_4_text_det_box_thresh=0.3377,text_det_thresh=0.0641,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-22\n",
      "2025-12-07 16:16:23,261\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bf10d370_5_text_det_box_thresh=0.6902,text_det_thresh=0.6720,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-23\n",
      "2025-12-07 16:16:23,263\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bf10d370_5_text_det_box_thresh=0.6902,text_det_thresh=0.6720,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-23\n",
      "2025-12-07 16:16:28,918\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bf10d370_5_text_det_box_thresh=0.6902,text_det_thresh=0.6720,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-23\n",
      "2025-12-07 16:16:28,918\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bf10d370_5_text_det_box_thresh=0.6902,text_det_thresh=0.6720,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-23\n",
      "2025-12-07 16:16:41,652\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ebb12e5b_3_text_det_box_thresh=0.2357,text_det_thresh=0.4329,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-10-16\n",
      "2025-12-07 16:16:41,663\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_111e5a9e_6_text_det_box_thresh=0.4833,text_det_thresh=0.0448,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-41\n",
      "2025-12-07 16:16:41,665\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_111e5a9e_6_text_det_box_thresh=0.4833,text_det_thresh=0.0448,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-41\n",
      "2025-12-07 16:16:46,207\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_111e5a9e_6_text_det_box_thresh=0.4833,text_det_thresh=0.0448,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-41\n",
      "2025-12-07 16:16:46,207\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_111e5a9e_6_text_det_box_thresh=0.4833,text_det_thresh=0.0448,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-41\n",
      "\u001b[36m(trainable_paddle_ocr pid=26140)\u001b[0m [2025-12-07 16:16:58,481 E 26140 16220] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=20664)\u001b[0m [2025-12-07 16:17:16,506 E 20664 20720] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:22:27,297\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_111e5a9e_6_text_det_box_thresh=0.4833,text_det_thresh=0.0448,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-41\n",
      "2025-12-07 16:22:27,312\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_415d7ba1_7_text_det_box_thresh=0.5234,text_det_thresh=0.0170,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-27\n",
      "2025-12-07 16:22:27,316\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_415d7ba1_7_text_det_box_thresh=0.5234,text_det_thresh=0.0170,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-27\n",
      "2025-12-07 16:22:32,726\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_415d7ba1_7_text_det_box_thresh=0.5234,text_det_thresh=0.0170,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-27\n",
      "2025-12-07 16:22:32,728\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_415d7ba1_7_text_det_box_thresh=0.5234,text_det_thresh=0.0170,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-27\n",
      "2025-12-07 16:22:39,838\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bf10d370_5_text_det_box_thresh=0.6902,text_det_thresh=0.6720,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-16-23\n",
      "2025-12-07 16:22:39,854\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a58d8109_8_text_det_box_thresh=0.6706,text_det_thresh=0.0402,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-39\n",
      "2025-12-07 16:22:39,854\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a58d8109_8_text_det_box_thresh=0.6706,text_det_thresh=0.0402,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-39\n",
      "2025-12-07 16:22:44,482\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a58d8109_8_text_det_box_thresh=0.6706,text_det_thresh=0.0402,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-39\n",
      "2025-12-07 16:22:44,484\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a58d8109_8_text_det_box_thresh=0.6706,text_det_thresh=0.0402,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-39\n",
      "\u001b[36m(trainable_paddle_ocr pid=23848)\u001b[0m [2025-12-07 16:23:02,571 E 23848 12908] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=25248)\u001b[0m [2025-12-07 16:23:14,789 E 25248 4036] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:28:20,034\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_415d7ba1_7_text_det_box_thresh=0.5234,text_det_thresh=0.0170,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-27\n",
      "2025-12-07 16:28:20,052\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33bdf2a9_9_text_det_box_thresh=0.4900,text_det_thresh=0.4347,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-28-20\n",
      "2025-12-07 16:28:20,055\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33bdf2a9_9_text_det_box_thresh=0.4900,text_det_thresh=0.4347,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-28-20\n",
      "2025-12-07 16:28:24,790\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33bdf2a9_9_text_det_box_thresh=0.4900,text_det_thresh=0.4347,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-28-20\n",
      "2025-12-07 16:28:24,790\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33bdf2a9_9_text_det_box_thresh=0.4900,text_det_thresh=0.4347,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-28-20\n",
      "2025-12-07 16:28:30,585\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a58d8109_8_text_det_box_thresh=0.6706,text_det_thresh=0.0402,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-22-39\n",
      "2025-12-07 16:28:30,605\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d9df79f3_10_text_det_box_thresh=0.6262,text_det_thresh=0.1781,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-28-30\n",
      "2025-12-07 16:28:30,607\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d9df79f3_10_text_det_box_thresh=0.6262,text_det_thresh=0.1781,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-28-30\n",
      "2025-12-07 16:28:35,143\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d9df79f3_10_text_det_box_thresh=0.6262,text_det_thresh=0.1781,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-28-30\n",
      "2025-12-07 16:28:35,143\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d9df79f3_10_text_det_box_thresh=0.6262,text_det_thresh=0.1781,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-28-30\n",
      "\u001b[36m(trainable_paddle_ocr pid=24024)\u001b[0m [2025-12-07 16:28:54,997 E 24024 23472] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=5368)\u001b[0m [2025-12-07 16:29:05,433 E 5368 24544] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:34:52,986\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33bdf2a9_9_text_det_box_thresh=0.4900,text_det_thresh=0.4347,text_det_unclip_ratio=0.0000,text_rec_score_thre_2025-12-07_16-28-20\n",
      "2025-12-07 16:34:53,020\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_80ea65f2_11_text_det_box_thresh=0.2514,text_det_thresh=0.6011,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-53\n",
      "2025-12-07 16:34:53,024\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_80ea65f2_11_text_det_box_thresh=0.2514,text_det_thresh=0.6011,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-53\n",
      "2025-12-07 16:34:58,668\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_80ea65f2_11_text_det_box_thresh=0.2514,text_det_thresh=0.6011,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-53\n",
      "2025-12-07 16:34:58,670\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_80ea65f2_11_text_det_box_thresh=0.2514,text_det_thresh=0.6011,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-53\n",
      "2025-12-07 16:34:59,856\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d9df79f3_10_text_det_box_thresh=0.6262,text_det_thresh=0.1781,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-28-30\n",
      "2025-12-07 16:34:59,928\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2e978bfa_12_text_det_box_thresh=0.0777,text_det_thresh=0.2349,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-59\n",
      "2025-12-07 16:34:59,933\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2e978bfa_12_text_det_box_thresh=0.0777,text_det_thresh=0.2349,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-59\n",
      "2025-12-07 16:35:04,574\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2e978bfa_12_text_det_box_thresh=0.0777,text_det_thresh=0.2349,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-59\n",
      "2025-12-07 16:35:04,576\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2e978bfa_12_text_det_box_thresh=0.0777,text_det_thresh=0.2349,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-59\n",
      "\u001b[36m(trainable_paddle_ocr pid=14064)\u001b[0m [2025-12-07 16:35:28,312 E 14064 18904] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=11060)\u001b[0m [2025-12-07 16:35:34,907 E 11060 16108] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:41:24,926\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2e978bfa_12_text_det_box_thresh=0.0777,text_det_thresh=0.2349,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-59\n",
      "2025-12-07 16:41:24,993\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8518cc40_13_text_det_box_thresh=0.0002,text_det_thresh=0.2226,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-24\n",
      "2025-12-07 16:41:24,996\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8518cc40_13_text_det_box_thresh=0.0002,text_det_thresh=0.2226,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-24\n",
      "2025-12-07 16:41:26,379\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_80ea65f2_11_text_det_box_thresh=0.2514,text_det_thresh=0.6011,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-34-53\n",
      "2025-12-07 16:41:30,746\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8518cc40_13_text_det_box_thresh=0.0002,text_det_thresh=0.2226,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-24\n",
      "2025-12-07 16:41:30,746\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8518cc40_13_text_det_box_thresh=0.0002,text_det_thresh=0.2226,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-24\n",
      "2025-12-07 16:41:30,767\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2c691aaa_14_text_det_box_thresh=0.0303,text_det_thresh=0.2247,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-30\n",
      "2025-12-07 16:41:30,770\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2c691aaa_14_text_det_box_thresh=0.0303,text_det_thresh=0.2247,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-30\n",
      "2025-12-07 16:41:35,236\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2c691aaa_14_text_det_box_thresh=0.0303,text_det_thresh=0.2247,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-30\n",
      "2025-12-07 16:41:35,236\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2c691aaa_14_text_det_box_thresh=0.0303,text_det_thresh=0.2247,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-30\n",
      "\u001b[36m(trainable_paddle_ocr pid=21016)\u001b[0m [2025-12-07 16:42:00,269 E 21016 19044] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=21540)\u001b[0m [2025-12-07 16:42:06,593 E 21540 1744] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:47:39,341\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8518cc40_13_text_det_box_thresh=0.0002,text_det_thresh=0.2226,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-24\n",
      "2025-12-07 16:47:39,378\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_31e60691_15_text_det_box_thresh=0.0020,text_det_thresh=0.2591,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-39\n",
      "2025-12-07 16:47:39,378\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_31e60691_15_text_det_box_thresh=0.0020,text_det_thresh=0.2591,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-39\n",
      "2025-12-07 16:47:41,612\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2c691aaa_14_text_det_box_thresh=0.0303,text_det_thresh=0.2247,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-41-30\n",
      "2025-12-07 16:47:44,526\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_31e60691_15_text_det_box_thresh=0.0020,text_det_thresh=0.2591,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-39\n",
      "2025-12-07 16:47:44,526\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_31e60691_15_text_det_box_thresh=0.0020,text_det_thresh=0.2591,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-39\n",
      "2025-12-07 16:47:44,541\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d4d288c6_16_text_det_box_thresh=0.0034,text_det_thresh=0.2734,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-44\n",
      "2025-12-07 16:47:44,544\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d4d288c6_16_text_det_box_thresh=0.0034,text_det_thresh=0.2734,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-44\n",
      "2025-12-07 16:47:49,055\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d4d288c6_16_text_det_box_thresh=0.0034,text_det_thresh=0.2734,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-44\n",
      "2025-12-07 16:47:49,057\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d4d288c6_16_text_det_box_thresh=0.0034,text_det_thresh=0.2734,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-44\n",
      "\u001b[36m(trainable_paddle_ocr pid=17532)\u001b[0m [2025-12-07 16:48:14,498 E 17532 10276] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 16:53:52,583\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_31e60691_15_text_det_box_thresh=0.0020,text_det_thresh=0.2591,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-39\n",
      "2025-12-07 16:53:52,603\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_7645b77c_17_text_det_box_thresh=0.1138,text_det_thresh=0.2792,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-52\n",
      "2025-12-07 16:53:52,608\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_7645b77c_17_text_det_box_thresh=0.1138,text_det_thresh=0.2792,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-52\n",
      "2025-12-07 16:53:57,961\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_d4d288c6_16_text_det_box_thresh=0.0034,text_det_thresh=0.2734,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-47-44\n",
      "2025-12-07 16:53:57,971\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_7645b77c_17_text_det_box_thresh=0.1138,text_det_thresh=0.2792,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-52\n",
      "2025-12-07 16:53:57,971\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_7645b77c_17_text_det_box_thresh=0.1138,text_det_thresh=0.2792,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-52\n",
      "2025-12-07 16:53:57,993\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_3256ae36_18_text_det_box_thresh=0.1292,text_det_thresh=0.3099,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-57\n",
      "2025-12-07 16:53:57,996\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_3256ae36_18_text_det_box_thresh=0.1292,text_det_thresh=0.3099,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-57\n",
      "2025-12-07 16:54:02,522\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_3256ae36_18_text_det_box_thresh=0.1292,text_det_thresh=0.3099,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-57\n",
      "2025-12-07 16:54:02,522\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_3256ae36_18_text_det_box_thresh=0.1292,text_det_thresh=0.3099,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-57\n",
      "\u001b[36m(trainable_paddle_ocr pid=2272)\u001b[0m [2025-12-07 16:54:27,753 E 2272 2144] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=6604)\u001b[0m [2025-12-07 16:54:32,853 E 6604 7428] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:00:05,436\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_7645b77c_17_text_det_box_thresh=0.1138,text_det_thresh=0.2792,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-52\n",
      "2025-12-07 17:00:05,471\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b0dda58b_19_text_det_box_thresh=0.1178,text_det_thresh=0.3150,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-05\n",
      "2025-12-07 17:00:05,471\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b0dda58b_19_text_det_box_thresh=0.1178,text_det_thresh=0.3150,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-05\n",
      "2025-12-07 17:00:08,537\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_3256ae36_18_text_det_box_thresh=0.1292,text_det_thresh=0.3099,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_16-53-57\n",
      "2025-12-07 17:00:11,016\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b0dda58b_19_text_det_box_thresh=0.1178,text_det_thresh=0.3150,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-05\n",
      "2025-12-07 17:00:11,017\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b0dda58b_19_text_det_box_thresh=0.1178,text_det_thresh=0.3150,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-05\n",
      "2025-12-07 17:00:11,026\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9d40333_20_text_det_box_thresh=0.1569,text_det_thresh=0.5303,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-11\n",
      "2025-12-07 17:00:11,034\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9d40333_20_text_det_box_thresh=0.1569,text_det_thresh=0.5303,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-11\n",
      "2025-12-07 17:00:15,508\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9d40333_20_text_det_box_thresh=0.1569,text_det_thresh=0.5303,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-11\n",
      "2025-12-07 17:00:15,509\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9d40333_20_text_det_box_thresh=0.1569,text_det_thresh=0.5303,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-11\n",
      "\u001b[36m(trainable_paddle_ocr pid=9732)\u001b[0m [2025-12-07 17:00:40,741 E 9732 14552] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=23416)\u001b[0m [2025-12-07 17:00:45,836 E 23416 4196] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:06:15,896\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b0dda58b_19_text_det_box_thresh=0.1178,text_det_thresh=0.3150,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-05\n",
      "2025-12-07 17:06:15,950\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_aa89fe7a_21_text_det_box_thresh=0.1621,text_det_thresh=0.5040,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-15\n",
      "2025-12-07 17:06:15,953\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_aa89fe7a_21_text_det_box_thresh=0.1621,text_det_thresh=0.5040,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-15\n",
      "2025-12-07 17:06:21,172\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9d40333_20_text_det_box_thresh=0.1569,text_det_thresh=0.5303,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-00-11\n",
      "2025-12-07 17:06:21,708\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_aa89fe7a_21_text_det_box_thresh=0.1621,text_det_thresh=0.5040,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-15\n",
      "2025-12-07 17:06:21,709\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_aa89fe7a_21_text_det_box_thresh=0.1621,text_det_thresh=0.5040,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-15\n",
      "2025-12-07 17:06:21,722\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_92c48d07_22_text_det_box_thresh=0.1864,text_det_thresh=0.3332,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-21\n",
      "2025-12-07 17:06:21,724\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_92c48d07_22_text_det_box_thresh=0.1864,text_det_thresh=0.3332,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-21\n",
      "2025-12-07 17:06:26,213\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_92c48d07_22_text_det_box_thresh=0.1864,text_det_thresh=0.3332,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-21\n",
      "2025-12-07 17:06:26,213\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_92c48d07_22_text_det_box_thresh=0.1864,text_det_thresh=0.3332,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-21\n",
      "\u001b[36m(trainable_paddle_ocr pid=16200)\u001b[0m [2025-12-07 17:06:51,279 E 16200 7620] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=15432)\u001b[0m [2025-12-07 17:06:56,512 E 15432 12008] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:12:28,470\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_aa89fe7a_21_text_det_box_thresh=0.1621,text_det_thresh=0.5040,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-15\n",
      "2025-12-07 17:12:28,508\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_187790d7_23_text_det_box_thresh=0.2353,text_det_thresh=0.3373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-28\n",
      "2025-12-07 17:12:28,513\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_187790d7_23_text_det_box_thresh=0.2353,text_det_thresh=0.3373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-28\n",
      "2025-12-07 17:12:31,317\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_92c48d07_22_text_det_box_thresh=0.1864,text_det_thresh=0.3332,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-06-21\n",
      "2025-12-07 17:12:33,695\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_187790d7_23_text_det_box_thresh=0.2353,text_det_thresh=0.3373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-28\n",
      "2025-12-07 17:12:33,695\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_187790d7_23_text_det_box_thresh=0.2353,text_det_thresh=0.3373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-28\n",
      "2025-12-07 17:12:33,716\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_442a2439_24_text_det_box_thresh=0.2123,text_det_thresh=0.5098,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-33\n",
      "2025-12-07 17:12:33,718\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_442a2439_24_text_det_box_thresh=0.2123,text_det_thresh=0.5098,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-33\n",
      "2025-12-07 17:12:38,168\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_442a2439_24_text_det_box_thresh=0.2123,text_det_thresh=0.5098,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-33\n",
      "2025-12-07 17:12:38,168\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_442a2439_24_text_det_box_thresh=0.2123,text_det_thresh=0.5098,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-33\n",
      "\u001b[36m(trainable_paddle_ocr pid=24676)\u001b[0m [2025-12-07 17:13:03,575 E 24676 21816] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:18:38,200\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_187790d7_23_text_det_box_thresh=0.2353,text_det_thresh=0.3373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-28\n",
      "2025-12-07 17:18:38,251\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_70862adc_25_text_det_box_thresh=0.2163,text_det_thresh=0.3964,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-38\n",
      "2025-12-07 17:18:38,254\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_70862adc_25_text_det_box_thresh=0.2163,text_det_thresh=0.3964,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-38\n",
      "2025-12-07 17:18:42,934\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_442a2439_24_text_det_box_thresh=0.2123,text_det_thresh=0.5098,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-12-33\n",
      "2025-12-07 17:18:43,890\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_70862adc_25_text_det_box_thresh=0.2163,text_det_thresh=0.3964,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-38\n",
      "2025-12-07 17:18:43,892\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_70862adc_25_text_det_box_thresh=0.2163,text_det_thresh=0.3964,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-38\n",
      "2025-12-07 17:18:43,903\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e6821f34_26_text_det_box_thresh=0.2408,text_det_thresh=0.3669,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-43\n",
      "2025-12-07 17:18:43,904\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e6821f34_26_text_det_box_thresh=0.2408,text_det_thresh=0.3669,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-43\n",
      "2025-12-07 17:18:48,373\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e6821f34_26_text_det_box_thresh=0.2408,text_det_thresh=0.3669,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-43\n",
      "2025-12-07 17:18:48,373\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e6821f34_26_text_det_box_thresh=0.2408,text_det_thresh=0.3669,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-43\n",
      "\u001b[36m(trainable_paddle_ocr pid=15412)\u001b[0m [2025-12-07 17:19:13,443 E 15412 9512] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=26088)\u001b[0m [2025-12-07 17:19:18,671 E 26088 10400] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:24:49,882\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_70862adc_25_text_det_box_thresh=0.2163,text_det_thresh=0.3964,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-38\n",
      "2025-12-07 17:24:49,909\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8b680875_27_text_det_box_thresh=0.3193,text_det_thresh=0.5312,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-49\n",
      "2025-12-07 17:24:49,911\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8b680875_27_text_det_box_thresh=0.3193,text_det_thresh=0.5312,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-49\n",
      "2025-12-07 17:24:53,650\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e6821f34_26_text_det_box_thresh=0.2408,text_det_thresh=0.3669,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-18-43\n",
      "2025-12-07 17:24:55,137\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8b680875_27_text_det_box_thresh=0.3193,text_det_thresh=0.5312,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-49\n",
      "2025-12-07 17:24:55,137\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8b680875_27_text_det_box_thresh=0.3193,text_det_thresh=0.5312,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-49\n",
      "2025-12-07 17:24:55,153\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_fc54867b_28_text_det_box_thresh=0.3043,text_det_thresh=0.5034,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-55\n",
      "2025-12-07 17:24:55,156\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_fc54867b_28_text_det_box_thresh=0.3043,text_det_thresh=0.5034,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-55\n",
      "2025-12-07 17:24:59,622\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_fc54867b_28_text_det_box_thresh=0.3043,text_det_thresh=0.5034,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-55\n",
      "2025-12-07 17:24:59,622\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_fc54867b_28_text_det_box_thresh=0.3043,text_det_thresh=0.5034,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-55\n",
      "\u001b[36m(trainable_paddle_ocr pid=1720)\u001b[0m [2025-12-07 17:25:25,047 E 1720 25468] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:31:02,389\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8b680875_27_text_det_box_thresh=0.3193,text_det_thresh=0.5312,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-49\n",
      "2025-12-07 17:31:02,469\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_c32d0d5e_29_text_det_box_thresh=0.3985,text_det_thresh=0.1530,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-02\n",
      "2025-12-07 17:31:02,473\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_c32d0d5e_29_text_det_box_thresh=0.3985,text_det_thresh=0.1530,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-02\n",
      "2025-12-07 17:31:08,377\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_fc54867b_28_text_det_box_thresh=0.3043,text_det_thresh=0.5034,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-24-55\n",
      "2025-12-07 17:31:08,467\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_c32d0d5e_29_text_det_box_thresh=0.3985,text_det_thresh=0.1530,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-02\n",
      "2025-12-07 17:31:08,467\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_c32d0d5e_29_text_det_box_thresh=0.3985,text_det_thresh=0.1530,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-02\n",
      "2025-12-07 17:31:08,487\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4762fbbb_30_text_det_box_thresh=0.4010,text_det_thresh=0.1334,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-08\n",
      "2025-12-07 17:31:08,489\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4762fbbb_30_text_det_box_thresh=0.4010,text_det_thresh=0.1334,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-08\n",
      "2025-12-07 17:31:12,960\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4762fbbb_30_text_det_box_thresh=0.4010,text_det_thresh=0.1334,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-08\n",
      "2025-12-07 17:31:12,962\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4762fbbb_30_text_det_box_thresh=0.4010,text_det_thresh=0.1334,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-08\n",
      "\u001b[36m(trainable_paddle_ocr pid=25808)\u001b[0m [2025-12-07 17:31:37,810 E 25808 21612] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=20760)\u001b[0m [2025-12-07 17:31:43,311 E 20760 9512] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:37:12,922\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_c32d0d5e_29_text_det_box_thresh=0.3985,text_det_thresh=0.1530,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-02\n",
      "2025-12-07 17:37:12,971\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_522ac97c_31_text_det_box_thresh=0.4028,text_det_thresh=0.4490,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-12\n",
      "2025-12-07 17:37:12,975\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_522ac97c_31_text_det_box_thresh=0.4028,text_det_thresh=0.4490,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-12\n",
      "2025-12-07 17:37:16,310\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4762fbbb_30_text_det_box_thresh=0.4010,text_det_thresh=0.1334,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-31-08\n",
      "2025-12-07 17:37:18,530\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_522ac97c_31_text_det_box_thresh=0.4028,text_det_thresh=0.4490,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-12\n",
      "2025-12-07 17:37:18,538\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_522ac97c_31_text_det_box_thresh=0.4028,text_det_thresh=0.4490,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-12\n",
      "2025-12-07 17:37:18,551\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5784f433_32_text_det_box_thresh=0.1928,text_det_thresh=0.4620,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-18\n",
      "2025-12-07 17:37:18,553\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5784f433_32_text_det_box_thresh=0.1928,text_det_thresh=0.4620,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-18\n",
      "2025-12-07 17:37:23,024\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5784f433_32_text_det_box_thresh=0.1928,text_det_thresh=0.4620,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-18\n",
      "2025-12-07 17:37:23,030\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5784f433_32_text_det_box_thresh=0.1928,text_det_thresh=0.4620,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-18\n",
      "\u001b[36m(trainable_paddle_ocr pid=2372)\u001b[0m [2025-12-07 17:37:49,189 E 2372 11208] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:43:23,269\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_522ac97c_31_text_det_box_thresh=0.4028,text_det_thresh=0.4490,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-12\n",
      "2025-12-07 17:43:23,297\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_83af0528_33_text_det_box_thresh=0.1846,text_det_thresh=0.4663,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-23\n",
      "2025-12-07 17:43:23,299\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_83af0528_33_text_det_box_thresh=0.1846,text_det_thresh=0.4663,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-23\n",
      "2025-12-07 17:43:25,962\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5784f433_32_text_det_box_thresh=0.1928,text_det_thresh=0.4620,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-37-18\n",
      "2025-12-07 17:43:28,377\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_83af0528_33_text_det_box_thresh=0.1846,text_det_thresh=0.4663,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-23\n",
      "2025-12-07 17:43:28,377\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_83af0528_33_text_det_box_thresh=0.1846,text_det_thresh=0.4663,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-23\n",
      "2025-12-07 17:43:28,392\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_12cbaa22_34_text_det_box_thresh=0.4056,text_det_thresh=0.4728,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-28\n",
      "2025-12-07 17:43:28,394\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_12cbaa22_34_text_det_box_thresh=0.4056,text_det_thresh=0.4728,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-28\n",
      "2025-12-07 17:43:32,822\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_12cbaa22_34_text_det_box_thresh=0.4056,text_det_thresh=0.4728,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-28\n",
      "2025-12-07 17:43:32,822\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_12cbaa22_34_text_det_box_thresh=0.4056,text_det_thresh=0.4728,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-28\n",
      "\u001b[36m(trainable_paddle_ocr pid=9832)\u001b[0m [2025-12-07 17:43:58,320 E 9832 20188] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "2025-12-07 17:49:32,969\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_83af0528_33_text_det_box_thresh=0.1846,text_det_thresh=0.4663,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-23\n",
      "2025-12-07 17:49:32,999\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a3a87765_35_text_det_box_thresh=0.2856,text_det_thresh=0.4501,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-32\n",
      "2025-12-07 17:49:33,002\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a3a87765_35_text_det_box_thresh=0.2856,text_det_thresh=0.4501,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-32\n",
      "2025-12-07 17:49:37,086\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_12cbaa22_34_text_det_box_thresh=0.4056,text_det_thresh=0.4728,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-43-28\n",
      "2025-12-07 17:49:38,207\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a3a87765_35_text_det_box_thresh=0.2856,text_det_thresh=0.4501,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-32\n",
      "2025-12-07 17:49:38,207\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a3a87765_35_text_det_box_thresh=0.2856,text_det_thresh=0.4501,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-32\n",
      "2025-12-07 17:49:38,221\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_cf2bad0c_36_text_det_box_thresh=0.2837,text_det_thresh=0.5890,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-38\n",
      "2025-12-07 17:49:38,224\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_cf2bad0c_36_text_det_box_thresh=0.2837,text_det_thresh=0.5890,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-38\n",
      "2025-12-07 17:49:42,732\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_cf2bad0c_36_text_det_box_thresh=0.2837,text_det_thresh=0.5890,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-38\n",
      "2025-12-07 17:49:42,734\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_cf2bad0c_36_text_det_box_thresh=0.2837,text_det_thresh=0.5890,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-38\n",
      "\u001b[36m(trainable_paddle_ocr pid=24372)\u001b[0m [2025-12-07 17:50:08,047 E 24372 25404] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=3272)\u001b[0m [2025-12-07 17:50:14,041 E 3272 25236] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 17:55:47,492\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_a3a87765_35_text_det_box_thresh=0.2856,text_det_thresh=0.4501,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-32\n",
      "2025-12-07 17:55:47,513\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9a9b91e7_37_text_det_box_thresh=0.3646,text_det_thresh=0.6090,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-47\n",
      "2025-12-07 17:55:47,515\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9a9b91e7_37_text_det_box_thresh=0.3646,text_det_thresh=0.6090,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-47\n",
      "2025-12-07 17:55:48,925\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_cf2bad0c_36_text_det_box_thresh=0.2837,text_det_thresh=0.5890,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-49-38\n",
      "2025-12-07 17:55:52,512\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9a9b91e7_37_text_det_box_thresh=0.3646,text_det_thresh=0.6090,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-47\n",
      "2025-12-07 17:55:52,520\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9a9b91e7_37_text_det_box_thresh=0.3646,text_det_thresh=0.6090,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-47\n",
      "2025-12-07 17:55:52,532\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e326d901_38_text_det_box_thresh=0.3735,text_det_thresh=0.5932,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-52\n",
      "2025-12-07 17:55:52,532\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e326d901_38_text_det_box_thresh=0.3735,text_det_thresh=0.5932,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-52\n",
      "2025-12-07 17:55:56,990\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e326d901_38_text_det_box_thresh=0.3735,text_det_thresh=0.5932,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-52\n",
      "2025-12-07 17:55:56,990\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e326d901_38_text_det_box_thresh=0.3735,text_det_thresh=0.5932,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-52\n",
      "\u001b[36m(trainable_paddle_ocr pid=2272)\u001b[0m [2025-12-07 17:56:22,469 E 2272 9344] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:01:56,576\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9a9b91e7_37_text_det_box_thresh=0.3646,text_det_thresh=0.6090,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-47\n",
      "2025-12-07 18:01:56,635\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ccb3f19a_39_text_det_box_thresh=0.4538,text_det_thresh=0.6866,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-01-56\n",
      "2025-12-07 18:01:56,637\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ccb3f19a_39_text_det_box_thresh=0.4538,text_det_thresh=0.6866,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-01-56\n",
      "2025-12-07 18:02:02,426\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ccb3f19a_39_text_det_box_thresh=0.4538,text_det_thresh=0.6866,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-01-56\n",
      "2025-12-07 18:02:02,426\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ccb3f19a_39_text_det_box_thresh=0.4538,text_det_thresh=0.6866,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-01-56\n",
      "2025-12-07 18:02:02,442\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e326d901_38_text_det_box_thresh=0.3735,text_det_thresh=0.5932,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_17-55-52\n",
      "2025-12-07 18:02:02,471\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8c12c55f_40_text_det_box_thresh=0.4444,text_det_thresh=0.6710,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-02-02\n",
      "2025-12-07 18:02:02,472\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8c12c55f_40_text_det_box_thresh=0.4444,text_det_thresh=0.6710,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-02-02\n",
      "2025-12-07 18:02:06,950\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8c12c55f_40_text_det_box_thresh=0.4444,text_det_thresh=0.6710,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-02-02\n",
      "2025-12-07 18:02:06,950\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8c12c55f_40_text_det_box_thresh=0.4444,text_det_thresh=0.6710,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-02-02\n",
      "\u001b[36m(trainable_paddle_ocr pid=1104)\u001b[0m [2025-12-07 18:02:31,870 E 1104 11720] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=19700)\u001b[0m [2025-12-07 18:02:38,333 E 19700 6824] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:08:07,593\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_ccb3f19a_39_text_det_box_thresh=0.4538,text_det_thresh=0.6866,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-01-56\n",
      "2025-12-07 18:08:07,628\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5a62d5b6_41_text_det_box_thresh=0.2010,text_det_thresh=0.4041,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-07\n",
      "2025-12-07 18:08:07,630\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5a62d5b6_41_text_det_box_thresh=0.2010,text_det_thresh=0.4041,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-07\n",
      "2025-12-07 18:08:10,260\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8c12c55f_40_text_det_box_thresh=0.4444,text_det_thresh=0.6710,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-02-02\n",
      "2025-12-07 18:08:12,660\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5a62d5b6_41_text_det_box_thresh=0.2010,text_det_thresh=0.4041,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-07\n",
      "2025-12-07 18:08:12,664\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5a62d5b6_41_text_det_box_thresh=0.2010,text_det_thresh=0.4041,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-07\n",
      "2025-12-07 18:08:12,675\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bb4495b7_42_text_det_box_thresh=0.5764,text_det_thresh=0.3907,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-12\n",
      "2025-12-07 18:08:12,684\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bb4495b7_42_text_det_box_thresh=0.5764,text_det_thresh=0.3907,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-12\n",
      "2025-12-07 18:08:17,160\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bb4495b7_42_text_det_box_thresh=0.5764,text_det_thresh=0.3907,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-12\n",
      "2025-12-07 18:08:17,164\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bb4495b7_42_text_det_box_thresh=0.5764,text_det_thresh=0.3907,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-12\n",
      "\u001b[36m(trainable_paddle_ocr pid=26528)\u001b[0m [2025-12-07 18:08:42,646 E 26528 5412] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=21772)\u001b[0m [2025-12-07 18:08:48,607 E 21772 12564] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:14:33,027\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_5a62d5b6_41_text_det_box_thresh=0.2010,text_det_thresh=0.4041,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-07\n",
      "2025-12-07 18:14:33,082\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9d90711d_43_text_det_box_thresh=0.5412,text_det_thresh=0.4690,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-33\n",
      "2025-12-07 18:14:33,085\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9d90711d_43_text_det_box_thresh=0.5412,text_det_thresh=0.4690,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-33\n",
      "2025-12-07 18:14:33,144\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_bb4495b7_42_text_det_box_thresh=0.5764,text_det_thresh=0.3907,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-08-12\n",
      "2025-12-07 18:14:38,712\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9d90711d_43_text_det_box_thresh=0.5412,text_det_thresh=0.4690,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-33\n",
      "2025-12-07 18:14:38,714\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9d90711d_43_text_det_box_thresh=0.5412,text_det_thresh=0.4690,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-33\n",
      "2025-12-07 18:14:38,727\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_daaec3f8_44_text_det_box_thresh=0.5213,text_det_thresh=0.4744,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-38\n",
      "2025-12-07 18:14:38,731\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_daaec3f8_44_text_det_box_thresh=0.5213,text_det_thresh=0.4744,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-38\n",
      "2025-12-07 18:14:43,202\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_daaec3f8_44_text_det_box_thresh=0.5213,text_det_thresh=0.4744,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-38\n",
      "2025-12-07 18:14:43,206\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_daaec3f8_44_text_det_box_thresh=0.5213,text_det_thresh=0.4744,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-38\n",
      "\u001b[36m(trainable_paddle_ocr pid=17592)\u001b[0m [2025-12-07 18:15:08,237 E 17592 11980] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=21292)\u001b[0m [2025-12-07 18:15:13,513 E 21292 10368] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:20:44,494\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_9d90711d_43_text_det_box_thresh=0.5412,text_det_thresh=0.4690,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-33\n",
      "2025-12-07 18:20:44,525\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_51fb5915_45_text_det_box_thresh=0.5811,text_det_thresh=0.4854,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-44\n",
      "2025-12-07 18:20:44,528\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_51fb5915_45_text_det_box_thresh=0.5811,text_det_thresh=0.4854,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-44\n",
      "2025-12-07 18:20:46,235\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_daaec3f8_44_text_det_box_thresh=0.5213,text_det_thresh=0.4744,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-14-38\n",
      "2025-12-07 18:20:49,638\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_51fb5915_45_text_det_box_thresh=0.5811,text_det_thresh=0.4854,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-44\n",
      "2025-12-07 18:20:49,639\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_51fb5915_45_text_det_box_thresh=0.5811,text_det_thresh=0.4854,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-44\n",
      "2025-12-07 18:20:49,649\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_18966a33_46_text_det_box_thresh=0.5133,text_det_thresh=0.5502,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-49\n",
      "2025-12-07 18:20:49,649\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_18966a33_46_text_det_box_thresh=0.5133,text_det_thresh=0.5502,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-49\n",
      "2025-12-07 18:20:54,162\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_18966a33_46_text_det_box_thresh=0.5133,text_det_thresh=0.5502,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-49\n",
      "2025-12-07 18:20:54,162\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_18966a33_46_text_det_box_thresh=0.5133,text_det_thresh=0.5502,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-49\n",
      "\u001b[36m(trainable_paddle_ocr pid=21772)\u001b[0m [2025-12-07 18:21:19,532 E 21772 9096] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:26:53,700\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_51fb5915_45_text_det_box_thresh=0.5811,text_det_thresh=0.4854,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-44\n",
      "2025-12-07 18:26:53,763\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b67080f9_47_text_det_box_thresh=0.5761,text_det_thresh=0.5534,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-53\n",
      "2025-12-07 18:26:53,766\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b67080f9_47_text_det_box_thresh=0.5761,text_det_thresh=0.5534,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-53\n",
      "2025-12-07 18:26:57,513\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_18966a33_46_text_det_box_thresh=0.5133,text_det_thresh=0.5502,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-20-49\n",
      "2025-12-07 18:26:59,363\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b67080f9_47_text_det_box_thresh=0.5761,text_det_thresh=0.5534,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-53\n",
      "2025-12-07 18:26:59,363\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b67080f9_47_text_det_box_thresh=0.5761,text_det_thresh=0.5534,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-53\n",
      "2025-12-07 18:26:59,379\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2533f368_48_text_det_box_thresh=0.5246,text_det_thresh=0.5572,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-59\n",
      "2025-12-07 18:26:59,382\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2533f368_48_text_det_box_thresh=0.5246,text_det_thresh=0.5572,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-59\n",
      "2025-12-07 18:27:03,913\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2533f368_48_text_det_box_thresh=0.5246,text_det_thresh=0.5572,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-59\n",
      "2025-12-07 18:27:03,913\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2533f368_48_text_det_box_thresh=0.5246,text_det_thresh=0.5572,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-59\n",
      "\u001b[36m(trainable_paddle_ocr pid=20948)\u001b[0m [2025-12-07 18:27:29,044 E 20948 19656] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=11208)\u001b[0m [2025-12-07 18:27:34,203 E 11208 2320] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:33:05,400\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_b67080f9_47_text_det_box_thresh=0.5761,text_det_thresh=0.5534,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-53\n",
      "2025-12-07 18:33:05,427\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_451d018d_49_text_det_box_thresh=0.5495,text_det_thresh=0.6340,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-05\n",
      "2025-12-07 18:33:05,428\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_451d018d_49_text_det_box_thresh=0.5495,text_det_thresh=0.6340,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-05\n",
      "2025-12-07 18:33:10,740\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_451d018d_49_text_det_box_thresh=0.5495,text_det_thresh=0.6340,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-05\n",
      "2025-12-07 18:33:10,743\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_451d018d_49_text_det_box_thresh=0.5495,text_det_thresh=0.6340,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-05\n",
      "2025-12-07 18:33:15,130\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2533f368_48_text_det_box_thresh=0.5246,text_det_thresh=0.5572,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-26-59\n",
      "2025-12-07 18:33:15,154\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2256e752_50_text_det_box_thresh=0.6229,text_det_thresh=0.6478,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-15\n",
      "2025-12-07 18:33:15,156\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2256e752_50_text_det_box_thresh=0.6229,text_det_thresh=0.6478,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-15\n",
      "2025-12-07 18:33:19,685\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2256e752_50_text_det_box_thresh=0.6229,text_det_thresh=0.6478,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-15\n",
      "2025-12-07 18:33:19,685\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2256e752_50_text_det_box_thresh=0.6229,text_det_thresh=0.6478,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-15\n",
      "\u001b[36m(trainable_paddle_ocr pid=3616)\u001b[0m [2025-12-07 18:33:40,534 E 3616 22824] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=25468)\u001b[0m [2025-12-07 18:33:49,934 E 25468 7192] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:39:29,627\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_2256e752_50_text_det_box_thresh=0.6229,text_det_thresh=0.6478,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-15\n",
      "2025-12-07 18:39:29,649\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_451d018d_49_text_det_box_thresh=0.5495,text_det_thresh=0.6340,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-33-05\n",
      "2025-12-07 18:39:29,687\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_0a892729_51_text_det_box_thresh=0.5429,text_det_thresh=0.4217,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-29\n",
      "2025-12-07 18:39:29,690\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_0a892729_51_text_det_box_thresh=0.5429,text_det_thresh=0.4217,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-29\n",
      "2025-12-07 18:39:35,040\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_0a892729_51_text_det_box_thresh=0.5429,text_det_thresh=0.4217,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-29\n",
      "2025-12-07 18:39:35,040\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_0a892729_51_text_det_box_thresh=0.5429,text_det_thresh=0.4217,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-29\n",
      "2025-12-07 18:39:35,057\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_495075f5_52_text_det_box_thresh=0.6319,text_det_thresh=0.4187,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-35\n",
      "2025-12-07 18:39:35,059\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_495075f5_52_text_det_box_thresh=0.6319,text_det_thresh=0.4187,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-35\n",
      "2025-12-07 18:39:39,597\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_495075f5_52_text_det_box_thresh=0.6319,text_det_thresh=0.4187,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-35\n",
      "2025-12-07 18:39:39,598\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_495075f5_52_text_det_box_thresh=0.6319,text_det_thresh=0.4187,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-35\n",
      "\u001b[36m(trainable_paddle_ocr pid=26212)\u001b[0m [2025-12-07 18:40:04,811 E 26212 22100] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=23604)\u001b[0m [2025-12-07 18:40:10,081 E 23604 16924] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:45:42,301\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_0a892729_51_text_det_box_thresh=0.5429,text_det_thresh=0.4217,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-29\n",
      "2025-12-07 18:45:42,331\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_54c45552_53_text_det_box_thresh=0.6197,text_det_thresh=0.4638,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-42\n",
      "2025-12-07 18:45:42,335\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_54c45552_53_text_det_box_thresh=0.6197,text_det_thresh=0.4638,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-42\n",
      "2025-12-07 18:45:45,144\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_495075f5_52_text_det_box_thresh=0.6319,text_det_thresh=0.4187,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-39-35\n",
      "2025-12-07 18:45:47,422\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_54c45552_53_text_det_box_thresh=0.6197,text_det_thresh=0.4638,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-42\n",
      "2025-12-07 18:45:47,422\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_54c45552_53_text_det_box_thresh=0.6197,text_det_thresh=0.4638,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-42\n",
      "2025-12-07 18:45:47,436\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_6b2e9b93_54_text_det_box_thresh=0.4893,text_det_thresh=0.4752,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-47\n",
      "2025-12-07 18:45:47,436\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_6b2e9b93_54_text_det_box_thresh=0.4893,text_det_thresh=0.4752,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-47\n",
      "2025-12-07 18:45:51,980\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_6b2e9b93_54_text_det_box_thresh=0.4893,text_det_thresh=0.4752,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-47\n",
      "2025-12-07 18:45:51,980\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_6b2e9b93_54_text_det_box_thresh=0.4893,text_det_thresh=0.4752,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-47\n",
      "\u001b[36m(trainable_paddle_ocr pid=25352)\u001b[0m [2025-12-07 18:46:17,386 E 25352 26068] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:51:55,425\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_54c45552_53_text_det_box_thresh=0.6197,text_det_thresh=0.4638,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-42\n",
      "2025-12-07 18:51:55,497\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9a6b81f_55_text_det_box_thresh=0.4926,text_det_thresh=0.4879,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-51-55\n",
      "2025-12-07 18:51:55,501\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9a6b81f_55_text_det_box_thresh=0.4926,text_det_thresh=0.4879,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-51-55\n",
      "2025-12-07 18:51:57,995\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_6b2e9b93_54_text_det_box_thresh=0.4893,text_det_thresh=0.4752,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-45-47\n",
      "2025-12-07 18:52:01,238\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9a6b81f_55_text_det_box_thresh=0.4926,text_det_thresh=0.4879,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-51-55\n",
      "2025-12-07 18:52:01,239\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9a6b81f_55_text_det_box_thresh=0.4926,text_det_thresh=0.4879,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-51-55\n",
      "2025-12-07 18:52:01,255\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_076c5450_56_text_det_box_thresh=0.5881,text_det_thresh=0.4884,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-52-01\n",
      "2025-12-07 18:52:01,258\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_076c5450_56_text_det_box_thresh=0.5881,text_det_thresh=0.4884,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-52-01\n",
      "2025-12-07 18:52:05,685\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_076c5450_56_text_det_box_thresh=0.5881,text_det_thresh=0.4884,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-52-01\n",
      "2025-12-07 18:52:05,685\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_076c5450_56_text_det_box_thresh=0.5881,text_det_thresh=0.4884,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-52-01\n",
      "\u001b[36m(trainable_paddle_ocr pid=4036)\u001b[0m [2025-12-07 18:52:30,776 E 4036 16404] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=4832)\u001b[0m [2025-12-07 18:52:36,982 E 4832 22740] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 18:58:08,591\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_e9a6b81f_55_text_det_box_thresh=0.4926,text_det_thresh=0.4879,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-51-55\n",
      "2025-12-07 18:58:08,621\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4a42a3ea_57_text_det_box_thresh=0.5940,text_det_thresh=0.5590,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-08\n",
      "2025-12-07 18:58:08,624\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4a42a3ea_57_text_det_box_thresh=0.5940,text_det_thresh=0.5590,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-08\n",
      "2025-12-07 18:58:10,886\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_076c5450_56_text_det_box_thresh=0.5881,text_det_thresh=0.4884,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-52-01\n",
      "2025-12-07 18:58:13,816\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4a42a3ea_57_text_det_box_thresh=0.5940,text_det_thresh=0.5590,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-08\n",
      "2025-12-07 18:58:13,816\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4a42a3ea_57_text_det_box_thresh=0.5940,text_det_thresh=0.5590,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-08\n",
      "2025-12-07 18:58:13,830\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_041795f1_58_text_det_box_thresh=0.6617,text_det_thresh=0.5650,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-13\n",
      "2025-12-07 18:58:13,833\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_041795f1_58_text_det_box_thresh=0.6617,text_det_thresh=0.5650,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-13\n",
      "2025-12-07 18:58:18,273\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_041795f1_58_text_det_box_thresh=0.6617,text_det_thresh=0.5650,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-13\n",
      "2025-12-07 18:58:18,280\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_041795f1_58_text_det_box_thresh=0.6617,text_det_thresh=0.5650,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-13\n",
      "\u001b[36m(trainable_paddle_ocr pid=14912)\u001b[0m [2025-12-07 18:58:43,671 E 14912 9648] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 19:04:24,842\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_4a42a3ea_57_text_det_box_thresh=0.5940,text_det_thresh=0.5590,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-08\n",
      "2025-12-07 19:04:24,907\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8abb3f37_59_text_det_box_thresh=0.4637,text_det_thresh=0.4898,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-24\n",
      "2025-12-07 19:04:24,910\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8abb3f37_59_text_det_box_thresh=0.4637,text_det_thresh=0.4898,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-24\n",
      "2025-12-07 19:04:29,252\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_041795f1_58_text_det_box_thresh=0.6617,text_det_thresh=0.5650,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_18-58-13\n",
      "2025-12-07 19:04:30,602\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8abb3f37_59_text_det_box_thresh=0.4637,text_det_thresh=0.4898,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-24\n",
      "2025-12-07 19:04:30,603\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8abb3f37_59_text_det_box_thresh=0.4637,text_det_thresh=0.4898,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-24\n",
      "2025-12-07 19:04:30,613\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_f2cb682e_60_text_det_box_thresh=0.4522,text_det_thresh=0.4918,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-30\n",
      "2025-12-07 19:04:30,619\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_f2cb682e_60_text_det_box_thresh=0.4522,text_det_thresh=0.4918,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-30\n",
      "2025-12-07 19:04:35,119\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_f2cb682e_60_text_det_box_thresh=0.4522,text_det_thresh=0.4918,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-30\n",
      "2025-12-07 19:04:35,119\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_f2cb682e_60_text_det_box_thresh=0.4522,text_det_thresh=0.4918,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-30\n",
      "\u001b[36m(trainable_paddle_ocr pid=22012)\u001b[0m [2025-12-07 19:05:01,269 E 22012 4372] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "2025-12-07 19:10:35,351\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_8abb3f37_59_text_det_box_thresh=0.4637,text_det_thresh=0.4898,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-24\n",
      "2025-12-07 19:10:35,442\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_463fe5e7_61_text_det_box_thresh=0.5202,text_det_thresh=0.5373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-35\n",
      "2025-12-07 19:10:35,445\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_463fe5e7_61_text_det_box_thresh=0.5202,text_det_thresh=0.5373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-35\n",
      "2025-12-07 19:10:40,065\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_f2cb682e_60_text_det_box_thresh=0.4522,text_det_thresh=0.4918,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-04-30\n",
      "2025-12-07 19:10:41,249\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_463fe5e7_61_text_det_box_thresh=0.5202,text_det_thresh=0.5373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-35\n",
      "2025-12-07 19:10:41,249\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_463fe5e7_61_text_det_box_thresh=0.5202,text_det_thresh=0.5373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-35\n",
      "2025-12-07 19:10:41,261\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_88bbe87d_62_text_det_box_thresh=0.5111,text_det_thresh=0.5275,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-41\n",
      "2025-12-07 19:10:41,261\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_88bbe87d_62_text_det_box_thresh=0.5111,text_det_thresh=0.5275,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-41\n",
      "2025-12-07 19:10:45,749\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_88bbe87d_62_text_det_box_thresh=0.5111,text_det_thresh=0.5275,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-41\n",
      "2025-12-07 19:10:45,750\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_88bbe87d_62_text_det_box_thresh=0.5111,text_det_thresh=0.5275,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-41\n",
      "\u001b[36m(trainable_paddle_ocr pid=16524)\u001b[0m [2025-12-07 19:11:10,747 E 16524 6148] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\u001b[32m [repeated 2x across cluster]\u001b[0m\n",
      "\u001b[36m(trainable_paddle_ocr pid=15084)\u001b[0m [2025-12-07 19:11:16,039 E 15084 20216] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 19:16:51,841\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_463fe5e7_61_text_det_box_thresh=0.5202,text_det_thresh=0.5373,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-35\n",
      "2025-12-07 19:16:51,883\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33ea1cc6_63_text_det_box_thresh=0.5158,text_det_thresh=0.5230,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-51\n",
      "2025-12-07 19:16:51,884\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33ea1cc6_63_text_det_box_thresh=0.5158,text_det_thresh=0.5230,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-51\n",
      "2025-12-07 19:16:55,313\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_88bbe87d_62_text_det_box_thresh=0.5111,text_det_thresh=0.5275,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-10-41\n",
      "2025-12-07 19:16:57,623\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33ea1cc6_63_text_det_box_thresh=0.5158,text_det_thresh=0.5230,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-51\n",
      "2025-12-07 19:16:57,623\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33ea1cc6_63_text_det_box_thresh=0.5158,text_det_thresh=0.5230,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-51\n",
      "2025-12-07 19:16:57,638\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_1243723e_64_text_det_box_thresh=0.5573,text_det_thresh=0.3727,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-57\n",
      "2025-12-07 19:16:57,639\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_1243723e_64_text_det_box_thresh=0.5573,text_det_thresh=0.3727,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-57\n",
      "2025-12-07 19:17:02,358\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_1243723e_64_text_det_box_thresh=0.5573,text_det_thresh=0.3727,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-57\n",
      "2025-12-07 19:17:02,362\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_1243723e_64_text_det_box_thresh=0.5573,text_det_thresh=0.3727,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-57\n",
      "\u001b[36m(trainable_paddle_ocr pid=17380)\u001b[0m [2025-12-07 19:17:27,300 E 17380 17224] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "\u001b[36m(trainable_paddle_ocr pid=11232)\u001b[0m [2025-12-07 19:17:32,685 E 11232 7916] core_worker_process.cc:837: Failed to establish connection to the metrics exporter agent. Metrics will not be exported. Exporter agent status: RpcError: Running out of retries to initialize the metrics agent. rpc_code: 14\n",
      "2025-12-07 19:23:14,420\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_33ea1cc6_63_text_det_box_thresh=0.5158,text_det_thresh=0.5230,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-51\n",
      "2025-12-07 19:23:17,826\tWARNING trial.py:647 -- The path to the trial log directory is too long (max length: 260. Consider using `trial_dirname_creator` to shorten the path. Path: C:\\Users\\Sergio\\AppData\\Local\\Temp\\ray\\session_2025-12-07_15-57-58_291425_24012\\artifacts\\2025-12-07_16-03-56\\trainable_paddle_ocr_2025-12-07_16-03-56\\driver_artifacts\\trainable_paddle_ocr_1243723e_64_text_det_box_thresh=0.5573,text_det_thresh=0.3727,text_det_unclip_ratio=0.0000,text_rec_score_thr_2025-12-07_19-16-57\n",
      "2025-12-07 19:23:17,928\tINFO tune.py:1009 -- Wrote the latest version of all result files and experiment state to 'C:/Users/Sergio/ray_results/trainable_paddle_ocr_2025-12-07_16-03-56' in 0.0859s.\n",
      "2025-12-07 19:23:17,957\tINFO tune.py:1041 -- Total run time: 11961.30 seconds (11961.14 seconds for the tuning loop).\n"
     ]
    }
   ],
   "source": [
    "from ray.tune.search.optuna import OptunaSearch\n",
    "\n",
    "def trainable_paddle_ocr(config):\n",
    "    args = [sys.executable, SCRIPT_ABS, \"--pdf-folder\", PDF_FOLDER_ABS]\n",
    "    for k, v in config.items():\n",
    "        args += [f\"--{KEYMAP[k]}\", str(v)]\n",
    "    proc =  subprocess.run(args, capture_output=True, text=True, cwd=SCRIPT_DIR)\n",
    "\n",
    "    if proc.returncode != 0:\n",
    "        tune.report({\"CER\": 1.0, \"WER\": 1.0, \"TIME\": 0.0, 'PAGES': 0, 'TIME_PER_PAGE': 0, \"ERROR\": proc.stderr[:500]})\n",
    "        return\n",
    "    # last line contains the metrics in json format\n",
    "    last = proc.stdout.strip().splitlines()[-1]\n",
    "    \n",
    "    metrics = json.loads(last)\n",
    "    tune.report(metrics=metrics)\n",
    "\n",
    "tuner = tune.Tuner(\n",
    "    trainable_paddle_ocr,\n",
    "    tune_config=tune.TuneConfig(metric=\"CER\", \n",
    "                                mode=\"min\", \n",
    "                                search_alg=OptunaSearch(),\n",
    "                                num_samples=64, \n",
    "                                max_concurrent_trials=2),\n",
    "    run_config=air.RunConfig(verbose=2, log_to_file=False),\n",
    "    param_space=search_space\n",
    ")\n",
    "\n",
    "results = tuner.fit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "710a67ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = results.get_dataframe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1ab345a3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Guardado: raytune_paddle_subproc_results_20251207_192320.csv\n"
     ]
    }
   ],
   "source": [
    "# Generate a unique filename with timestamp\n",
    "timestamp = datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n",
    "filename = f\"raytune_paddle_subproc_results_{timestamp}.csv\"\n",
    "filepath = os.path.join(OUTPUT_FOLDER, filename)\n",
    "\n",
    "\n",
    "df.to_csv(filename, index=False)\n",
    "print(f\"Guardado: {filename}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "3e3a34e4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CER</th>\n",
       "      <th>WER</th>\n",
       "      <th>TIME</th>\n",
       "      <th>PAGES</th>\n",
       "      <th>TIME_PER_PAGE</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>checkpoint_dir_name</th>\n",
       "      <th>training_iteration</th>\n",
       "      <th>time_this_iter_s</th>\n",
       "      <th>time_total_s</th>\n",
       "      <th>pid</th>\n",
       "      <th>time_since_restore</th>\n",
       "      <th>iterations_since_restore</th>\n",
       "      <th>config/text_det_thresh</th>\n",
       "      <th>config/text_det_box_thresh</th>\n",
       "      <th>config/text_det_unclip_ratio</th>\n",
       "      <th>config/text_rec_score_thresh</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.0</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>6.400000e+01</td>\n",
       "      <td>0.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.0</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.000000</td>\n",
       "      <td>64.0</td>\n",
       "      <td>64.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.052482</td>\n",
       "      <td>0.142770</td>\n",
       "      <td>347.605870</td>\n",
       "      <td>5.0</td>\n",
       "      <td>69.423734</td>\n",
       "      <td>1.765126e+09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>367.715945</td>\n",
       "      <td>367.715945</td>\n",
       "      <td>16306.750000</td>\n",
       "      <td>367.715945</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.419091</td>\n",
       "      <td>0.392965</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.470584</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.110269</td>\n",
       "      <td>0.107515</td>\n",
       "      <td>7.876539</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.574470</td>\n",
       "      <td>3.473487e+03</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.011554</td>\n",
       "      <td>8.011554</td>\n",
       "      <td>8179.917114</td>\n",
       "      <td>8.011554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.167178</td>\n",
       "      <td>0.195419</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.219216</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.011535</td>\n",
       "      <td>0.098902</td>\n",
       "      <td>320.966205</td>\n",
       "      <td>5.0</td>\n",
       "      <td>64.095210</td>\n",
       "      <td>1.765120e+09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>341.071264</td>\n",
       "      <td>341.071264</td>\n",
       "      <td>1104.000000</td>\n",
       "      <td>341.071264</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.016997</td>\n",
       "      <td>0.000242</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.002891</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.011968</td>\n",
       "      <td>0.100441</td>\n",
       "      <td>344.239116</td>\n",
       "      <td>5.0</td>\n",
       "      <td>68.755118</td>\n",
       "      <td>1.765123e+09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>364.708660</td>\n",
       "      <td>364.708660</td>\n",
       "      <td>9272.000000</td>\n",
       "      <td>364.708660</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.328652</td>\n",
       "      <td>0.230515</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.311325</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.012314</td>\n",
       "      <td>0.102033</td>\n",
       "      <td>346.419682</td>\n",
       "      <td>5.0</td>\n",
       "      <td>69.188875</td>\n",
       "      <td>1.765126e+09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>366.103412</td>\n",
       "      <td>366.103412</td>\n",
       "      <td>18522.000000</td>\n",
       "      <td>366.103412</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.465068</td>\n",
       "      <td>0.448332</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.559640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.040339</td>\n",
       "      <td>0.132047</td>\n",
       "      <td>350.144563</td>\n",
       "      <td>5.0</td>\n",
       "      <td>69.930173</td>\n",
       "      <td>1.765129e+09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>370.648662</td>\n",
       "      <td>370.648662</td>\n",
       "      <td>23167.000000</td>\n",
       "      <td>370.648662</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.530501</td>\n",
       "      <td>0.544563</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.645015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>0.516069</td>\n",
       "      <td>0.594530</td>\n",
       "      <td>368.571180</td>\n",
       "      <td>5.0</td>\n",
       "      <td>73.625040</td>\n",
       "      <td>1.765132e+09</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>388.150608</td>\n",
       "      <td>388.150608</td>\n",
       "      <td>26528.000000</td>\n",
       "      <td>388.150608</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.686641</td>\n",
       "      <td>0.690232</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.699247</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             CER        WER        TIME  PAGES  TIME_PER_PAGE     timestamp  \\\n",
       "count  64.000000  64.000000   64.000000   64.0      64.000000  6.400000e+01   \n",
       "mean    0.052482   0.142770  347.605870    5.0      69.423734  1.765126e+09   \n",
       "std     0.110269   0.107515    7.876539    0.0       1.574470  3.473487e+03   \n",
       "min     0.011535   0.098902  320.966205    5.0      64.095210  1.765120e+09   \n",
       "25%     0.011968   0.100441  344.239116    5.0      68.755118  1.765123e+09   \n",
       "50%     0.012314   0.102033  346.419682    5.0      69.188875  1.765126e+09   \n",
       "75%     0.040339   0.132047  350.144563    5.0      69.930173  1.765129e+09   \n",
       "max     0.516069   0.594530  368.571180    5.0      73.625040  1.765132e+09   \n",
       "\n",
       "       checkpoint_dir_name  training_iteration  time_this_iter_s  \\\n",
       "count                  0.0                64.0         64.000000   \n",
       "mean                   NaN                 1.0        367.715945   \n",
       "std                    NaN                 0.0          8.011554   \n",
       "min                    NaN                 1.0        341.071264   \n",
       "25%                    NaN                 1.0        364.708660   \n",
       "50%                    NaN                 1.0        366.103412   \n",
       "75%                    NaN                 1.0        370.648662   \n",
       "max                    NaN                 1.0        388.150608   \n",
       "\n",
       "       time_total_s           pid  time_since_restore  \\\n",
       "count     64.000000     64.000000           64.000000   \n",
       "mean     367.715945  16306.750000          367.715945   \n",
       "std        8.011554   8179.917114            8.011554   \n",
       "min      341.071264   1104.000000          341.071264   \n",
       "25%      364.708660   9272.000000          364.708660   \n",
       "50%      366.103412  18522.000000          366.103412   \n",
       "75%      370.648662  23167.000000          370.648662   \n",
       "max      388.150608  26528.000000          388.150608   \n",
       "\n",
       "       iterations_since_restore  config/text_det_thresh  \\\n",
       "count                      64.0               64.000000   \n",
       "mean                        1.0                0.419091   \n",
       "std                         0.0                0.167178   \n",
       "min                         1.0                0.016997   \n",
       "25%                         1.0                0.328652   \n",
       "50%                         1.0                0.465068   \n",
       "75%                         1.0                0.530501   \n",
       "max                         1.0                0.686641   \n",
       "\n",
       "       config/text_det_box_thresh  config/text_det_unclip_ratio  \\\n",
       "count                   64.000000                          64.0   \n",
       "mean                     0.392965                           0.0   \n",
       "std                      0.195419                           0.0   \n",
       "min                      0.000242                           0.0   \n",
       "25%                      0.230515                           0.0   \n",
       "50%                      0.448332                           0.0   \n",
       "75%                      0.544563                           0.0   \n",
       "max                      0.690232                           0.0   \n",
       "\n",
       "       config/text_rec_score_thresh  \n",
       "count                     64.000000  \n",
       "mean                       0.470584  \n",
       "std                        0.219216  \n",
       "min                        0.002891  \n",
       "25%                        0.311325  \n",
       "50%                        0.559640  \n",
       "75%                        0.645015  \n",
       "max                        0.699247  "
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#df = pd.read_csv(\"raytune_paddle_subproc_results_20251207_192320.csv\")\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "50fa5b59",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Correlación con CER:\n",
      " CER                             1.000000\n",
      "config/text_det_box_thresh      0.226375\n",
      "config/text_rec_score_thresh   -0.160833\n",
      "config/text_det_thresh         -0.522705\n",
      "config/text_det_unclip_ratio         NaN\n",
      "Name: CER, dtype: float64\n",
      "Correlación con WER:\n",
      " WER                             1.000000\n",
      "config/text_det_box_thresh      0.226714\n",
      "config/text_rec_score_thresh   -0.172597\n",
      "config/text_det_thresh         -0.521391\n",
      "config/text_det_unclip_ratio         NaN\n",
      "Name: WER, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "param_cols = [\n",
    "    \"config/text_det_thresh\",\n",
    "    \"config/text_det_box_thresh\",\n",
    "    \"config/text_det_unclip_ratio\",\n",
    "    \"config/text_rec_score_thresh\",\n",
    "]\n",
    "labels = [\n",
    "    \"Detection Pixel Threshold\",\n",
    "    \"Detection Box Threshold\",\n",
    "    \"Unclip Ratio\",\n",
    "    \"Recognition Score Threshold\",\n",
    "]\n",
    "\n",
    "# Correlación de Pearson con CER y WER\n",
    "corr_cer = df[param_cols + [\"CER\"]].corr()[\"CER\"].sort_values(ascending=False)\n",
    "corr_wer = df[param_cols + [\"WER\"]].corr()[\"WER\"].sort_values(ascending=False)\n",
    "\n",
    "print(\"Correlación con CER:\\n\", corr_cer)\n",
    "print(\"Correlación con WER:\\n\", corr_wer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "9462b7a2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='config/textline_orientation', ylabel='WER'>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "[encoded data, 21484 characters]",
      "text/plain": [
       "<Figure size 1000x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Direct comparison for binary parameter\n",
    "#print(\"textline_orientation=True:\")\n",
    "#print(df[df[\"config/textline_orientation\"] == True][[\"CER\", \"WER\"]].describe())\n",
    "\n",
    "#print(\"\\ntextline_orientation=False:\")\n",
    "#print(df[df[\"config/textline_orientation\"] == False][[\"CER\", \"WER\"]].describe())\n",
    "\n",
    "# Or a simple mean comparison\n",
    "df.groupby(\"config/textline_orientation\")[[\"CER\", \"WER\"]].mean()\n",
    "\n",
    "import seaborn as sns\n",
    "fig, axes = plt.subplots(1, 2, figsize=(10, 4))\n",
    "sns.boxplot(data=df, x=\"config/textline_orientation\", y=\"CER\", ax=axes[0])\n",
    "sns.boxplot(data=df, x=\"config/textline_orientation\", y=\"WER\", ax=axes[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bc78df46",
   "metadata": {},
   "source": "## Interpretación:\n\nEl CER medio es ~3.3x menor con `textline_orientation=True` (3.76% vs 12.40%). Además, la varianza es mucho menor, lo que indica resultados más consistentes.\n\nPara documentos en español con layouts mixtos (tablas, encabezados, direcciones), la clasificación de orientación ayuda a PaddleOCR a ordenar correctamente las líneas de texto.\n\n**Hallazgo clave para la tesis:** Un solo parámetro booleano (`textline_orientation`) representa más mejora que todos los parámetros continuos combinados. Para pipelines de OCR de documentos, las decisiones arquitectónicas (clasificación de orientación) importan más que el ajuste fino de umbrales."
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "02fc0a87",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 79792 characters]",
      "text/plain": [
       "<Figure size 1200x1000 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(2, 2, figsize=(12, 10))\n",
    "\n",
    "for ax, col, label in zip(axes.flat, param_cols, labels):\n",
    "    ax.scatter(df[col], df[\"CER\"], alpha=0.6)\n",
    "    ax.set_xlabel(label)\n",
    "    ax.set_ylabel(\"CER\")\n",
    "    ax.set_title(f\"Effect of {label} on CER\")\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.savefig(\"hyperparameter_analysis_cer.png\", dpi=150)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "cc1e3d53",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 83696 characters]",
      "text/plain": [
       "<Figure size 1200x1000 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(2, 2, figsize=(12, 10))\n",
    "\n",
    "for ax, col, label in zip(axes.flat, param_cols, labels):\n",
    "    ax.scatter(df[col], df[\"WER\"], alpha=0.6)\n",
    "    ax.set_xlabel(label)\n",
    "    ax.set_ylabel(\"WER\")\n",
    "    ax.set_title(f\"Effect of {label} on WER\")\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.savefig(\"hyperparameter_analysis_wer.png\", dpi=150)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "1a7e981d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best CER: 0.011535\n",
      "Best WER: 0.098902\n",
      "\n",
      "Config:\n",
      "  textline_orientation: True\n",
      "  use_doc_orientation_classify: False\n",
      "  use_doc_unwarping: False\n",
      "  text_det_thresh: 0.4690\n",
      "  text_det_box_thresh: 0.5412\n",
      "  text_det_unclip_ratio: 0.0\n",
      "  text_rec_score_thresh: 0.6350\n"
     ]
    }
   ],
   "source": [
    "best = df.loc[df[\"CER\"].idxmin()]\n",
    "print(f\"Best CER: {best['CER']:.6f}\")\n",
    "print(f\"Best WER: {best['WER']:.6f}\")\n",
    "print(f\"\\nConfig:\")\n",
    "print(f\"  textline_orientation: {best['config/textline_orientation']}\")\n",
    "print(f\"  use_doc_orientation_classify: {best['config/use_doc_orientation_classify']}\")\n",
    "print(f\"  use_doc_unwarping: {best['config/use_doc_unwarping']}\")\n",
    "print(f\"  text_det_thresh: {best['config/text_det_thresh']:.4f}\")\n",
    "print(f\"  text_det_box_thresh: {best['config/text_det_box_thresh']:.4f}\")\n",
    "print(f\"  text_det_unclip_ratio: {best['config/text_det_unclip_ratio']}\")\n",
    "print(f\"  text_rec_score_thresh: {best['config/text_rec_score_thresh']:.4f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cfacaf35",
   "metadata": {},
   "source": "### Mejor Configuración Encontrada en Ray Tune (64 trials)\n\n| Metric | Mejor Valor |\n|--------|-------------|\n| CER | **1.15%** |\n| WER | **9.89%** |\n\n**Nota:** Estos resultados corresponden a la evaluación sobre 5 páginas del dataset durante la búsqueda de hiperparámetros. La comparación final con el baseline se realiza en la siguiente sección sobre las 24 páginas completas."
  },
  {
   "cell_type": "markdown",
   "id": "7070a6e6",
   "metadata": {},
   "source": "## Análisis de Optimización de Hiperparámetros de PaddleOCR\n\n### Resumen del Experimento\n\nSe realizaron 64 pruebas de optimización de hiperparámetros utilizando Ray Tune con el algoritmo de búsqueda Optuna durante aproximadamente 6 horas y 40 minutos.\n\n**Configuración del experimento:**\n- Dataset: 5 páginas de documentos académicos UNIR (subconjunto para acelerar búsqueda)\n- Métricas objetivo: CER (Character Error Rate) y WER (Word Error Rate)\n- Tiempo promedio por trial: ~6 minutos\n\n### Configuración Óptima Encontrada\n\n| Parámetro                      | Valor   |\n|--------------------------------|---------|\n| `textline_orientation`         | True    |\n| `use_doc_orientation_classify` | False   |\n| `use_doc_unwarping`            | False   |\n| `text_det_thresh`              | 0.4690  |\n| `text_det_box_thresh`          | 0.5412  |\n| `text_det_unclip_ratio`        | 0.0     |\n| `text_rec_score_thresh`        | 0.6350  |\n\n### Análisis de Correlación\n\n| Parámetro                  | Correlación con CER | Correlación con WER | Interpretación                     |\n|----------------------------|---------------------|---------------------|------------------------------------|\n| `text_det_thresh`          | **-0.523**          | **-0.521**          | Correlación negativa fuerte        |\n| `text_det_box_thresh`      | +0.226              | +0.227              | Correlación positiva débil         |\n| `text_rec_score_thresh`    | -0.161              | -0.173              | Correlación negativa débil         |\n| `text_det_unclip_ratio`    | NaN                 | NaN                 | Sin varianza (fijado en 0.0)       |\n\n### Hallazgos Clave\n\n#### 1. Umbral de Detección de Píxeles (`text_det_thresh`)\n\nEste parámetro mostró la correlación más significativa con el rendimiento del OCR:\n\n- **Valores muy bajos (<0.1)**: Provocan fallos catastróficos con CER del 40-50%\n- **Valores medios-altos (0.3-0.6)**: Producen los mejores resultados\n- **Valor óptimo**: 0.4690\n\nLa explicación técnica es que umbrales bajos generan falsos positivos en la detección de texto, lo que corrompe el proceso de reconocimiento posterior.\n\n#### 2. Orientación de Línea de Texto (`textline_orientation`)\n\n| Configuración | CER Medio | WER Medio | Muestras |\n|---------------|-----------|-----------|----------|\n| True          | 3.76%     | 12.73%    | 53       |\n| False         | 12.40%    | 21.71%    | 11       |\n\nHabilitar la corrección de orientación de línea de texto reduce el CER en un **69.7%** comparado con deshabilitarlo. Este es el hallazgo más significativo del experimento.\n\n#### 3. Umbral de Caja de Detección (`text_det_box_thresh`)\n\n- Correlación positiva débil indica que valores extremos (muy altos o muy bajos) perjudican el rendimiento\n- El valor óptimo (0.5412) se encuentra en el rango medio-alto\n\n#### 4. Umbral de Reconocimiento (`text_rec_score_thresh`)\n\n- Ligero beneficio al usar umbrales más altos\n- Filtra predicciones de baja confianza, mejorando la precisión final\n- Valor óptimo: 0.6350\n\n### Estadísticas Descriptivas del Experimento (64 trials)\n\n| Estadística | CER      | WER      | Tiempo (s) |\n|-------------|----------|----------|------------|\n| Media       | 5.25%    | 14.28%   | 347.6      |\n| Desv. Est.  | 11.03%   | 10.75%   | 7.9        |\n| Mínimo      | 1.15%    | 9.89%    | 321.0      |\n| Máximo      | 51.61%   | 59.45%   | 368.6      |\n| Mediana     | 1.23%    | 10.20%   | 346.4      |\n\n### Limitaciones del Experimento\n\n1. **Tamaño del dataset de búsqueda**: Solo 5 páginas para acelerar la optimización\n2. **Parámetro sin varianza**: `text_det_unclip_ratio` quedó fijado en 0.0 durante todo el experimento\n3. **Ejecución en CPU**: Sin aceleración GPU disponible (tiempo por página ~69s)\n\n### Conclusiones de la Búsqueda\n\n1. El parámetro más crítico es `textline_orientation=True`, con una reducción del 69.7% en CER\n2. El parámetro `text_det_thresh` tiene una correlación de -0.52 con el CER\n3. Los valores extremos en los umbrales de detección provocan degradación significativa del rendimiento\n4. La configuración óptima se valida en la siguiente sección sobre el dataset completo (24 páginas)"
  },
  {
   "cell_type": "markdown",
   "id": "9a38b3c4",
   "metadata": {},
   "source": [
    "## Baseline vs HyperParam adjust"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "6c234f69",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\sji\\AppData\\Local\\Temp\\ipykernel_47848\\3956412736.py:16: UserWarning: `lang` and `ocr_version` will be ignored when model names or model directories are not `None`.\n",
      "  ocr = PaddleOCR(\n",
      "\u001b[32mCreating model: ('PP-LCNet_x1_0_doc_ori', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-LCNet_x1_0_doc_ori`.\u001b[0m\n",
      "\u001b[32mCreating model: ('UVDoc', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\UVDoc`.\u001b[0m\n",
      "\u001b[32mCreating model: ('PP-LCNet_x1_0_textline_ori', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-LCNet_x1_0_textline_ori`.\u001b[0m\n",
      "\u001b[32mCreating model: ('PP-OCRv5_server_det', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-OCRv5_server_det`.\u001b[0m\n",
      "\u001b[32mCreating model: ('PP-OCRv5_server_rec', None)\u001b[0m\n",
      "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-OCRv5_server_rec`.\u001b[0m\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "24 out of 24 - 77.74ss\r"
     ]
    }
   ],
   "source": [
    "import os\n",
    "from paddleocr import PaddleOCR\n",
    "from paddle_ocr_tuning import evaluate_text, assemble_from_paddle_result\n",
    "from dataset_manager import ImageTextDataset\n",
    "import numpy as np\n",
    "import time\n",
    "\n",
    "PDF_FOLDER = './dataset'  # Folder containing PDF files\n",
    "PDF_FOLDER_ABS = os.path.abspath(PDF_FOLDER)\n",
    "\n",
    "dataset = ImageTextDataset(PDF_FOLDER_ABS)\n",
    "\n",
    "\n",
    "# Initialize with better settings for Spanish/Latin text\n",
    "# https://www.paddleocr.ai/main/en/version3.x/algorithm/PP-OCRv5/PP-OCRv5_multi_languages.html?utm_source=chatgpt.com#5-models-and-their-supported-languages\n",
    "ocr = PaddleOCR(\n",
    "    text_detection_model_name=\"PP-OCRv5_server_det\",\n",
    "    text_recognition_model_name=\"PP-OCRv5_server_rec\",\n",
    "    lang=\"es\", # ignored because we are feeding directly the models\n",
    ")\n",
    "\n",
    "results = []\n",
    "for i, (img, txt) in enumerate(dataset, 1):    \n",
    "    start = time.time()\n",
    "    image_array = np.array(img)\n",
    "    out = ocr.predict(\n",
    "        image_array\n",
    "    )\n",
    "    out_opti = ocr.predict(\n",
    "        image_array,\n",
    "        use_doc_orientation_classify=best['config/use_doc_orientation_classify'],\n",
    "        use_doc_unwarping=best['config/use_doc_unwarping'],\n",
    "        use_textline_orientation=best['config/textline_orientation'],\n",
    "        text_det_thresh=best['config/text_det_thresh'],\n",
    "        text_det_box_thresh=best['config/text_det_box_thresh'],\n",
    "        text_det_unclip_ratio=best['config/text_det_unclip_ratio'],\n",
    "        text_rec_score_thresh=best['config/text_rec_score_thresh']\n",
    "    )\n",
    "    # ocr time and progress\n",
    "    elapsed = time.time() - start\n",
    "    print(f\"{i} out of {len(dataset)} - {elapsed:.2f}s\", end='\\r')\n",
    "\n",
    "    #store metrics\n",
    "    paddle_text = assemble_from_paddle_result(out)\n",
    "    paddle_adjust_text = assemble_from_paddle_result(out_opti)\n",
    "    results.append({'Model': 'PaddleOCR', 'Prediction': paddle_text, **evaluate_text(txt, paddle_text)})\n",
    "    results.append({'Model': 'PaddleOCR-HyperAdjust', 'Prediction': paddle_adjust_text, **evaluate_text(txt, paddle_adjust_text)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "e00e155d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benchmark results saved as ai_ocr_benchmark_finetune_results_20251208_122426.csv\n",
      "                            WER       CER\n",
      "Model                                    \n",
      "PaddleOCR              0.149400  0.077756\n",
      "PaddleOCR-HyperAdjust  0.076225  0.014869\n"
     ]
    },
    {
     "data": {
      "image/png": "[encoded data, 29044 characters]",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os\n",
    "import pandas as pd\n",
    "from datetime import datetime\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "OUTPUT_FOLDER = 'results'\n",
    "os.makedirs(OUTPUT_FOLDER, exist_ok=True)\n",
    "\n",
    "df_results = pd.DataFrame(results)\n",
    "\n",
    "# Generate a unique filename with timestamp\n",
    "timestamp = datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n",
    "filename = f\"ai_ocr_benchmark_finetune_results_{timestamp}.csv\"\n",
    "filepath = os.path.join(OUTPUT_FOLDER, filename)\n",
    "\n",
    "df_results.to_csv(filepath, index=False)\n",
    "print(f\"Benchmark results saved as {filename}\")\n",
    "\n",
    "# Summary by model\n",
    "summary = df_results.groupby('Model')[['WER', 'CER']].mean()\n",
    "print(summary)\n",
    "\n",
    "# Plot\n",
    "summary.plot(kind='bar', figsize=(8,5), title='AI OCR Benchmark (WER & CER)')\n",
    "plt.ylabel('Error Rate')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75a15927",
   "metadata": {},
   "source": [
    "## Comparación Final: PaddleOCR Baseline vs Configuración Optimizada\n",
    "\n",
    "### Resultados del Benchmark\n",
    "\n",
    "| Modelo                 | CER    | Precisión de Caracteres |\n",
    "|------------------------|--------|-------------------------|\n",
    "| PaddleOCR (Baseline)   | 7.78%  | **92.22%**              |\n",
    "| PaddleOCR-HyperAdjust  | 1.49%  | **98.51%**              |\n",
    "\n",
    "| Modelo                 | WER    | Precisión de Palabras   |\n",
    "|------------------------|--------|-------------------------|\n",
    "| PaddleOCR (Baseline)   | 14.94% | **85.06%**              |\n",
    "| PaddleOCR-HyperAdjust  | 7.62%  | **92.38%**              |\n",
    "\n",
    "### Interpretación Correcta\n",
    "\n",
    "#### Lo que realmente muestran los datos\n",
    "\n",
    "1. **El baseline ya era funcional**: Con 92.22% de precisión a nivel de carácter, el sistema base ya producía resultados utilizables.\n",
    "\n",
    "2. **La mejora en términos absolutos**:\n",
    "   - Precisión de caracteres: 92.22% → 98.51% (**+6.29 puntos porcentuales**)\n",
    "   - Precisión de palabras: 85.06% → 92.38% (**+7.32 puntos porcentuales**)\n",
    "\n",
    "3. **Reducción del error residual**:\n",
    "   - El CER se redujo de 7.78% a 1.49% (reducción del 80.9% del error)\n",
    "   - Pero en términos de precisión, pasamos de 92% a 98.5%\n",
    "\n",
    "### Formas de Presentar el Resultado\n",
    "\n",
    "| Forma de Medición              | Valor                          |\n",
    "|--------------------------------|--------------------------------|\n",
    "| Mejora en precisión (absoluta) | +6.29 puntos porcentuales      |\n",
    "| Reducción del error (relativa) | 80.9% menos errores            |\n",
    "| Precisión final alcanzada      | 98.51%                         |\n",
    "\n",
    "### Conclusión Equilibrada\n",
    "\n",
    "> La optimización de hiperparámetros mejoró la precisión de caracteres de **92.2% a 98.5%**, una ganancia de 6.3 puntos porcentuales. Aunque el baseline ya ofrecía resultados aceptables, la configuración optimizada reduce los errores residuales en un 80.9%, lo cual es relevante para aplicaciones que requieren alta fidelidad en la extracción de texto.\n",
    "\n",
    "### Contexto Práctico\n",
    "\n",
    "En un documento de 10,000 caracteres:\n",
    "\n",
    "| Modelo    | Errores esperados |\n",
    "|-----------|-------------------|\n",
    "| Baseline  | ~778 caracteres   |\n",
    "| Optimizado| ~149 caracteres   |\n",
    "\n",
    "La diferencia de **~629 caracteres menos con errores** puede ser significativa para tareas downstream como NER o análisis semántico."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv (3.11.9)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}