Paddle ocr gpu support. #4
@@ -12,7 +12,6 @@ on:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
PADDLE_VERSION: "3.0.0"
|
PADDLE_VERSION: "3.0.0"
|
||||||
WHEEL_BASE_URL: "https://seryus.ddns.net/api/packages/unir/generic"
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
essential:
|
essential:
|
||||||
@@ -33,22 +32,14 @@ jobs:
|
|||||||
echo "Version: 1.0.${{ gitea.run_number }}" >> $GITHUB_STEP_SUMMARY
|
echo "Version: 1.0.${{ gitea.run_number }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Event: ${{ gitea.event_name }}" >> $GITHUB_STEP_SUMMARY
|
echo "Event: ${{ gitea.event_name }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
# CPU image: Matrix build for amd64 and arm64
|
# PaddleOCR CPU image (amd64 only)
|
||||||
build_cpu:
|
build_cpu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: essential
|
needs: essential
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
platform:
|
|
||||||
- linux/amd64
|
|
||||||
- linux/arm64
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@@ -59,50 +50,25 @@ jobs:
|
|||||||
username: username
|
username: username
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
password: ${{ secrets.CI_READWRITE }}
|
||||||
|
|
||||||
- name: Get arch suffix
|
- name: Build and push CPU image
|
||||||
id: arch
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
|
|
||||||
echo "suffix=amd64" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "suffix=arm64" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Download ARM64 wheel from Gitea packages
|
|
||||||
if: matrix.platform == 'linux/arm64'
|
|
||||||
run: |
|
|
||||||
mkdir -p src/paddle_ocr/wheels
|
|
||||||
curl -L -o src/paddle_ocr/wheels/paddlepaddle-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl \
|
|
||||||
"${{ env.WHEEL_BASE_URL }}/paddlepaddle-cpu-arm64/${{ env.PADDLE_VERSION }}/paddlepaddle-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl"
|
|
||||||
ls -la src/paddle_ocr/wheels/
|
|
||||||
|
|
||||||
- name: Build and push CPU image (${{ matrix.platform }})
|
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: src/paddle_ocr
|
context: src/paddle_ocr
|
||||||
file: src/paddle_ocr/Dockerfile.cpu
|
file: src/paddle_ocr/Dockerfile.cpu
|
||||||
platforms: ${{ matrix.platform }}
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}
|
||||||
${{ needs.essential.outputs.image_cpu }}:${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_cpu }}:latest
|
||||||
|
|
||||||
# GPU image: Matrix build for amd64 and arm64
|
# PaddleOCR GPU image (amd64 only)
|
||||||
build_gpu:
|
build_gpu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: essential
|
needs: essential
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
platform:
|
|
||||||
- linux/amd64
|
|
||||||
- linux/arm64
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@@ -113,92 +79,25 @@ jobs:
|
|||||||
username: username
|
username: username
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
password: ${{ secrets.CI_READWRITE }}
|
||||||
|
|
||||||
- name: Get arch suffix
|
- name: Build and push GPU image
|
||||||
id: arch
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
|
|
||||||
echo "suffix=amd64" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "suffix=arm64" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Download ARM64 GPU wheel from Gitea packages
|
|
||||||
if: matrix.platform == 'linux/arm64'
|
|
||||||
run: |
|
|
||||||
mkdir -p src/paddle_ocr/wheels
|
|
||||||
curl -L -o src/paddle_ocr/wheels/paddlepaddle_gpu-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl \
|
|
||||||
"${{ env.WHEEL_BASE_URL }}/paddlepaddle-gpu-arm64/${{ env.PADDLE_VERSION }}/paddlepaddle_gpu-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl"
|
|
||||||
ls -la src/paddle_ocr/wheels/
|
|
||||||
|
|
||||||
- name: Build and push GPU image (${{ matrix.platform }})
|
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: src/paddle_ocr
|
context: src/paddle_ocr
|
||||||
file: src/paddle_ocr/Dockerfile.gpu
|
file: src/paddle_ocr/Dockerfile.gpu
|
||||||
platforms: ${{ matrix.platform }}
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}
|
||||||
${{ needs.essential.outputs.image_gpu }}:${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_gpu }}:latest
|
||||||
|
|
||||||
# Create multi-arch manifest for CPU image
|
# EasyOCR CPU image (amd64 only)
|
||||||
manifest_cpu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [essential, build_cpu]
|
|
||||||
steps:
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Create multi-arch manifest (CPU)
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_cpu }}:latest \
|
|
||||||
${{ needs.essential.outputs.image_cpu }}:amd64 \
|
|
||||||
${{ needs.essential.outputs.image_cpu }}:arm64
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }} \
|
|
||||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}-amd64 \
|
|
||||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}-arm64
|
|
||||||
|
|
||||||
# Create multi-arch manifest for GPU image
|
|
||||||
manifest_gpu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [essential, build_gpu]
|
|
||||||
steps:
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Create multi-arch manifest (GPU)
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_gpu }}:latest \
|
|
||||||
${{ needs.essential.outputs.image_gpu }}:amd64 \
|
|
||||||
${{ needs.essential.outputs.image_gpu }}:arm64
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }} \
|
|
||||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}-amd64 \
|
|
||||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}-arm64
|
|
||||||
|
|
||||||
# EasyOCR image: Matrix build for amd64 and arm64
|
|
||||||
build_easyocr:
|
build_easyocr:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: essential
|
needs: essential
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
platform:
|
|
||||||
- linux/amd64
|
|
||||||
- linux/arm64
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@@ -209,131 +108,25 @@ jobs:
|
|||||||
username: username
|
username: username
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
password: ${{ secrets.CI_READWRITE }}
|
||||||
|
|
||||||
- name: Get arch suffix
|
- name: Build and push EasyOCR image
|
||||||
id: arch
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
|
|
||||||
echo "suffix=amd64" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "suffix=arm64" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and push EasyOCR image (${{ matrix.platform }})
|
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: src/easyocr_service
|
context: src/easyocr_service
|
||||||
file: src/easyocr_service/Dockerfile
|
file: src/easyocr_service/Dockerfile
|
||||||
platforms: ${{ matrix.platform }}
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}
|
||||||
${{ needs.essential.outputs.image_easyocr }}:${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_easyocr }}:latest
|
||||||
|
|
||||||
# DocTR image: Matrix build for amd64 and arm64
|
# EasyOCR GPU image (amd64 only)
|
||||||
build_doctr:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: essential
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
platform:
|
|
||||||
- linux/amd64
|
|
||||||
- linux/arm64
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Get arch suffix
|
|
||||||
id: arch
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
|
|
||||||
echo "suffix=amd64" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "suffix=arm64" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and push DocTR image (${{ matrix.platform }})
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
context: src/doctr_service
|
|
||||||
file: src/doctr_service/Dockerfile
|
|
||||||
platforms: ${{ matrix.platform }}
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
|
||||||
${{ needs.essential.outputs.image_doctr }}:${{ steps.arch.outputs.suffix }}
|
|
||||||
|
|
||||||
# Create multi-arch manifest for EasyOCR image
|
|
||||||
manifest_easyocr:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [essential, build_easyocr]
|
|
||||||
steps:
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Create multi-arch manifest (EasyOCR)
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr }}:latest \
|
|
||||||
${{ needs.essential.outputs.image_easyocr }}:amd64 \
|
|
||||||
${{ needs.essential.outputs.image_easyocr }}:arm64
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }} \
|
|
||||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}-amd64 \
|
|
||||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}-arm64
|
|
||||||
|
|
||||||
# Create multi-arch manifest for DocTR image
|
|
||||||
manifest_doctr:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [essential, build_doctr]
|
|
||||||
steps:
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Create multi-arch manifest (DocTR)
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr }}:latest \
|
|
||||||
${{ needs.essential.outputs.image_doctr }}:amd64 \
|
|
||||||
${{ needs.essential.outputs.image_doctr }}:arm64
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }} \
|
|
||||||
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}-amd64 \
|
|
||||||
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}-arm64
|
|
||||||
|
|
||||||
# EasyOCR GPU image: Matrix build for amd64 and arm64
|
|
||||||
# PyTorch cu128 has wheels for both architectures
|
|
||||||
build_easyocr_gpu:
|
build_easyocr_gpu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: essential
|
needs: essential
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
platform:
|
|
||||||
- linux/amd64
|
|
||||||
- linux/arm64
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@@ -344,43 +137,25 @@ jobs:
|
|||||||
username: username
|
username: username
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
password: ${{ secrets.CI_READWRITE }}
|
||||||
|
|
||||||
- name: Get arch suffix
|
- name: Build and push EasyOCR GPU image
|
||||||
id: arch
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
|
|
||||||
echo "suffix=amd64" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "suffix=arm64" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Build and push EasyOCR GPU image (${{ matrix.platform }})
|
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: src/easyocr_service
|
context: src/easyocr_service
|
||||||
file: src/easyocr_service/Dockerfile.gpu
|
file: src/easyocr_service/Dockerfile.gpu
|
||||||
platforms: ${{ matrix.platform }}
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}
|
||||||
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_easyocr_gpu }}:latest
|
||||||
|
|
||||||
# DocTR GPU image: Matrix build for amd64 and arm64
|
# DocTR CPU image (amd64 only)
|
||||||
# PyTorch cu128 has wheels for both architectures
|
build_doctr:
|
||||||
build_doctr_gpu:
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: essential
|
needs: essential
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
platform:
|
|
||||||
- linux/amd64
|
|
||||||
- linux/arm64
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@@ -391,64 +166,42 @@ jobs:
|
|||||||
username: username
|
username: username
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
password: ${{ secrets.CI_READWRITE }}
|
||||||
|
|
||||||
- name: Get arch suffix
|
- name: Build and push DocTR image
|
||||||
id: arch
|
uses: docker/build-push-action@v5
|
||||||
run: |
|
with:
|
||||||
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
|
context: src/doctr_service
|
||||||
echo "suffix=amd64" >> $GITHUB_OUTPUT
|
file: src/doctr_service/Dockerfile
|
||||||
else
|
platforms: linux/amd64
|
||||||
echo "suffix=arm64" >> $GITHUB_OUTPUT
|
push: true
|
||||||
fi
|
tags: |
|
||||||
|
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}
|
||||||
|
${{ needs.essential.outputs.image_doctr }}:latest
|
||||||
|
|
||||||
- name: Build and push DocTR GPU image (${{ matrix.platform }})
|
# DocTR GPU image (amd64 only)
|
||||||
|
build_doctr_gpu:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: essential
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Gitea Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ${{ needs.essential.outputs.repo }}
|
||||||
|
username: username
|
||||||
|
password: ${{ secrets.CI_READWRITE }}
|
||||||
|
|
||||||
|
- name: Build and push DocTR GPU image
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: src/doctr_service
|
context: src/doctr_service
|
||||||
file: src/doctr_service/Dockerfile.gpu
|
file: src/doctr_service/Dockerfile.gpu
|
||||||
platforms: ${{ matrix.platform }}
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}
|
||||||
${{ needs.essential.outputs.image_doctr_gpu }}:${{ steps.arch.outputs.suffix }}
|
${{ needs.essential.outputs.image_doctr_gpu }}:latest
|
||||||
|
|
||||||
# Create multi-arch manifest for EasyOCR GPU image
|
|
||||||
manifest_easyocr_gpu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [essential, build_easyocr_gpu]
|
|
||||||
steps:
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Create multi-arch manifest (EasyOCR GPU)
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr_gpu }}:latest \
|
|
||||||
${{ needs.essential.outputs.image_easyocr_gpu }}:amd64 \
|
|
||||||
${{ needs.essential.outputs.image_easyocr_gpu }}:arm64
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }} \
|
|
||||||
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}-amd64 \
|
|
||||||
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}-arm64
|
|
||||||
|
|
||||||
# Create multi-arch manifest for DocTR GPU image
|
|
||||||
manifest_doctr_gpu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [essential, build_doctr_gpu]
|
|
||||||
steps:
|
|
||||||
- name: Login to Gitea Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ${{ needs.essential.outputs.repo }}
|
|
||||||
username: username
|
|
||||||
password: ${{ secrets.CI_READWRITE }}
|
|
||||||
|
|
||||||
- name: Create multi-arch manifest (DocTR GPU)
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr_gpu }}:latest \
|
|
||||||
${{ needs.essential.outputs.image_doctr_gpu }}:amd64 \
|
|
||||||
${{ needs.essential.outputs.image_doctr_gpu }}:arm64
|
|
||||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }} \
|
|
||||||
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}-amd64 \
|
|
||||||
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}-arm64
|
|
||||||
|
|||||||
@@ -8,61 +8,186 @@ El código fuente completo y los datos utilizados en este trabajo están disponi
|
|||||||
|
|
||||||
El repositorio incluye:
|
El repositorio incluye:
|
||||||
|
|
||||||
- **Notebooks de experimentación**: Código completo de los experimentos realizados
|
- **Servicios OCR dockerizados**: PaddleOCR, DocTR, EasyOCR con soporte GPU
|
||||||
- **Scripts de evaluación**: Herramientas para evaluar modelos OCR
|
- **Scripts de evaluación**: Herramientas para evaluar y comparar modelos OCR
|
||||||
|
- **Scripts de ajuste**: Ray Tune con Optuna para optimización de hiperparámetros
|
||||||
- **Dataset**: Imágenes y textos de referencia utilizados
|
- **Dataset**: Imágenes y textos de referencia utilizados
|
||||||
- **Resultados**: Archivos CSV con los resultados de los 64 trials de Ray Tune
|
- **Resultados**: Archivos CSV con los resultados de los 64 trials por servicio
|
||||||
|
|
||||||
## A.2 Estructura del Repositorio
|
## A.2 Estructura del Repositorio
|
||||||
|
|
||||||
```mermaid
|
|
||||||
---
|
|
||||||
title: "Estructura del repositorio del proyecto"
|
|
||||||
---
|
|
||||||
flowchart LR
|
|
||||||
root["MastersThesis/"] --> docs["docs/"]
|
|
||||||
root --> src["src/"]
|
|
||||||
root --> instructions["instructions/"]
|
|
||||||
root --> scripts["Scripts generación"]
|
|
||||||
|
|
||||||
src --> nb1["paddle_ocr_fine_tune_unir_raytune.ipynb"]
|
|
||||||
src --> py1["paddle_ocr_tuning.py"]
|
|
||||||
src --> csv["raytune_paddle_subproc_results_*.csv"]
|
|
||||||
|
|
||||||
scripts --> gen1["generate_mermaid_figures.py"]
|
|
||||||
scripts --> gen2["apply_content.py"]
|
|
||||||
```
|
```
|
||||||
|
MastersThesis/
|
||||||
**Descripción de componentes:**
|
├── docs/ # Documentación de la tesis
|
||||||
|
│ └── metrics/ # Métricas de rendimiento OCR
|
||||||
- **docs/**: Capítulos de la tesis en Markdown (estructura UNIR)
|
│ ├── metrics.md # Resumen comparativo
|
||||||
- **src/**: Código fuente de experimentación
|
│ ├── metrics_paddle.md # Resultados PaddleOCR
|
||||||
- `paddle_ocr_fine_tune_unir_raytune.ipynb`: Notebook principal con 64 trials Ray Tune
|
│ ├── metrics_doctr.md # Resultados DocTR
|
||||||
- `paddle_ocr_tuning.py`: Script CLI para evaluación OCR
|
│ └── metrics_easyocr.md # Resultados EasyOCR
|
||||||
- `raytune_paddle_subproc_results_20251207_192320.csv`: Resultados de optimización
|
├── src/
|
||||||
- **instructions/**: Plantilla e instrucciones UNIR
|
│ ├── paddle_ocr/ # Servicio PaddleOCR
|
||||||
- **Scripts de generación**: `generate_mermaid_figures.py` y `apply_content.py` para generar el documento TFM
|
│ │ ├── Dockerfile.gpu # Imagen Docker GPU
|
||||||
|
│ │ ├── Dockerfile.cpu # Imagen Docker CPU
|
||||||
|
│ │ ├── docker-compose.yml # Configuración Docker
|
||||||
|
│ │ └── main.py # API FastAPI
|
||||||
|
│ ├── doctr_service/ # Servicio DocTR
|
||||||
|
│ │ ├── Dockerfile.gpu
|
||||||
|
│ │ ├── docker-compose.yml
|
||||||
|
│ │ └── main.py
|
||||||
|
│ ├── easyocr_service/ # Servicio EasyOCR
|
||||||
|
│ │ ├── Dockerfile.gpu
|
||||||
|
│ │ ├── docker-compose.yml
|
||||||
|
│ │ └── main.py
|
||||||
|
│ ├── dataset/ # Dataset de evaluación
|
||||||
|
│ ├── raytune_ocr.py # Utilidades compartidas Ray Tune
|
||||||
|
│ └── results/ # Resultados de ajuste CSV
|
||||||
|
└── .gitea/workflows/ci.yaml # Pipeline CI/CD
|
||||||
|
```
|
||||||
|
|
||||||
## A.3 Requisitos de Software
|
## A.3 Requisitos de Software
|
||||||
|
|
||||||
Para reproducir los experimentos se requieren las siguientes dependencias:
|
### Sistema de Desarrollo
|
||||||
|
|
||||||
|
| Componente | Especificación |
|
||||||
|
|------------|----------------|
|
||||||
|
| Sistema Operativo | Ubuntu 24.04.3 LTS |
|
||||||
|
| CPU | AMD Ryzen 7 5800H |
|
||||||
|
| RAM | 16 GB DDR4 |
|
||||||
|
| GPU | NVIDIA RTX 3060 Laptop (5.66 GB VRAM) |
|
||||||
|
| CUDA | 12.4 |
|
||||||
|
|
||||||
|
### Dependencias
|
||||||
|
|
||||||
| Componente | Versión |
|
| Componente | Versión |
|
||||||
|------------|---------|
|
|------------|---------|
|
||||||
| Python | 3.11.9 |
|
| Python | 3.11 |
|
||||||
| PaddlePaddle | 3.2.2 |
|
| Docker | 24+ |
|
||||||
| PaddleOCR | 3.3.2 |
|
| NVIDIA Container Toolkit | Requerido para GPU |
|
||||||
| Ray | 2.52.1 |
|
| Ray | 2.52+ |
|
||||||
| Optuna | 4.6.0 |
|
| Optuna | 4.6+ |
|
||||||
| jiwer | (última versión) |
|
|
||||||
| PyMuPDF | (última versión) |
|
|
||||||
|
|
||||||
## A.4 Instrucciones de Ejecución
|
## A.4 Instrucciones de Ejecución de Servicios OCR
|
||||||
|
|
||||||
1. Clonar el repositorio
|
### PaddleOCR (Puerto 8002)
|
||||||
2. Instalar dependencias: `pip install -r requirements.txt`
|
|
||||||
3. Ejecutar el notebook `src/paddle_ocr_fine_tune_unir_raytune.ipynb`
|
|
||||||
|
|
||||||
## A.5 Licencia
|
```bash
|
||||||
|
cd src/paddle_ocr
|
||||||
|
|
||||||
|
# GPU (recomendado)
|
||||||
|
docker compose up -d
|
||||||
|
|
||||||
|
# CPU (más lento, 126x)
|
||||||
|
docker compose -f docker-compose.cpu-registry.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### DocTR (Puerto 8003)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd src/doctr_service
|
||||||
|
|
||||||
|
# GPU
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### EasyOCR (Puerto 8002)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd src/easyocr_service
|
||||||
|
|
||||||
|
# GPU
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verificar Estado del Servicio
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Verificar salud del servicio
|
||||||
|
curl http://localhost:8002/health
|
||||||
|
|
||||||
|
# Respuesta esperada:
|
||||||
|
# {"status": "ok", "model_loaded": true, "gpu_name": "NVIDIA GeForce RTX 3060"}
|
||||||
|
```
|
||||||
|
|
||||||
|
## A.5 Uso de la API OCR
|
||||||
|
|
||||||
|
### Evaluar Dataset Completo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PaddleOCR - Evaluación completa
|
||||||
|
curl -X POST http://localhost:8002/evaluate_full \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"pdf_folder": "/app/dataset",
|
||||||
|
"save_output": true
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Evaluar con Hiperparámetros Optimizados
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PaddleOCR con configuración óptima
|
||||||
|
curl -X POST http://localhost:8002/evaluate_full \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"pdf_folder": "/app/dataset",
|
||||||
|
"use_doc_orientation_classify": true,
|
||||||
|
"use_doc_unwarping": false,
|
||||||
|
"textline_orientation": true,
|
||||||
|
"text_det_thresh": 0.0462,
|
||||||
|
"text_det_box_thresh": 0.4862,
|
||||||
|
"text_det_unclip_ratio": 0.0,
|
||||||
|
"text_rec_score_thresh": 0.5658,
|
||||||
|
"save_output": true
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
## A.6 Ajuste de Hiperparámetros con Ray Tune
|
||||||
|
|
||||||
|
### Ejecutar Ajuste
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd src
|
||||||
|
|
||||||
|
# Activar entorno virtual
|
||||||
|
source ../.venv/bin/activate
|
||||||
|
|
||||||
|
# PaddleOCR (64 muestras)
|
||||||
|
python -c "
|
||||||
|
from raytune_ocr import *
|
||||||
|
|
||||||
|
ports = [8002]
|
||||||
|
check_workers(ports, 'PaddleOCR')
|
||||||
|
trainable = create_trainable(ports, paddle_ocr_payload)
|
||||||
|
results = run_tuner(trainable, PADDLE_OCR_SEARCH_SPACE, num_samples=64)
|
||||||
|
analyze_results(results, prefix='raytune_paddle', config_keys=PADDLE_OCR_CONFIG_KEYS)
|
||||||
|
"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Servicios y Puertos
|
||||||
|
|
||||||
|
| Servicio | Puerto | Script de Ajuste |
|
||||||
|
|----------|--------|------------------|
|
||||||
|
| PaddleOCR | 8002 | `paddle_ocr_payload` |
|
||||||
|
| DocTR | 8003 | `doctr_payload` |
|
||||||
|
| EasyOCR | 8002 | `easyocr_payload` |
|
||||||
|
|
||||||
|
## A.7 Métricas de Rendimiento
|
||||||
|
|
||||||
|
Los resultados detallados de las evaluaciones y ajustes de hiperparámetros se encuentran en:
|
||||||
|
|
||||||
|
- [Métricas Generales](metrics/metrics.md) - Comparativa de los tres servicios
|
||||||
|
- [PaddleOCR](metrics/metrics_paddle.md) - Mejor precisión (7.72% CER)
|
||||||
|
- [DocTR](metrics/metrics_doctr.md) - Más rápido (0.50s/página)
|
||||||
|
- [EasyOCR](metrics/metrics_easyocr.md) - Balance intermedio
|
||||||
|
|
||||||
|
### Resumen de Resultados
|
||||||
|
|
||||||
|
| Servicio | CER Base | CER Ajustado | Mejora |
|
||||||
|
|----------|----------|--------------|--------|
|
||||||
|
| **PaddleOCR** | 8.85% | **7.72%** | 12.8% |
|
||||||
|
| DocTR | 12.06% | 12.07% | 0% |
|
||||||
|
| EasyOCR | 11.23% | 11.14% | 0.8% |
|
||||||
|
|
||||||
|
## A.8 Licencia
|
||||||
|
|
||||||
El código se distribuye bajo licencia MIT.
|
El código se distribuye bajo licencia MIT.
|
||||||
|
|||||||
289
docs/metrics.md
289
docs/metrics.md
@@ -1,289 +0,0 @@
|
|||||||
# PaddleOCR Performance Metrics: CPU vs GPU
|
|
||||||
|
|
||||||
**Benchmark Date:** 2026-01-17
|
|
||||||
**Updated:** 2026-01-17 (GPU fix applied)
|
|
||||||
**Test Dataset:** 5 pages (pages 5-10)
|
|
||||||
**Platform:** Linux (NVIDIA GB10 GPU, 119.70 GB VRAM)
|
|
||||||
|
|
||||||
## Executive Summary
|
|
||||||
|
|
||||||
| Metric | GPU | CPU | Difference |
|
|
||||||
|--------|-----|-----|------------|
|
|
||||||
| **Time per Page** | 0.86s | 84.25s | GPU is **97.6x faster** |
|
|
||||||
| **Total Time (5 pages)** | 4.63s | 421.59s | 7 min saved |
|
|
||||||
| **CER (Character Error Rate)** | 100%* | 3.96% | *Recognition issue |
|
|
||||||
| **WER (Word Error Rate)** | 100%* | 13.65% | *Recognition issue |
|
|
||||||
|
|
||||||
> **UPDATE (2026-01-17):** GPU CUDA support fixed! PaddlePaddle wheel rebuilt with PTX for Blackwell forward compatibility. GPU inference now runs at full speed (0.86s/page vs 84s CPU). However, 100% error rate persists - this appears to be a separate OCR model/recognition issue, not CUDA-related.
|
|
||||||
|
|
||||||
## Performance Comparison
|
|
||||||
|
|
||||||
### Processing Speed (Time per Page)
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
xychart-beta
|
|
||||||
title "Processing Time per Page (seconds)"
|
|
||||||
x-axis ["GPU", "CPU"]
|
|
||||||
y-axis "Seconds" 0 --> 90
|
|
||||||
bar [0.86, 84.25]
|
|
||||||
```
|
|
||||||
|
|
||||||
### Speed Ratio Visualization
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
pie showData
|
|
||||||
title "Relative Processing Time"
|
|
||||||
"GPU (1x)" : 1
|
|
||||||
"CPU (97.6x slower)" : 97.6
|
|
||||||
```
|
|
||||||
|
|
||||||
### Total Benchmark Time
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
xychart-beta
|
|
||||||
title "Total Time for 5 Pages (seconds)"
|
|
||||||
x-axis ["GPU", "CPU"]
|
|
||||||
y-axis "Seconds" 0 --> 450
|
|
||||||
bar [4.63, 421.59]
|
|
||||||
```
|
|
||||||
|
|
||||||
## OCR Accuracy Metrics (CPU Container - Baseline Config)
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
xychart-beta
|
|
||||||
title "OCR Error Rates (CPU Container)"
|
|
||||||
x-axis ["CER", "WER"]
|
|
||||||
y-axis "Error Rate %" 0 --> 20
|
|
||||||
bar [3.96, 13.65]
|
|
||||||
```
|
|
||||||
|
|
||||||
## Architecture Overview
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
flowchart TB
|
|
||||||
subgraph Client
|
|
||||||
A[Test Script<br/>benchmark.py]
|
|
||||||
end
|
|
||||||
|
|
||||||
subgraph "Docker Containers"
|
|
||||||
subgraph GPU["GPU Container :8000"]
|
|
||||||
B[FastAPI Server]
|
|
||||||
C[PaddleOCR<br/>CUDA Backend]
|
|
||||||
D[NVIDIA GB10<br/>119.70 GB VRAM]
|
|
||||||
end
|
|
||||||
|
|
||||||
subgraph CPU["CPU Container :8002"]
|
|
||||||
E[FastAPI Server]
|
|
||||||
F[PaddleOCR<br/>CPU Backend]
|
|
||||||
G[ARM64 CPU]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
subgraph Storage
|
|
||||||
H[(Dataset<br/>45 PDFs)]
|
|
||||||
end
|
|
||||||
|
|
||||||
A -->|REST API| B
|
|
||||||
A -->|REST API| E
|
|
||||||
B --> C --> D
|
|
||||||
E --> F --> G
|
|
||||||
C --> H
|
|
||||||
F --> H
|
|
||||||
```
|
|
||||||
|
|
||||||
## Benchmark Workflow
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
sequenceDiagram
|
|
||||||
participant T as Test Script
|
|
||||||
participant G as GPU Container
|
|
||||||
participant C as CPU Container
|
|
||||||
|
|
||||||
T->>G: Health Check
|
|
||||||
G-->>T: Ready (model_loaded: true)
|
|
||||||
|
|
||||||
T->>C: Health Check
|
|
||||||
C-->>T: Ready (model_loaded: true)
|
|
||||||
|
|
||||||
Note over T,G: GPU Benchmark
|
|
||||||
T->>G: Warmup (1 page)
|
|
||||||
G-->>T: Complete
|
|
||||||
T->>G: POST /evaluate (Baseline)
|
|
||||||
G-->>T: 4.63s total (0.86s/page)
|
|
||||||
T->>G: POST /evaluate (Optimized)
|
|
||||||
G-->>T: 4.63s total (0.86s/page)
|
|
||||||
|
|
||||||
Note over T,C: CPU Benchmark
|
|
||||||
T->>C: Warmup (1 page)
|
|
||||||
C-->>T: Complete (~84s)
|
|
||||||
T->>C: POST /evaluate (Baseline)
|
|
||||||
C-->>T: 421.59s total (84.25s/page)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Performance Timeline
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
gantt
|
|
||||||
title Processing Time Comparison (5 Pages)
|
|
||||||
dateFormat ss
|
|
||||||
axisFormat %S s
|
|
||||||
|
|
||||||
section GPU
|
|
||||||
All 5 pages :gpu, 00, 5s
|
|
||||||
|
|
||||||
section CPU
|
|
||||||
Page 1 :cpu1, 00, 84s
|
|
||||||
Page 2 :cpu2, after cpu1, 84s
|
|
||||||
Page 3 :cpu3, after cpu2, 84s
|
|
||||||
Page 4 :cpu4, after cpu3, 84s
|
|
||||||
Page 5 :cpu5, after cpu4, 84s
|
|
||||||
```
|
|
||||||
|
|
||||||
## Container Specifications
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
mindmap
|
|
||||||
root((PaddleOCR<br/>Containers))
|
|
||||||
GPU Container
|
|
||||||
Port 8000
|
|
||||||
CUDA Enabled
|
|
||||||
NVIDIA GB10
|
|
||||||
119.70 GB VRAM
|
|
||||||
0.86s per page
|
|
||||||
CPU Container
|
|
||||||
Port 8002
|
|
||||||
ARM64 Architecture
|
|
||||||
No CUDA
|
|
||||||
84.25s per page
|
|
||||||
3.96% CER
|
|
||||||
```
|
|
||||||
|
|
||||||
## Key Findings
|
|
||||||
|
|
||||||
### Speed Analysis
|
|
||||||
|
|
||||||
1. **GPU Acceleration Impact**: The GPU container processes pages **97.6x faster** than the CPU container
|
|
||||||
2. **Throughput**: GPU can process ~70 pages/minute vs CPU at ~0.7 pages/minute
|
|
||||||
3. **Scalability**: For large document batches, GPU provides significant time savings
|
|
||||||
|
|
||||||
### Accuracy Analysis
|
|
||||||
|
|
||||||
| Configuration | CER | WER | Notes |
|
|
||||||
|--------------|-----|-----|-------|
|
|
||||||
| CPU Baseline | 3.96% | 13.65% | Working correctly |
|
|
||||||
| CPU Optimized | Error | Error | Server error (needs investigation) |
|
|
||||||
| GPU Baseline | 100%* | 100%* | Recognition issue* |
|
|
||||||
| GPU Optimized | 100%* | 100%* | Recognition issue* |
|
|
||||||
|
|
||||||
> *GPU accuracy metrics require investigation - speed benchmarks are valid
|
|
||||||
|
|
||||||
## Recommendations
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
flowchart LR
|
|
||||||
A{Use Case?}
|
|
||||||
A -->|High Volume<br/>Speed Critical| B[GPU Container]
|
|
||||||
A -->|Low Volume<br/>Cost Sensitive| C[CPU Container]
|
|
||||||
A -->|Development<br/>Testing| D[CPU Container]
|
|
||||||
|
|
||||||
B --> E[0.86s/page<br/>Best for production]
|
|
||||||
C --> F[84.25s/page<br/>Lower infrastructure cost]
|
|
||||||
D --> G[No GPU required<br/>Easy local setup]
|
|
||||||
```
|
|
||||||
|
|
||||||
## Raw Benchmark Data
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"timestamp": "2026-01-17T17:25:55.541442",
|
|
||||||
"containers": {
|
|
||||||
"GPU": {
|
|
||||||
"url": "http://localhost:8000",
|
|
||||||
"tests": {
|
|
||||||
"Baseline": {
|
|
||||||
"CER": 1.0,
|
|
||||||
"WER": 1.0,
|
|
||||||
"PAGES": 5,
|
|
||||||
"TIME_PER_PAGE": 0.863,
|
|
||||||
"TOTAL_TIME": 4.63
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"CPU": {
|
|
||||||
"url": "http://localhost:8002",
|
|
||||||
"tests": {
|
|
||||||
"Baseline": {
|
|
||||||
"CER": 0.0396,
|
|
||||||
"WER": 0.1365,
|
|
||||||
"PAGES": 5,
|
|
||||||
"TIME_PER_PAGE": 84.249,
|
|
||||||
"TOTAL_TIME": 421.59
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## GPU Issue Analysis
|
|
||||||
|
|
||||||
### Root Cause Identified (RESOLVED)
|
|
||||||
|
|
||||||
The GPU container originally returned 100% error rate due to a **CUDA architecture mismatch**:
|
|
||||||
|
|
||||||
```
|
|
||||||
W0117 16:55:35.199092 gpu_resources.cc:106] The GPU compute capability in your
|
|
||||||
current machine is 121, which is not supported by Paddle
|
|
||||||
```
|
|
||||||
|
|
||||||
| Issue | Details |
|
|
||||||
|-------|---------|
|
|
||||||
| **GPU** | NVIDIA GB10 (Compute Capability 12.1 - Blackwell) |
|
|
||||||
| **Original Wheel** | Built for `CUDA_ARCH=90` (sm_90 - Hopper) without PTX |
|
|
||||||
| **Result** | Detection kernels couldn't execute on Blackwell architecture |
|
|
||||||
|
|
||||||
### Solution Applied ✅
|
|
||||||
|
|
||||||
**1. Rebuilt PaddlePaddle wheel with PTX forward compatibility:**
|
|
||||||
|
|
||||||
The `Dockerfile.build-paddle` was updated to generate PTX code in addition to cubin:
|
|
||||||
|
|
||||||
```dockerfile
|
|
||||||
-DCUDA_NVCC_FLAGS="-gencode=arch=compute_90,code=sm_90 -gencode=arch=compute_90,code=compute_90"
|
|
||||||
```
|
|
||||||
|
|
||||||
This generates:
|
|
||||||
- `sm_90` cubin (binary for Hopper)
|
|
||||||
- `compute_90` PTX (portable code for JIT compilation on newer architectures)
|
|
||||||
|
|
||||||
**2. cuBLAS symlinks** (already in Dockerfile.gpu):
|
|
||||||
|
|
||||||
```dockerfile
|
|
||||||
ln -sf /usr/local/cuda/lib64/libcublas.so.12 /usr/local/cuda/lib64/libcublas.so
|
|
||||||
```
|
|
||||||
|
|
||||||
### Verification Results
|
|
||||||
|
|
||||||
```
|
|
||||||
PaddlePaddle version: 0.0.0 (custom GPU build)
|
|
||||||
CUDA available: True
|
|
||||||
GPU count: 1
|
|
||||||
GPU name: NVIDIA GB10
|
|
||||||
Tensor on GPU: Place(gpu:0)
|
|
||||||
GPU OCR: Functional ✅
|
|
||||||
```
|
|
||||||
|
|
||||||
The PTX code is JIT-compiled at runtime for the GB10's compute capability 12.1.
|
|
||||||
|
|
||||||
### Build Artifacts
|
|
||||||
|
|
||||||
- **Wheel**: `paddlepaddle_gpu-3.0.0-cp311-cp311-linux_aarch64.whl` (418 MB)
|
|
||||||
- **Build time**: ~40 minutes (with ccache)
|
|
||||||
- **Location**: `src/paddle_ocr/wheels/`
|
|
||||||
|
|
||||||
## Next Steps
|
|
||||||
|
|
||||||
1. ~~**Rebuild GPU wheel**~~ ✅ Done - PTX-enabled wheel built
|
|
||||||
2. **Re-run benchmarks** - Verify accuracy metrics with fixed GPU
|
|
||||||
3. **Fix CPU optimized config** - Server error on optimized configuration needs debugging
|
|
||||||
4. **Memory profiling** - Monitor GPU/CPU memory usage during processing
|
|
||||||
211
docs/metrics/metrics.md
Normal file
211
docs/metrics/metrics.md
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
# Métricas de Rendimiento OCR
|
||||||
|
|
||||||
|
**Fecha de Benchmark:** 2026-01-19
|
||||||
|
**Dataset de Prueba:** 45 páginas (2 PDFs)
|
||||||
|
|
||||||
|
## Especificaciones del Sistema
|
||||||
|
|
||||||
|
| Componente | Especificación |
|
||||||
|
|------------|----------------|
|
||||||
|
| **Sistema Operativo** | Ubuntu 24.04.3 LTS (Noble) |
|
||||||
|
| **Kernel** | 6.14.0-37-generic |
|
||||||
|
| **CPU** | AMD Ryzen 7 5800H with Radeon Graphics |
|
||||||
|
| **RAM** | 16 GB DDR4 |
|
||||||
|
| **GPU** | NVIDIA GeForce RTX 3060 Laptop GPU |
|
||||||
|
| **VRAM** | 5.66 GB |
|
||||||
|
| **CUDA** | 12.4 |
|
||||||
|
|
||||||
|
## Justificación de Ejecución Local vs Cloud
|
||||||
|
|
||||||
|
### Costos de Cloud GPU
|
||||||
|
|
||||||
|
| Plataforma | GPU | Costo/Hora | Costo Mensual |
|
||||||
|
|------------|-----|------------|---------------|
|
||||||
|
| **AWS EC2 g4dn.xlarge** | NVIDIA T4 (16 GB) | $0.526 | ~$384 |
|
||||||
|
| **Google Colab Pro** | T4/P100 | ~$1.30 | $10 + CU extras |
|
||||||
|
| **Google Colab Pro+** | T4/V100/A100 | ~$1.30 | $50 + CU extras |
|
||||||
|
|
||||||
|
### Análisis de Costos para Este Proyecto
|
||||||
|
|
||||||
|
| Tarea | Tiempo GPU | Costo AWS | Costo Colab Pro |
|
||||||
|
|-------|------------|-----------|-----------------|
|
||||||
|
| Ajuste hiperparámetros (64×3 trials) | ~3 horas | ~$1.58 | ~$3.90 |
|
||||||
|
| Evaluación completa (45 páginas) | ~5 min | ~$0.04 | ~$0.11 |
|
||||||
|
| Desarrollo/debug (20 horas/mes) | 20 horas | ~$10.52 | ~$26.00 |
|
||||||
|
|
||||||
|
### Ventajas de Ejecución Local
|
||||||
|
|
||||||
|
1. **Costo cero de GPU**: La RTX 3060 ya está disponible en el equipo de desarrollo
|
||||||
|
2. **Sin límites de tiempo**: AWS y Colab tienen timeouts de sesión
|
||||||
|
3. **Acceso instantáneo**: Sin tiempo de aprovisionamiento de instancias
|
||||||
|
4. **Almacenamiento local**: Dataset y resultados en disco sin costos de transferencia
|
||||||
|
5. **Iteración rápida**: Reinicio inmediato de contenedores Docker
|
||||||
|
|
||||||
|
### Conclusión
|
||||||
|
|
||||||
|
Para un proyecto de investigación con múltiples iteraciones de ajuste de hiperparámetros y desarrollo, **la ejecución local ahorra ~$10-50/mes** comparado con cloud, además de ofrecer mayor flexibilidad y velocidad de iteración
|
||||||
|
|
||||||
|
## Resumen Ejecutivo
|
||||||
|
|
||||||
|
| Servicio | CER | WER | Tiempo/Página | Tiempo Total | VRAM |
|
||||||
|
|----------|-----|-----|---------------|--------------|------|
|
||||||
|
| **PaddleOCR (Mobile)** | **7.76%** | **11.62%** | 0.58s | 32.0s | 0.06 GB |
|
||||||
|
| EasyOCR | 11.23% | 36.36% | 1.88s | 88.5s | ~2 GB |
|
||||||
|
| DocTR | 12.06% | 42.01% | 0.50s | 28.4s | ~1 GB |
|
||||||
|
|
||||||
|
> **Ganador:** PaddleOCR (Mobile) - Mejor precisión (7.76% CER) con velocidad competitiva.
|
||||||
|
|
||||||
|
## Comparación de Servicios OCR
|
||||||
|
|
||||||
|
### Comparación de Precisión (CER - menor es mejor)
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
xychart-beta
|
||||||
|
title "Tasa de Error de Caracteres por Servicio"
|
||||||
|
x-axis ["PaddleOCR", "EasyOCR", "DocTR"]
|
||||||
|
y-axis "CER %" 0 --> 15
|
||||||
|
bar [7.76, 11.23, 12.06]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Comparación de Velocidad (Tiempo por Página)
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
xychart-beta
|
||||||
|
title "Tiempo de Procesamiento por Página (segundos)"
|
||||||
|
x-axis ["DocTR", "PaddleOCR", "EasyOCR"]
|
||||||
|
y-axis "Segundos" 0 --> 2
|
||||||
|
bar [0.50, 0.58, 1.88]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Flujo de Recomendación de Servicio
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
A{Prioridad?}
|
||||||
|
A -->|Precisión| B[PaddleOCR]
|
||||||
|
A -->|Velocidad| C[DocTR]
|
||||||
|
A -->|Balance| B
|
||||||
|
B --> D["7.76% CER<br/>0.58s/página"]
|
||||||
|
C --> E["12.06% CER<br/>0.50s/página"]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hallazgos Clave
|
||||||
|
|
||||||
|
1. **Mejor Precisión**: PaddleOCR logra las tasas de error más bajas (7.76% CER, 11.62% WER)
|
||||||
|
2. **Mejor Velocidad**: DocTR es el más rápido (0.50s/página), pero 55% menos preciso que PaddleOCR
|
||||||
|
3. **EasyOCR**: El más lento (3.8x más lento que PaddleOCR) con precisión intermedia
|
||||||
|
4. **Eficiencia VRAM**: PaddleOCR Mobile usa solo 0.06 GB
|
||||||
|
|
||||||
|
## Análisis de Errores (del debugset)
|
||||||
|
|
||||||
|
### PaddleOCR (Mejor - 7.76% CER)
|
||||||
|
- **Fortalezas**: Preserva estructura de líneas, maneja bien acentos españoles
|
||||||
|
- **Problemas**: Errores menores de espaciado, diferencias ocasionales de mayúsculas en acentos
|
||||||
|
- **Mejorable**: Sí - el ajuste de hiperparámetros probablemente ayude
|
||||||
|
|
||||||
|
### DocTR (Peor WER - 42.01%)
|
||||||
|
- **Problema Crítico**: Colapsa todo el texto en líneas únicas (pierde estructura)
|
||||||
|
- **Problema de Acentos**: Omite diacríticos ("Indice" vs "Índice")
|
||||||
|
- **Mejorable**: Parcialmente - el problema de estructura puede ser a nivel de modelo
|
||||||
|
|
||||||
|
### EasyOCR (36.36% WER)
|
||||||
|
- **Problema Crítico**: Inserciones espurias de caracteres (";", "g", "0", "1")
|
||||||
|
- **Pérdida de Estructura**: Saltos de línea no preservados
|
||||||
|
- **Mejorable**: Sí - umbrales de detección demasiado sensibles
|
||||||
|
|
||||||
|
## Comparación de Modelos PaddleOCR (RTX 3060)
|
||||||
|
|
||||||
|
| Métrica | Modelos Server | Modelos Mobile | Ganador |
|
||||||
|
|---------|----------------|----------------|---------|
|
||||||
|
| **Tiempo** | 2.47s | 1.08s | Mobile (2.3x más rápido) |
|
||||||
|
| **CER** | 1.82% | 1.42% | Mobile |
|
||||||
|
| **WER** | 16.14% | 12.20% | Mobile |
|
||||||
|
| **VRAM** | 5.3 GB (OOM en página 2) | 0.06 GB | Mobile |
|
||||||
|
| **Multi-página** | No (OOM) | Sí | Mobile |
|
||||||
|
|
||||||
|
> **Conclusión:** Se recomiendan los modelos Mobile - más rápidos, más precisos, caben en VRAM.
|
||||||
|
|
||||||
|
## Rendimiento CPU vs GPU (PaddleOCR)
|
||||||
|
|
||||||
|
Datos de `raytune_paddle_subproc_results_20251207_192320.csv` (CPU) vs RTX 3060 (GPU):
|
||||||
|
|
||||||
|
| Métrica | CPU | GPU (RTX 3060) | Aceleración |
|
||||||
|
|---------|-----|----------------|-------------|
|
||||||
|
| **Tiempo/Página** | 69.4s | 0.55s | **126x más rápido** |
|
||||||
|
| **Mejor CER** | 1.15% | 0.79% | GPU mejor |
|
||||||
|
| **45 páginas** | ~52 min | ~25 seg | **126x más rápido** |
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
xychart-beta
|
||||||
|
title "Tiempo de Procesamiento por Página: CPU vs GPU"
|
||||||
|
x-axis ["CPU", "GPU (RTX 3060)"]
|
||||||
|
y-axis "Segundos" 0 --> 80
|
||||||
|
bar [69.4, 0.55]
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Conclusión:** GPU es esencial para uso práctico de OCR. El procesamiento en CPU es 126x más lento, haciéndolo impráctico para procesamiento por lotes.
|
||||||
|
|
||||||
|
## Datos Crudos del Benchmark
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"timestamp": "2026-01-19T11:00:00.000000",
|
||||||
|
"platform": {
|
||||||
|
"gpu": "NVIDIA GeForce RTX 3060 Laptop GPU",
|
||||||
|
"vram": "5.66 GB",
|
||||||
|
"cuda": "12.4"
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"PaddleOCR_Mobile": {
|
||||||
|
"port": 8002,
|
||||||
|
"models": {"det": "PP-OCRv5_mobile_det", "rec": "PP-OCRv5_mobile_rec"},
|
||||||
|
"vram_used": "0.06 GB",
|
||||||
|
"results": {
|
||||||
|
"CER": 0.0776,
|
||||||
|
"WER": 0.1162,
|
||||||
|
"PAGES": 45,
|
||||||
|
"TIME_PER_PAGE": 0.58,
|
||||||
|
"TOTAL_TIME": 32.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DocTR": {
|
||||||
|
"port": 8003,
|
||||||
|
"models": {"det": "db_resnet50", "rec": "crnn_vgg16_bn"},
|
||||||
|
"vram_used": "~1 GB",
|
||||||
|
"results": {
|
||||||
|
"CER": 0.1206,
|
||||||
|
"WER": 0.4201,
|
||||||
|
"PAGES": 45,
|
||||||
|
"TIME_PER_PAGE": 0.50,
|
||||||
|
"TOTAL_TIME": 28.4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"EasyOCR": {
|
||||||
|
"port": 8002,
|
||||||
|
"languages": ["es", "en"],
|
||||||
|
"vram_used": "~2 GB",
|
||||||
|
"results": {
|
||||||
|
"CER": 0.1123,
|
||||||
|
"WER": 0.3636,
|
||||||
|
"PAGES": 45,
|
||||||
|
"TIME_PER_PAGE": 1.88,
|
||||||
|
"TOTAL_TIME": 88.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Resultados de Ajuste de Hiperparámetros
|
||||||
|
|
||||||
|
Resultados individuales de ajuste por servicio (64 muestras cada uno, páginas 5-10):
|
||||||
|
|
||||||
|
- [Resultados de Ajuste PaddleOCR](metrics_paddle.md)
|
||||||
|
- [Resultados de Ajuste DocTR](metrics_doctr.md)
|
||||||
|
- [Resultados de Ajuste EasyOCR](metrics_easyocr.md)
|
||||||
|
|
||||||
|
## Próximos Pasos
|
||||||
|
|
||||||
|
1. ~~Ajuste de Hiperparámetros~~ - Completado (64 muestras por servicio)
|
||||||
|
2. **Evaluación del Dataset Completo** - Ejecutar mejores configuraciones en las 45 páginas
|
||||||
|
3. **Comparar** - Rendimiento base vs ajustado en dataset completo
|
||||||
104
docs/metrics/metrics_doctr.md
Normal file
104
docs/metrics/metrics_doctr.md
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# Resultados de Ajuste de Hiperparámetros DocTR
|
||||||
|
|
||||||
|
**Fecha de Ajuste:** 2026-01-19
|
||||||
|
**Plataforma:** NVIDIA RTX 3060 Laptop GPU
|
||||||
|
**Muestras:** 64
|
||||||
|
**Páginas de Prueba:** 5-10 (primer documento)
|
||||||
|
|
||||||
|
### ¿Por Qué Solo 5 Páginas?
|
||||||
|
|
||||||
|
Usamos solo 5 páginas (páginas 5-10) para el ajuste de hiperparámetros porque:
|
||||||
|
|
||||||
|
1. **Velocidad**: 64 pruebas × 5 páginas = 320 evaluaciones de página. Con 45 páginas, serían 2,880 evaluaciones (~9x más tiempo)
|
||||||
|
2. **Eficiencia de recursos**: Cada prueba toma ~2-20 segundos en GPU
|
||||||
|
|
||||||
|
**Riesgo de Sobreajuste**: El ajuste de hiperparámetros en un subconjunto pequeño PUEDE causar sobreajuste. Nuestros resultados confirman esto:
|
||||||
|
- Subconjunto de ajuste: **38% mejora** (7.43% CER)
|
||||||
|
- Dataset completo: **0% mejora** (12.07% CER)
|
||||||
|
|
||||||
|
La falta total de mejora en el dataset completo indica sobreajuste severo a las páginas 5-10, combinado con limitaciones a nivel de modelo (manejo de diacríticos, estructura de líneas) que los hiperparámetros no pueden corregir.
|
||||||
|
|
||||||
|
## Evaluación del Dataset Completo (45 páginas)
|
||||||
|
|
||||||
|
| Métrica | Base | Ajustado | Mejora |
|
||||||
|
|---------|------|----------|--------|
|
||||||
|
| **CER** | 12.06% | 12.07% | **0%** |
|
||||||
|
| **WER** | 42.01% | 42.26% | **0%** |
|
||||||
|
| Tiempo/Página | 0.33s | 0.34s | - |
|
||||||
|
|
||||||
|
> **Nota:** El ajuste no generalizó al dataset completo. Los problemas de DocTR parecen ser a nivel de modelo (diacríticos, estructura de líneas).
|
||||||
|
|
||||||
|
## Resultados del Subconjunto de Ajuste (páginas 5-10)
|
||||||
|
|
||||||
|
| Métrica | Base | Ajustado | Mejora |
|
||||||
|
|---------|------|----------|--------|
|
||||||
|
| **CER** | 12.06% | **7.43%** | **38%** |
|
||||||
|
| **WER** | 42.01% | **35.23%** | **16%** |
|
||||||
|
|
||||||
|
> Nota: Las mejoras en el subconjunto de ajuste no se transfirieron al dataset completo.
|
||||||
|
|
||||||
|
## Mejor Configuración Encontrada
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"assume_straight_pages": true,
|
||||||
|
"straighten_pages": false,
|
||||||
|
"preserve_aspect_ratio": false,
|
||||||
|
"symmetric_pad": false,
|
||||||
|
"disable_page_orientation": true,
|
||||||
|
"disable_crop_orientation": false,
|
||||||
|
"resolve_lines": true,
|
||||||
|
"resolve_blocks": false,
|
||||||
|
"paragraph_break": 0.0977
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Hallazgos Clave
|
||||||
|
|
||||||
|
1. **straighten_pages: false** - ¡Crítico! Configurarlo en true causa ~79% CER (catastrófico)
|
||||||
|
2. **assume_straight_pages: true** - Funciona bien con escaneos de documentos rectos
|
||||||
|
3. **resolve_lines: true** - Ayuda a mantener la estructura de líneas
|
||||||
|
4. **disable_page_orientation: true** - Evita rotación innecesaria
|
||||||
|
|
||||||
|
## Impacto de Parámetros
|
||||||
|
|
||||||
|
Parámetros que mejoraron la precisión:
|
||||||
|
- `straighten_pages=False` absolutamente crítico
|
||||||
|
- `assume_straight_pages=True` en los mejores resultados
|
||||||
|
- `resolve_lines=True` mantiene la estructura del texto
|
||||||
|
|
||||||
|
Parámetros que perjudicaron la precisión:
|
||||||
|
- `straighten_pages=True` catastróficamente malo (~79% CER)
|
||||||
|
- `resolve_blocks=True` ligeramente peor que False
|
||||||
|
|
||||||
|
## Limitaciones Conocidas
|
||||||
|
|
||||||
|
Incluso con ajuste, DocTR todavía tiene problemas:
|
||||||
|
- Omite diacríticos (tildes) - probablemente problema a nivel de modelo
|
||||||
|
- Todavía tiene mayor WER que PaddleOCR debido a problemas de estructura
|
||||||
|
|
||||||
|
## Evaluación del Dataset Completo
|
||||||
|
|
||||||
|
**Estado:** Completado
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -X POST http://localhost:8003/evaluate_full \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"pdf_folder": "/app/dataset",
|
||||||
|
"assume_straight_pages": true,
|
||||||
|
"straighten_pages": false,
|
||||||
|
"preserve_aspect_ratio": false,
|
||||||
|
"symmetric_pad": false,
|
||||||
|
"disable_page_orientation": true,
|
||||||
|
"disable_crop_orientation": false,
|
||||||
|
"resolve_lines": true,
|
||||||
|
"resolve_blocks": false,
|
||||||
|
"paragraph_break": 0.0977,
|
||||||
|
"save_output": true
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Resultado:** CER 12.07%, WER 42.26%, 0.34s/página (sin mejora sobre la base)
|
||||||
|
|
||||||
|
**Conclusión:** Los problemas de precisión de DocTR son a nivel de modelo, no ajustables por hiperparámetros.
|
||||||
113
docs/metrics/metrics_easyocr.md
Normal file
113
docs/metrics/metrics_easyocr.md
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
# Resultados de Ajuste de Hiperparámetros EasyOCR
|
||||||
|
|
||||||
|
**Fecha de Ajuste:** 2026-01-19
|
||||||
|
**Plataforma:** NVIDIA RTX 3060 Laptop GPU
|
||||||
|
**Muestras:** 64
|
||||||
|
**Páginas de Prueba:** 5-10 (primer documento)
|
||||||
|
|
||||||
|
### ¿Por Qué Solo 5 Páginas?
|
||||||
|
|
||||||
|
Usamos solo 5 páginas (páginas 5-10) para el ajuste de hiperparámetros porque:
|
||||||
|
|
||||||
|
1. **Velocidad**: 64 pruebas × 5 páginas = 320 evaluaciones de página. Con 45 páginas, serían 2,880 evaluaciones (~9x más tiempo)
|
||||||
|
2. **Eficiencia de recursos**: Cada prueba toma ~10-20 segundos en GPU
|
||||||
|
|
||||||
|
**Riesgo de Sobreajuste**: El ajuste de hiperparámetros en un subconjunto pequeño PUEDE causar sobreajuste. Nuestros resultados confirman esto:
|
||||||
|
- Subconjunto de ajuste: **48% mejora** (5.83% CER)
|
||||||
|
- Dataset completo: **0.8% mejora** (11.14% CER)
|
||||||
|
|
||||||
|
La mejora mínima en el dataset completo indica que los hiperparámetros se sobreajustaron a las páginas 5-10. Los problemas de EasyOCR (detecciones espurias, pérdida de estructura) también pueden ser parcialmente a nivel de modelo.
|
||||||
|
|
||||||
|
## Evaluación del Dataset Completo (45 páginas)
|
||||||
|
|
||||||
|
| Métrica | Base | Ajustado | Mejora |
|
||||||
|
|---------|------|----------|--------|
|
||||||
|
| **CER** | 11.23% | 11.14% | **0.8%** |
|
||||||
|
| **WER** | 36.36% | 36.85% | **-1.3%** |
|
||||||
|
| Tiempo/Página | 1.84s | 1.94s | - |
|
||||||
|
|
||||||
|
> **Nota:** El ajuste mostró mejora mínima en el dataset completo. Los problemas de EasyOCR pueden ser a nivel de modelo.
|
||||||
|
|
||||||
|
## Resultados del Subconjunto de Ajuste (páginas 5-10)
|
||||||
|
|
||||||
|
| Métrica | Base | Ajustado | Mejora |
|
||||||
|
|---------|------|----------|--------|
|
||||||
|
| **CER** | 11.23% | **5.83%** | **48%** |
|
||||||
|
| **WER** | 36.36% | **26.33%** | **28%** |
|
||||||
|
|
||||||
|
> Nota: Las grandes mejoras en el subconjunto de ajuste no se transfirieron al dataset completo.
|
||||||
|
|
||||||
|
## Mejor Configuración Encontrada
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"text_threshold": 0.6647,
|
||||||
|
"low_text": 0.4247,
|
||||||
|
"link_threshold": 0.2184,
|
||||||
|
"slope_ths": 0.1629,
|
||||||
|
"ycenter_ths": 0.7994,
|
||||||
|
"height_ths": 0.6437,
|
||||||
|
"width_ths": 0.6065,
|
||||||
|
"add_margin": 0.1462,
|
||||||
|
"contrast_ths": 0.1671,
|
||||||
|
"adjust_contrast": 0.6416,
|
||||||
|
"decoder": "greedy",
|
||||||
|
"beamWidth": 7,
|
||||||
|
"min_size": 10
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Hallazgos Clave
|
||||||
|
|
||||||
|
1. **decoder: greedy** - Consistentemente mejor que beamsearch para este dataset
|
||||||
|
2. **Mayor text_threshold (0.66)** - Reduce detecciones espurias
|
||||||
|
3. **min_size: 10** - Filtra artefactos de ruido pequeños
|
||||||
|
4. **Umbrales moderados** - Sensibilidad de detección balanceada
|
||||||
|
|
||||||
|
## Impacto de Parámetros
|
||||||
|
|
||||||
|
Parámetros que mejoraron la precisión:
|
||||||
|
- `decoder="greedy"` consistentemente superó a beamsearch
|
||||||
|
- Mayor `text_threshold` (0.6-0.8) redujo el ruido
|
||||||
|
- `min_size >= 5` ayudó a filtrar artefactos
|
||||||
|
|
||||||
|
Parámetros que perjudicaron la precisión:
|
||||||
|
- `decoder="beamsearch"` causó ~35-40% CER en muchas pruebas
|
||||||
|
- `text_threshold` muy bajo (<0.4) detectó demasiado ruido
|
||||||
|
- `min_size` alto (>15) omitió algo de texto
|
||||||
|
|
||||||
|
## Comparación con Problemas de Base
|
||||||
|
|
||||||
|
Problemas originales identificados en el debugset:
|
||||||
|
- Inserciones espurias de caracteres - **Mejorado** con umbrales más altos
|
||||||
|
- Pérdida de estructura - Todavía presente pero menos severa
|
||||||
|
|
||||||
|
## Evaluación del Dataset Completo
|
||||||
|
|
||||||
|
**Estado:** Completado
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -X POST http://localhost:8002/evaluate_full \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"pdf_folder": "/app/dataset",
|
||||||
|
"text_threshold": 0.6647,
|
||||||
|
"low_text": 0.4247,
|
||||||
|
"link_threshold": 0.2184,
|
||||||
|
"slope_ths": 0.1629,
|
||||||
|
"ycenter_ths": 0.7994,
|
||||||
|
"height_ths": 0.6437,
|
||||||
|
"width_ths": 0.6065,
|
||||||
|
"add_margin": 0.1462,
|
||||||
|
"contrast_ths": 0.1671,
|
||||||
|
"adjust_contrast": 0.6416,
|
||||||
|
"decoder": "greedy",
|
||||||
|
"beamWidth": 7,
|
||||||
|
"min_size": 10,
|
||||||
|
"save_output": true
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Resultado:** CER 11.14%, WER 36.85%, 1.94s/página (mejora mínima)
|
||||||
|
|
||||||
|
**Conclusión:** El ajuste de EasyOCR proporcionó mejora insignificante en el dataset completo.
|
||||||
91
docs/metrics/metrics_paddle.md
Normal file
91
docs/metrics/metrics_paddle.md
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# Resultados de Ajuste de Hiperparámetros PaddleOCR
|
||||||
|
|
||||||
|
**Fecha de Ajuste:** 2026-01-19
|
||||||
|
**Plataforma:** NVIDIA RTX 3060 Laptop GPU
|
||||||
|
**Muestras:** 64
|
||||||
|
**Páginas de Prueba:** 5-10 (primer documento)
|
||||||
|
|
||||||
|
### ¿Por Qué Solo 5 Páginas?
|
||||||
|
|
||||||
|
Usamos solo 5 páginas (páginas 5-10) para el ajuste de hiperparámetros porque:
|
||||||
|
|
||||||
|
1. **Velocidad**: 64 pruebas × 5 páginas = 320 evaluaciones de página. Con 45 páginas, serían 2,880 evaluaciones (~9x más tiempo)
|
||||||
|
2. **Eficiencia de recursos**: Cada prueba toma ~3-10 segundos en GPU; el dataset completo tomaría ~1 hora por prueba en CPU
|
||||||
|
|
||||||
|
**Riesgo de Sobreajuste**: El ajuste de hiperparámetros en un subconjunto pequeño PUEDE causar sobreajuste. Nuestros resultados confirman esto:
|
||||||
|
- Subconjunto de ajuste: **90% mejora** (0.79% CER)
|
||||||
|
- Dataset completo: **12.8% mejora** (7.72% CER)
|
||||||
|
|
||||||
|
La diferencia dramática muestra que los hiperparámetros se sobreajustaron parcialmente a las páginas 5-10. Un subconjunto de ajuste más grande (ej. 15-20 páginas) podría producir parámetros que generalicen mejor, pero aumentaría el tiempo de ajuste proporcionalmente.
|
||||||
|
|
||||||
|
## Evaluación del Dataset Completo (45 páginas)
|
||||||
|
|
||||||
|
| Métrica | Base | Ajustado | Mejora |
|
||||||
|
|---------|------|----------|--------|
|
||||||
|
| **CER** | 8.85% | **7.72%** | **12.8%** |
|
||||||
|
| **WER** | 13.05% | **11.40%** | **12.6%** |
|
||||||
|
| Tiempo/Página | 0.51s | 0.55s | - |
|
||||||
|
|
||||||
|
## Resultados del Subconjunto de Ajuste (páginas 5-10)
|
||||||
|
|
||||||
|
| Métrica | Base | Ajustado | Mejora |
|
||||||
|
|---------|------|----------|--------|
|
||||||
|
| **CER** | 7.76% | **0.79%** | **90%** |
|
||||||
|
| **WER** | 11.62% | **7.78%** | **33%** |
|
||||||
|
|
||||||
|
> Nota: El subconjunto de ajuste mostró mayores mejoras, sugiriendo que algunos hiperparámetros son específicos de la página.
|
||||||
|
|
||||||
|
## Mejor Configuración Encontrada
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"use_doc_orientation_classify": true,
|
||||||
|
"use_doc_unwarping": false,
|
||||||
|
"textline_orientation": true,
|
||||||
|
"text_det_thresh": 0.0462,
|
||||||
|
"text_det_box_thresh": 0.4862,
|
||||||
|
"text_det_unclip_ratio": 0.0,
|
||||||
|
"text_rec_score_thresh": 0.5658
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Hallazgos Clave
|
||||||
|
|
||||||
|
1. **textline_orientation: true** - Crítico para la precisión
|
||||||
|
2. **use_doc_orientation_classify: true** - Ayuda con la detección de orientación de página
|
||||||
|
3. **use_doc_unwarping: false** - El enderezamiento de documentos perjudica la precisión en este dataset
|
||||||
|
4. **Bajo text_det_thresh (0.0462)** - Detección de texto más sensible ayuda
|
||||||
|
5. **Mayor text_rec_score_thresh (0.5658)** - Filtra reconocimientos de baja confianza
|
||||||
|
|
||||||
|
## Impacto de Parámetros
|
||||||
|
|
||||||
|
Parámetros que mejoraron la precisión:
|
||||||
|
- `textline_orientation=True` consistentemente en los mejores resultados
|
||||||
|
- `use_doc_orientation_classify=True` en las mejores pruebas
|
||||||
|
- Valores más bajos de `text_det_thresh` (0.04-0.10)
|
||||||
|
|
||||||
|
Parámetros que perjudicaron la precisión:
|
||||||
|
- `use_doc_unwarping=True` aumentó el CER significativamente
|
||||||
|
- `text_det_box_thresh` muy bajo (<0.01) causó problemas
|
||||||
|
|
||||||
|
## Evaluación del Dataset Completo
|
||||||
|
|
||||||
|
**Estado:** Completado
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -X POST http://localhost:8002/evaluate_full \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"pdf_folder": "/app/dataset",
|
||||||
|
"use_doc_orientation_classify": true,
|
||||||
|
"use_doc_unwarping": false,
|
||||||
|
"textline_orientation": true,
|
||||||
|
"text_det_thresh": 0.0462,
|
||||||
|
"text_det_box_thresh": 0.4862,
|
||||||
|
"text_det_unclip_ratio": 0.0,
|
||||||
|
"text_rec_score_thresh": 0.5658,
|
||||||
|
"save_output": true
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Resultado:** CER 7.72%, WER 11.40%, 0.55s/página
|
||||||
@@ -17,6 +17,8 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
- CUDA_VISIBLE_DEVICES=0
|
- CUDA_VISIBLE_DEVICES=0
|
||||||
|
- PADDLE_DET_MODEL=PP-OCRv5_mobile_det
|
||||||
|
- PADDLE_REC_MODEL=PP-OCRv5_mobile_rec
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
reservations:
|
reservations:
|
||||||
|
|||||||
@@ -16,34 +16,57 @@ from ray import tune
|
|||||||
from ray.tune.search.optuna import OptunaSearch
|
from ray.tune.search.optuna import OptunaSearch
|
||||||
|
|
||||||
|
|
||||||
def check_workers(ports: List[int], service_name: str = "OCR") -> List[str]:
|
def check_workers(
|
||||||
|
ports: List[int],
|
||||||
|
service_name: str = "OCR",
|
||||||
|
timeout: int = 180,
|
||||||
|
interval: int = 5,
|
||||||
|
) -> List[str]:
|
||||||
"""
|
"""
|
||||||
Verify workers are running and return healthy URLs.
|
Wait for workers to be fully ready (model + dataset loaded) and return healthy URLs.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
ports: List of port numbers to check
|
ports: List of port numbers to check
|
||||||
service_name: Name for error messages
|
service_name: Name for error messages
|
||||||
|
timeout: Max seconds to wait for each worker
|
||||||
|
interval: Seconds between retries
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
List of healthy worker URLs
|
List of healthy worker URLs
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
RuntimeError if no healthy workers found
|
RuntimeError if no healthy workers found after timeout
|
||||||
"""
|
"""
|
||||||
|
import time
|
||||||
|
|
||||||
worker_urls = [f"http://localhost:{port}" for port in ports]
|
worker_urls = [f"http://localhost:{port}" for port in ports]
|
||||||
healthy_workers = []
|
healthy_workers = []
|
||||||
|
|
||||||
for url in worker_urls:
|
for url in worker_urls:
|
||||||
|
print(f"Waiting for {url}...")
|
||||||
|
start = time.time()
|
||||||
|
|
||||||
|
while time.time() - start < timeout:
|
||||||
try:
|
try:
|
||||||
health = requests.get(f"{url}/health", timeout=10).json()
|
health = requests.get(f"{url}/health", timeout=10).json()
|
||||||
if health.get('status') == 'ok' and health.get('model_loaded'):
|
model_ok = health.get('model_loaded', False)
|
||||||
healthy_workers.append(url)
|
dataset_ok = health.get('dataset_loaded', False)
|
||||||
|
|
||||||
|
if health.get('status') == 'ok' and model_ok:
|
||||||
gpu = health.get('gpu_name', 'CPU')
|
gpu = health.get('gpu_name', 'CPU')
|
||||||
print(f"✓ {url}: {health['status']} ({gpu})")
|
print(f"✓ {url}: ready ({gpu})")
|
||||||
|
healthy_workers.append(url)
|
||||||
|
break
|
||||||
|
|
||||||
|
elapsed = int(time.time() - start)
|
||||||
|
print(f" [{elapsed}s] model={model_ok}")
|
||||||
|
except requests.exceptions.RequestException:
|
||||||
|
elapsed = int(time.time() - start)
|
||||||
|
print(f" [{elapsed}s] not reachable")
|
||||||
|
|
||||||
|
time.sleep(interval)
|
||||||
else:
|
else:
|
||||||
print(f"✗ {url}: not ready yet")
|
print(f"✗ {url}: timeout after {timeout}s")
|
||||||
except requests.exceptions.ConnectionError:
|
|
||||||
print(f"✗ {url}: not reachable")
|
|
||||||
|
|
||||||
if not healthy_workers:
|
if not healthy_workers:
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
@@ -51,7 +74,7 @@ def check_workers(ports: List[int], service_name: str = "OCR") -> List[str]:
|
|||||||
f"Checked ports: {ports}"
|
f"Checked ports: {ports}"
|
||||||
)
|
)
|
||||||
|
|
||||||
print(f"\n{len(healthy_workers)}/{len(worker_urls)} workers ready")
|
print(f"\n{len(healthy_workers)}/{len(worker_urls)} workers ready\n")
|
||||||
return healthy_workers
|
return healthy_workers
|
||||||
|
|
||||||
|
|
||||||
@@ -218,8 +241,8 @@ def correlation_analysis(df: pd.DataFrame, param_keys: List[str]) -> None:
|
|||||||
# OCR-specific payload functions
|
# OCR-specific payload functions
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
||||||
def paddle_ocr_payload(config: Dict, start_page: int = 5, end_page: int = 10, save_output: bool = False) -> Dict:
|
def paddle_ocr_payload(config: Dict) -> Dict:
|
||||||
"""Create payload for PaddleOCR API."""
|
"""Create payload for PaddleOCR API. Uses pages 5-10 (first doc) for tuning."""
|
||||||
return {
|
return {
|
||||||
"pdf_folder": "/app/dataset",
|
"pdf_folder": "/app/dataset",
|
||||||
"use_doc_orientation_classify": config.get("use_doc_orientation_classify", False),
|
"use_doc_orientation_classify": config.get("use_doc_orientation_classify", False),
|
||||||
@@ -229,14 +252,14 @@ def paddle_ocr_payload(config: Dict, start_page: int = 5, end_page: int = 10, sa
|
|||||||
"text_det_box_thresh": config.get("text_det_box_thresh", 0.0),
|
"text_det_box_thresh": config.get("text_det_box_thresh", 0.0),
|
||||||
"text_det_unclip_ratio": config.get("text_det_unclip_ratio", 1.5),
|
"text_det_unclip_ratio": config.get("text_det_unclip_ratio", 1.5),
|
||||||
"text_rec_score_thresh": config.get("text_rec_score_thresh", 0.0),
|
"text_rec_score_thresh": config.get("text_rec_score_thresh", 0.0),
|
||||||
"start_page": start_page,
|
"start_page": 5,
|
||||||
"end_page": end_page,
|
"end_page": 10,
|
||||||
"save_output": save_output,
|
"save_output": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def doctr_payload(config: Dict, start_page: int = 5, end_page: int = 10, save_output: bool = False) -> Dict:
|
def doctr_payload(config: Dict) -> Dict:
|
||||||
"""Create payload for DocTR API."""
|
"""Create payload for DocTR API. Uses pages 5-10 (first doc) for tuning."""
|
||||||
return {
|
return {
|
||||||
"pdf_folder": "/app/dataset",
|
"pdf_folder": "/app/dataset",
|
||||||
"assume_straight_pages": config.get("assume_straight_pages", True),
|
"assume_straight_pages": config.get("assume_straight_pages", True),
|
||||||
@@ -248,14 +271,14 @@ def doctr_payload(config: Dict, start_page: int = 5, end_page: int = 10, save_ou
|
|||||||
"resolve_lines": config.get("resolve_lines", True),
|
"resolve_lines": config.get("resolve_lines", True),
|
||||||
"resolve_blocks": config.get("resolve_blocks", False),
|
"resolve_blocks": config.get("resolve_blocks", False),
|
||||||
"paragraph_break": config.get("paragraph_break", 0.035),
|
"paragraph_break": config.get("paragraph_break", 0.035),
|
||||||
"start_page": start_page,
|
"start_page": 5,
|
||||||
"end_page": end_page,
|
"end_page": 10,
|
||||||
"save_output": save_output,
|
"save_output": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def easyocr_payload(config: Dict, start_page: int = 5, end_page: int = 10, save_output: bool = False) -> Dict:
|
def easyocr_payload(config: Dict) -> Dict:
|
||||||
"""Create payload for EasyOCR API."""
|
"""Create payload for EasyOCR API. Uses pages 5-10 (first doc) for tuning."""
|
||||||
return {
|
return {
|
||||||
"pdf_folder": "/app/dataset",
|
"pdf_folder": "/app/dataset",
|
||||||
"text_threshold": config.get("text_threshold", 0.7),
|
"text_threshold": config.get("text_threshold", 0.7),
|
||||||
@@ -271,9 +294,9 @@ def easyocr_payload(config: Dict, start_page: int = 5, end_page: int = 10, save_
|
|||||||
"decoder": config.get("decoder", "greedy"),
|
"decoder": config.get("decoder", "greedy"),
|
||||||
"beamWidth": config.get("beamWidth", 5),
|
"beamWidth": config.get("beamWidth", 5),
|
||||||
"min_size": config.get("min_size", 10),
|
"min_size": config.get("min_size", 10),
|
||||||
"start_page": start_page,
|
"start_page": 5,
|
||||||
"end_page": end_page,
|
"end_page": 10,
|
||||||
"save_output": save_output,
|
"save_output": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
65
src/results/raytune_doctr_results_20260119_121445.csv
Normal file
65
src/results/raytune_doctr_results_20260119_121445.csv
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
CER,WER,TIME,PAGES,TIME_PER_PAGE,model_reinitialized,worker,timestamp,checkpoint_dir_name,done,training_iteration,trial_id,date,time_this_iter_s,time_total_s,pid,hostname,node_ip,time_since_restore,iterations_since_restore,config/assume_straight_pages,config/straighten_pages,config/preserve_aspect_ratio,config/symmetric_pad,config/disable_page_orientation,config/disable_crop_orientation,config/resolve_lines,config/resolve_blocks,config/paragraph_break,logdir
|
||||||
|
0.07954940376147028,0.3649854752864963,20.5652813911438,5,3.1847062587738035,True,http://localhost:8003,1768820798,,False,1,c4fcad75,2026-01-19_12-06-38,20.57081699371338,20.57081699371338,154230,sergio-XPS-15-9500,192.168.1.5,20.57081699371338,1,False,False,False,True,True,True,True,False,0.09422103316797548,c4fcad75
|
||||||
|
0.7921346697142901,1.0545568452820837,10.610254287719727,5,0.7967870712280274,True,http://localhost:8003,1768820812,,False,1,1c83f678,2026-01-19_12-06-52,10.619899988174438,10.619899988174438,156506,sergio-XPS-15-9500,192.168.1.5,10.619899988174438,1,True,True,False,True,False,True,True,False,0.05901661817569934,1c83f678
|
||||||
|
0.7923201620478004,1.0636912186759604,5.9415740966796875,5,0.7310843944549561,True,http://localhost:8003,1768820822,,False,1,9c50442a,2026-01-19_12-07-02,5.945918560028076,5.945918560028076,158305,sergio-XPS-15-9500,192.168.1.5,5.945918560028076,1,True,True,True,True,False,False,True,False,0.011733102672610147,9c50442a
|
||||||
|
0.7666925478783123,1.0440873928467642,11.626950025558472,5,1.8842015743255616,True,http://localhost:8003,1768820837,,False,1,68ca7089,2026-01-19_12-07-17,11.63136100769043,11.63136100769043,160066,sergio-XPS-15-9500,192.168.1.5,11.63136100769043,1,False,True,True,True,True,False,True,False,0.05057045374185024,68ca7089
|
||||||
|
0.07451994486755961,0.3515575293610934,3.9680063724517822,5,0.3743919849395752,True,http://localhost:8003,1768820844,,False,1,8a8806b7,2026-01-19_12-07-24,3.97230863571167,3.97230863571167,162728,sergio-XPS-15-9500,192.168.1.5,3.97230863571167,1,True,False,True,False,True,False,False,False,0.023697921154561794,8a8806b7
|
||||||
|
0.7657432112619441,1.0344358563738436,11.93731951713562,5,1.942223310470581,True,http://localhost:8003,1768820859,,False,1,f96be72a,2026-01-19_12-07-39,11.941577672958374,11.941577672958374,163962,sergio-XPS-15-9500,192.168.1.5,11.941577672958374,1,False,True,False,True,True,False,False,False,0.08588425427021348,f96be72a
|
||||||
|
0.7918824188958541,1.0538014427522018,5.69057035446167,5,0.7088402271270752,True,http://localhost:8003,1768820868,,False,1,a832050e,2026-01-19_12-07-48,5.69484543800354,5.69484543800354,166633,sergio-XPS-15-9500,192.168.1.5,5.69484543800354,1,True,True,True,False,False,True,False,True,0.048746351477152096,a832050e
|
||||||
|
0.08002835367212643,0.35831740099305937,8.193880081176758,5,1.19890398979187,True,http://localhost:8003,1768820880,,False,1,9719423a,2026-01-19_12-08-00,8.198804140090942,8.198804140090942,168390,sergio-XPS-15-9500,192.168.1.5,8.198804140090942,1,False,False,True,True,True,False,True,True,0.05352825040305834,9719423a
|
||||||
|
0.7921346697142901,1.0545568452820837,5.68590521812439,5,0.7114005088806152,True,http://localhost:8003,1768820889,,False,1,fddb15d7,2026-01-19_12-08-09,5.691095352172852,5.691095352172852,170482,sergio-XPS-15-9500,192.168.1.5,5.691095352172852,1,True,True,False,False,False,True,True,True,0.07145403499389562,fddb15d7
|
||||||
|
0.0743152533045929,0.3522593474791794,3.8518898487091064,5,0.36159796714782716,True,http://localhost:8003,1768820896,,False,1,9a805553,2026-01-19_12-08-16,3.8564491271972656,3.8564491271972656,172258,sergio-XPS-15-9500,192.168.1.5,3.8564491271972656,1,True,False,False,False,True,False,True,False,0.09773705213878954,9a805553
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2390947341918945,5,0.361072301864624,False,http://localhost:8003,1768820902,,False,1,791b8e38,2026-01-19_12-08-22,2.2431814670562744,2.2431814670562744,173474,sergio-XPS-15-9500,192.168.1.5,2.2431814670562744,1,True,False,False,False,True,False,False,True,0.09837572708177385,791b8e38
|
||||||
|
0.0743152533045929,0.3522593474791794,2.245297431945801,5,0.36272416114807127,False,http://localhost:8003,1768820907,,False,1,7c60350c,2026-01-19_12-08-27,2.2497620582580566,2.2497620582580566,174686,sergio-XPS-15-9500,192.168.1.5,2.2497620582580566,1,True,False,False,False,True,False,False,True,0.09836846418124921,7c60350c
|
||||||
|
0.0743152533045929,0.3522593474791794,2.276707172393799,5,0.3691234111785889,False,http://localhost:8003,1768820913,,False,1,aa5f6e40,2026-01-19_12-08-33,2.2811028957366943,2.2811028957366943,175886,sergio-XPS-15-9500,192.168.1.5,2.2811028957366943,1,True,False,False,False,True,False,False,True,0.0782267000165494,aa5f6e40
|
||||||
|
0.0743152533045929,0.3522593474791794,2.436836004257202,5,0.3974581241607666,False,http://localhost:8003,1768820919,,False,1,be96a2fd,2026-01-19_12-08-39,2.4409751892089844,2.4409751892089844,177093,sergio-XPS-15-9500,192.168.1.5,2.4409751892089844,1,True,False,False,False,True,False,False,True,0.0988530443174727,be96a2fd
|
||||||
|
0.0743152533045929,0.3522593474791794,6.658028841018677,5,1.2390151023864746,False,http://localhost:8003,1768820930,,False,1,8fd4d954,2026-01-19_12-08-50,7.324350118637085,7.324350118637085,178357,sergio-XPS-15-9500,192.168.1.5,7.324350118637085,1,True,False,False,False,True,False,True,False,0.07133875696594016,8fd4d954
|
||||||
|
0.0743152533045929,0.3522593474791794,2.495633840560913,5,0.38510971069335936,False,http://localhost:8003,1768820936,,False,1,8684a874,2026-01-19_12-08-56,2.9056968688964844,2.9056968688964844,179613,sergio-XPS-15-9500,192.168.1.5,2.9056968688964844,1,True,False,False,False,True,False,False,True,0.08646785623262251,8684a874
|
||||||
|
0.0743152533045929,0.3522593474791794,2.3146378993988037,5,0.37464404106140137,False,http://localhost:8003,1768820942,,False,1,d70fd3a2,2026-01-19_12-09-02,2.3187525272369385,2.3187525272369385,180827,sergio-XPS-15-9500,192.168.1.5,2.3187525272369385,1,True,False,False,False,True,False,False,True,0.03514348927961332,d70fd3a2
|
||||||
|
0.0743152533045929,0.3522593474791794,2.498570680618286,5,0.37261042594909666,False,http://localhost:8003,1768820947,,False,1,abaaebf8,2026-01-19_12-09-07,2.5029470920562744,2.5029470920562744,182032,sergio-XPS-15-9500,192.168.1.5,2.5029470920562744,1,True,False,False,False,True,False,True,False,0.08582540859307525,abaaebf8
|
||||||
|
0.07954940376147028,0.3649854752864963,9.604491949081421,5,1.1755133152008057,True,http://localhost:8003,1768820961,,False,1,5d48a7dd,2026-01-19_12-09-21,9.60886025428772,9.60886025428772,183260,sergio-XPS-15-9500,192.168.1.5,9.60886025428772,1,False,False,False,False,False,True,True,False,0.06547108266017204,5d48a7dd
|
||||||
|
0.0743152533045929,0.3522593474791794,3.8762130737304688,5,0.3647763729095459,True,http://localhost:8003,1768820968,,False,1,d9253804,2026-01-19_12-09-28,3.880464792251587,3.880464792251587,185371,sergio-XPS-15-9500,192.168.1.5,3.880464792251587,1,True,False,False,False,True,False,False,True,0.038626059833236914,d9253804
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2411227226257324,5,0.36162853240966797,False,http://localhost:8003,1768820974,,False,1,fdb1a71c,2026-01-19_12-09-34,2.245361566543579,2.245361566543579,186592,sergio-XPS-15-9500,192.168.1.5,2.245361566543579,1,True,False,False,False,True,False,True,True,0.07944221200021404,fdb1a71c
|
||||||
|
0.0743152533045929,0.3522593474791794,2.248905897140503,5,0.36235270500183103,False,http://localhost:8003,1768820979,,False,1,52a8f206,2026-01-19_12-09-39,2.2539358139038086,2.2539358139038086,187800,sergio-XPS-15-9500,192.168.1.5,2.2539358139038086,1,True,False,False,False,True,False,False,True,0.09978431631107665,52a8f206
|
||||||
|
0.0743152533045929,0.3522593474791794,2.3572463989257812,5,0.3830925941467285,False,http://localhost:8003,1768820985,,False,1,02249971,2026-01-19_12-09-45,2.3617091178894043,2.3617091178894043,189026,sergio-XPS-15-9500,192.168.1.5,2.3617091178894043,1,True,False,False,False,True,False,False,True,0.09205180265684457,02249971
|
||||||
|
0.0743152533045929,0.3522593474791794,2.3035998344421387,5,0.3717160701751709,False,http://localhost:8003,1768820991,,False,1,c3e1ed25,2026-01-19_12-09-51,2.3079335689544678,2.3079335689544678,190242,sergio-XPS-15-9500,192.168.1.5,2.3079335689544678,1,True,False,False,False,True,False,False,True,0.09144355766189398,c3e1ed25
|
||||||
|
0.0743152533045929,0.3522593474791794,2.239521026611328,5,0.3606713771820068,False,http://localhost:8003,1768820996,,False,1,e77efbfe,2026-01-19_12-09-56,2.243769407272339,2.243769407272339,191450,sergio-XPS-15-9500,192.168.1.5,2.243769407272339,1,True,False,False,False,True,False,False,True,0.07895438944798339,e77efbfe
|
||||||
|
0.0743152533045929,0.3522593474791794,2.289245843887329,5,0.36969733238220215,False,http://localhost:8003,1768821002,,False,1,b63d705d,2026-01-19_12-10-02,2.293459177017212,2.293459177017212,192658,sergio-XPS-15-9500,192.168.1.5,2.293459177017212,1,True,False,False,False,True,False,False,True,0.0979702817184504,b63d705d
|
||||||
|
0.0813627928214657,0.373642333504444,8.17723536491394,5,1.1997929096221924,True,http://localhost:8003,1768821014,,False,1,c2b49d5f,2026-01-19_12-10-14,8.18145489692688,8.18145489692688,193870,sergio-XPS-15-9500,192.168.1.5,8.18145489692688,1,False,False,True,False,False,True,False,False,0.08848271842661322,c2b49d5f
|
||||||
|
0.0743152533045929,0.3522593474791794,4.016183137893677,5,0.3882882595062256,True,http://localhost:8003,1768821021,,False,1,751e8805,2026-01-19_12-10-21,4.020460605621338,4.020460605621338,195986,sergio-XPS-15-9500,192.168.1.5,4.020460605621338,1,True,False,False,False,True,False,False,True,0.07226323202056684,751e8805
|
||||||
|
0.0743152533045929,0.3522593474791794,2.4951744079589844,5,0.4111031532287598,False,http://localhost:8003,1768821027,,False,1,55997272,2026-01-19_12-10-27,2.4997806549072266,2.4997806549072266,197225,sergio-XPS-15-9500,192.168.1.5,2.4997806549072266,1,True,False,False,False,True,False,True,False,0.0821608621907378,55997272
|
||||||
|
0.07954940376147028,0.3649854752864963,7.8914878368377686,5,1.1408625602722169,True,http://localhost:8003,1768821039,,False,1,c72c5c81,2026-01-19_12-10-39,7.895885229110718,7.895885229110718,198438,sergio-XPS-15-9500,192.168.1.5,7.895885229110718,1,False,False,False,True,True,True,True,False,0.09498694151430796,c72c5c81
|
||||||
|
0.0743152533045929,0.3522593474791794,3.8655266761779785,5,0.362445068359375,True,http://localhost:8003,1768821046,,False,1,4a75d77c,2026-01-19_12-10-46,3.869797706604004,3.869797706604004,200555,sergio-XPS-15-9500,192.168.1.5,3.869797706604004,1,True,False,False,False,True,False,False,True,0.09294736151174086,4a75d77c
|
||||||
|
0.0743152533045929,0.3522593474791794,2.3493363857269287,5,0.38149294853210447,False,http://localhost:8003,1768821051,,False,1,c2308a71,2026-01-19_12-10-51,2.353856325149536,2.353856325149536,201775,sergio-XPS-15-9500,192.168.1.5,2.353856325149536,1,True,False,False,False,True,False,False,True,0.07646901408730243,c2308a71
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2967300415039062,5,0.37166876792907716,False,http://localhost:8003,1768821057,,False,1,b39b4bbc,2026-01-19_12-10-57,2.300992012023926,2.300992012023926,202985,sergio-XPS-15-9500,192.168.1.5,2.300992012023926,1,True,False,False,False,True,False,False,True,0.06310895025982477,b39b4bbc
|
||||||
|
0.0743152533045929,0.3522593474791794,2.3306691646575928,5,0.37825717926025393,False,http://localhost:8003,1768821063,,False,1,5c179d0f,2026-01-19_12-11-03,2.3352127075195312,2.3352127075195312,204198,sergio-XPS-15-9500,192.168.1.5,2.3352127075195312,1,True,False,False,False,True,False,False,True,0.09214745705658531,5c179d0f
|
||||||
|
0.7921346697142901,1.0545568452820837,5.84848165512085,5,0.728736686706543,True,http://localhost:8003,1768821072,,False,1,54b75cc8,2026-01-19_12-11-12,5.8533689975738525,5.8533689975738525,205410,sergio-XPS-15-9500,192.168.1.5,5.8533689975738525,1,True,True,False,True,False,False,False,True,0.09992602021030114,54b75cc8
|
||||||
|
0.07451994486755961,0.3515575293610934,3.878021717071533,5,0.3628075122833252,True,http://localhost:8003,1768821080,,False,1,bb5ac038,2026-01-19_12-11-20,3.8829312324523926,3.8829312324523926,207185,sergio-XPS-15-9500,192.168.1.5,3.8829312324523926,1,True,False,True,False,True,False,True,False,0.08279050013235793,bb5ac038
|
||||||
|
0.7921346697142901,1.0545568452820837,5.78171968460083,5,0.7050829410552979,True,http://localhost:8003,1768821089,,False,1,f1c7000c,2026-01-19_12-11-29,5.786619186401367,5.786619186401367,208408,sergio-XPS-15-9500,192.168.1.5,5.786619186401367,1,True,True,False,True,True,True,False,False,0.0882484211859766,f1c7000c
|
||||||
|
0.0813627928214657,0.373642333504444,7.883875608444214,5,1.1401109218597412,True,http://localhost:8003,1768821100,,False,1,5f64114a,2026-01-19_12-11-40,7.887973070144653,7.887973070144653,210166,sergio-XPS-15-9500,192.168.1.5,7.887973070144653,1,False,False,True,False,False,False,True,True,0.09581281484761522,5f64114a
|
||||||
|
0.7921346697142901,1.0545568452820837,5.837187051773071,5,0.7390849590301514,True,http://localhost:8003,1768821109,,False,1,deb231ab,2026-01-19_12-11-49,5.842226028442383,5.842226028442383,212276,sergio-XPS-15-9500,192.168.1.5,5.842226028442383,1,True,True,False,True,True,False,False,False,0.014903696838843121,deb231ab
|
||||||
|
0.07451994486755961,0.3515575293610934,3.8521182537078857,5,0.357759428024292,True,http://localhost:8003,1768821116,,False,1,8e1ad60c,2026-01-19_12-11-56,3.856376886367798,3.856376886367798,214039,sergio-XPS-15-9500,192.168.1.5,3.856376886367798,1,True,False,True,False,True,False,False,True,0.07474982974728585,8e1ad60c
|
||||||
|
0.7657432112619441,1.0344358563738436,11.567106246948242,5,1.8771627426147461,True,http://localhost:8003,1768821131,,False,1,5c7a850a,2026-01-19_12-12-11,11.572225332260132,11.572225332260132,215255,sergio-XPS-15-9500,192.168.1.5,11.572225332260132,1,False,True,False,False,False,True,True,True,0.06667565158056586,5c7a850a
|
||||||
|
0.0743152533045929,0.3522593474791794,3.854253053665161,5,0.36142959594726565,True,http://localhost:8003,1768821139,,False,1,41600dca,2026-01-19_12-12-19,3.858793020248413,3.858793020248413,217924,sergio-XPS-15-9500,192.168.1.5,3.858793020248413,1,True,False,False,False,True,False,False,True,0.09516963566481865,41600dca
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2381088733673096,5,0.3609159469604492,False,http://localhost:8003,1768821144,,False,1,55291f18,2026-01-19_12-12-24,2.242400646209717,2.242400646209717,219141,sergio-XPS-15-9500,192.168.1.5,2.242400646209717,1,True,False,False,False,True,False,False,True,0.09955056101622099,55291f18
|
||||||
|
0.0743152533045929,0.3522593474791794,2.247992515563965,5,0.3638484477996826,False,http://localhost:8003,1768821150,,False,1,e05da7a3,2026-01-19_12-12-30,2.2522785663604736,2.2522785663604736,220353,sergio-XPS-15-9500,192.168.1.5,2.2522785663604736,1,True,False,False,False,True,False,False,True,0.08881643587450277,e05da7a3
|
||||||
|
0.0743152533045929,0.3522593474791794,2.240065336227417,5,0.3607933521270752,False,http://localhost:8003,1768821155,,False,1,6773b6ef,2026-01-19_12-12-35,2.244333267211914,2.244333267211914,221554,sergio-XPS-15-9500,192.168.1.5,2.244333267211914,1,True,False,False,False,True,False,False,True,0.08162246894892994,6773b6ef
|
||||||
|
0.0743152533045929,0.3522593474791794,2.228623628616333,5,0.3605500221252441,False,http://localhost:8003,1768821161,,False,1,88f82273,2026-01-19_12-12-41,2.233116626739502,2.233116626739502,222761,sergio-XPS-15-9500,192.168.1.5,2.233116626739502,1,True,False,False,False,True,False,False,False,0.0576590087821367,88f82273
|
||||||
|
0.0743152533045929,0.3522593474791794,3.8948147296905518,5,0.36910762786865237,True,http://localhost:8003,1768821168,,False,1,122e7c9a,2026-01-19_12-12-48,3.898893356323242,3.898893356323242,223988,sergio-XPS-15-9500,192.168.1.5,3.898893356323242,1,True,False,False,True,True,False,True,True,0.046132117836141115,122e7c9a
|
||||||
|
0.07451994486755961,0.3515575293610934,3.8418056964874268,5,0.3551186084747314,True,http://localhost:8003,1768821175,,False,1,6944e329,2026-01-19_12-12-55,3.846059799194336,3.846059799194336,225216,sergio-XPS-15-9500,192.168.1.5,3.846059799194336,1,True,False,True,False,True,False,False,True,0.08553768973696241,6944e329
|
||||||
|
0.7921346697142901,1.0545568452820837,5.819804906845093,5,0.7136962413787842,True,http://localhost:8003,1768821185,,False,1,65fe9972,2026-01-19_12-13-05,5.825164794921875,5.825164794921875,226432,sergio-XPS-15-9500,192.168.1.5,5.825164794921875,1,True,True,False,False,True,False,False,False,0.09616135139330068,65fe9972
|
||||||
|
0.07954940376147028,0.3649854752864963,7.82697319984436,5,1.1294140815734863,True,http://localhost:8003,1768821196,,False,1,e0bb2fe1,2026-01-19_12-13-16,7.831338882446289,7.831338882446289,228191,sergio-XPS-15-9500,192.168.1.5,7.831338882446289,1,False,False,False,False,True,True,True,True,0.09002271724335277,e0bb2fe1
|
||||||
|
0.0743152533045929,0.3522593474791794,3.8710319995880127,5,0.36251654624938967,True,http://localhost:8003,1768821203,,False,1,13b36f19,2026-01-19_12-13-23,3.875239849090576,3.875239849090576,230300,sergio-XPS-15-9500,192.168.1.5,3.875239849090576,1,True,False,False,False,False,False,False,True,0.0857237854212837,13b36f19
|
||||||
|
0.0743152533045929,0.3522593474791794,3.875215768814087,5,0.36308274269104,True,http://localhost:8003,1768821210,,False,1,9c6b5628,2026-01-19_12-13-30,3.8797342777252197,3.8797342777252197,231521,sergio-XPS-15-9500,192.168.1.5,3.8797342777252197,1,True,False,False,False,True,False,True,False,0.06880465434613751,9c6b5628
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2376744747161865,5,0.36208286285400393,False,http://localhost:8003,1768821216,,False,1,4b6d70bb,2026-01-19_12-13-36,2.242083787918091,2.242083787918091,232738,sergio-XPS-15-9500,192.168.1.5,2.242083787918091,1,True,False,False,False,True,False,True,False,0.06024639917014255,4b6d70bb
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2306642532348633,5,0.359661865234375,False,http://localhost:8003,1768821221,,False,1,ca9acee8,2026-01-19_12-13-41,2.234971046447754,2.234971046447754,233946,sergio-XPS-15-9500,192.168.1.5,2.234971046447754,1,True,False,False,False,True,False,True,False,0.0935005319022256,ca9acee8
|
||||||
|
0.0743152533045929,0.3522593474791794,2.229747772216797,5,0.3594185829162598,False,http://localhost:8003,1768821227,,False,1,75b5c78b,2026-01-19_12-13-47,2.2341864109039307,2.2341864109039307,235172,sergio-XPS-15-9500,192.168.1.5,2.2341864109039307,1,True,False,False,False,True,False,True,False,0.05253849882367517,75b5c78b
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2397162914276123,5,0.3618612289428711,False,http://localhost:8003,1768821233,,False,1,44bf33c9,2026-01-19_12-13-53,2.243781566619873,2.243781566619873,236376,sergio-XPS-15-9500,192.168.1.5,2.243781566619873,1,True,False,False,False,True,False,True,False,0.07878420224854064,44bf33c9
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2368643283843994,5,0.36055378913879393,False,http://localhost:8003,1768821238,,False,1,f435b3b2,2026-01-19_12-13-58,2.240933895111084,2.240933895111084,237583,sergio-XPS-15-9500,192.168.1.5,2.240933895111084,1,True,False,False,False,True,False,False,True,0.07116860558400767,f435b3b2
|
||||||
|
0.0743152533045929,0.3522593474791794,2.265198230743408,5,0.36513686180114746,False,http://localhost:8003,1768821244,,False,1,8217f139,2026-01-19_12-14-04,2.2695438861846924,2.2695438861846924,238784,sergio-XPS-15-9500,192.168.1.5,2.2695438861846924,1,True,False,False,False,True,False,True,False,0.09707599413052871,8217f139
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2422447204589844,5,0.3608452320098877,False,http://localhost:8003,1768821249,,False,1,efe10aca,2026-01-19_12-14-09,2.246490240097046,2.246490240097046,239994,sergio-XPS-15-9500,192.168.1.5,2.246490240097046,1,True,False,False,False,True,False,False,True,0.0391565433402237,efe10aca
|
||||||
|
0.08002835367212643,0.35831740099305937,8.202797412872314,5,1.1076955318450927,True,http://localhost:8003,1768821261,,False,1,3f085082,2026-01-19_12-14-21,8.2071533203125,8.2071533203125,241216,sergio-XPS-15-9500,192.168.1.5,8.2071533203125,1,False,False,True,True,True,True,True,False,0.0835804142411709,3f085082
|
||||||
|
0.0743152533045929,0.3522593474791794,3.885773181915283,5,0.3617554664611816,True,http://localhost:8003,1768821268,,False,1,ca26375b,2026-01-19_12-14-28,3.890075922012329,3.890075922012329,243329,sergio-XPS-15-9500,192.168.1.5,3.890075922012329,1,True,False,False,False,True,False,False,True,0.09060074015212932,ca26375b
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2462470531463623,5,0.3624699592590332,False,http://localhost:8003,1768821274,,False,1,69643aea,2026-01-19_12-14-34,2.2505128383636475,2.2505128383636475,244551,sergio-XPS-15-9500,192.168.1.5,2.2505128383636475,1,True,False,False,False,True,False,False,True,0.07530859871726936,69643aea
|
||||||
|
0.0743152533045929,0.3522593474791794,2.263847827911377,5,0.3658243179321289,False,http://localhost:8003,1768821279,,False,1,4cae77fc,2026-01-19_12-14-39,2.267988681793213,2.267988681793213,245765,sergio-XPS-15-9500,192.168.1.5,2.267988681793213,1,True,False,False,False,True,False,False,True,0.08801626009397175,4cae77fc
|
||||||
|
0.0743152533045929,0.3522593474791794,2.2468783855438232,5,0.3630548000335693,False,http://localhost:8003,1768821285,,False,1,6b987e08,2026-01-19_12-14-45,2.2512388229370117,2.2512388229370117,246985,sergio-XPS-15-9500,192.168.1.5,2.2512388229370117,1,True,False,False,False,True,False,False,True,0.09792932706586027,6b987e08
|
||||||
|
65
src/results/raytune_easyocr_results_20260119_120204.csv
Normal file
65
src/results/raytune_easyocr_results_20260119_120204.csv
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
CER,WER,TIME,PAGES,TIME_PER_PAGE,worker,timestamp,checkpoint_dir_name,done,training_iteration,trial_id,date,time_this_iter_s,time_total_s,pid,hostname,node_ip,time_since_restore,iterations_since_restore,config/text_threshold,config/low_text,config/link_threshold,config/slope_ths,config/ycenter_ths,config/height_ths,config/width_ths,config/add_margin,config/contrast_ths,config/adjust_contrast,config/decoder,config/beamWidth,config/min_size,logdir
|
||||||
|
0.3871430382852802,0.5182750384528632,19.13978934288025,5,3.7033697605133056,http://localhost:8002,1768819587,,False,1,0ba51edc,2026-01-19_11-46-27,19.150158882141113,19.150158882141113,137518,sergio-XPS-15-9500,192.168.1.5,19.150158882141113,1,0.5066472683346976,0.3124874041155775,0.2640094851170725,0.11369463817649797,0.47012928436448354,0.7140749654136573,0.643133477191141,0.11910600147231132,0.2722183833676177,0.7684200450221536,beamsearch,3,20,0ba51edc
|
||||||
|
0.062223201197885825,0.26399044299206303,11.377342224121094,5,2.1752953052520754,http://localhost:8002,1768819602,,False,1,c2ddb294,2026-01-19_11-46-42,11.383038759231567,11.383038759231567,137840,sergio-XPS-15-9500,192.168.1.5,11.383038759231567,1,0.4175797290692802,0.5963231402122613,0.36874666681089985,0.223680908941245,0.459921344533471,0.9160307499007694,0.9279619232072562,0.12298366234684793,0.11516147921112997,0.6668263919581685,greedy,10,20,c2ddb294
|
||||||
|
0.39700544361882206,0.5264527267179566,12.552152156829834,5,2.4208834171295166,http://localhost:8002,1768819617,,False,1,e82ff347,2026-01-19_11-46-57,12.557852029800415,12.557852029800415,138037,sergio-XPS-15-9500,192.168.1.5,12.557852029800415,1,0.8540537965666715,0.294588934626999,0.5092574060096554,0.2836712766196415,0.6190202697962148,0.810073297090729,0.955177616687997,0.10497968516826324,0.20957208332268756,0.7475085753710696,beamsearch,7,10,e82ff347
|
||||||
|
0.07781775834482615,0.3051087241758982,12.261723279953003,5,2.362420177459717,http://localhost:8002,1768819633,,False,1,532bade0,2026-01-19_11-47-13,12.265946626663208,12.265946626663208,138237,sergio-XPS-15-9500,192.168.1.5,12.265946626663208,1,0.8141250315590343,0.479912630164245,0.2027669826029772,0.11444262905063128,0.7404783620983263,0.301871563170945,0.35514852924629375,0.27832075427107744,0.2643837228077205,0.7950403527209229,greedy,3,10,532bade0
|
||||||
|
0.3487860557598165,0.5005453336802469,12.705831289291382,5,2.4508751392364503,http://localhost:8002,1768819649,,False,1,7d15d320,2026-01-19_11-47-29,12.712336301803589,12.712336301803589,138464,sergio-XPS-15-9500,192.168.1.5,12.712336301803589,1,0.3225669850847642,0.2716721665537871,0.26115345621898345,0.2438651926519595,0.6194544051054931,0.5792394844360738,0.4710319694788726,0.13213212713543926,0.1990327712555196,0.3304729155445536,beamsearch,7,10,7d15d320
|
||||||
|
0.3356719522269469,0.47356787280835055,13.11896562576294,5,2.5329070568084715,http://localhost:8002,1768819666,,False,1,9d244107,2026-01-19_11-47-46,13.124910593032837,13.124910593032837,138659,sergio-XPS-15-9500,192.168.1.5,13.124910593032837,1,0.34889752108886873,0.39007345640142954,0.22641510809759163,0.17907271838822,0.8644844159597871,0.6275871303293161,0.9722853596788665,0.25555008849029126,0.20043175984558798,0.7707927516030697,beamsearch,7,10,9d244107
|
||||||
|
0.2742112621871928,0.43639473613327356,13.743902206420898,5,2.6569590091705324,http://localhost:8002,1768819683,,False,1,f160d61d,2026-01-19_11-48-03,13.750498533248901,13.750498533248901,138904,sergio-XPS-15-9500,192.168.1.5,13.750498533248901,1,0.8392454366146391,0.3155621572041812,0.4873405945675176,0.08582733675720434,0.9790121644393985,0.4062417762545848,0.6466326123022476,0.19715070089301498,0.23503015353761492,0.41517636715917056,beamsearch,10,15,f160d61d
|
||||||
|
0.09848790101332737,0.32483251468294605,10.20632028579712,5,1.9527865886688232,http://localhost:8002,1768819697,,False,1,1be1e7a5,2026-01-19_11-48-17,10.210542917251587,10.210542917251587,139116,sergio-XPS-15-9500,192.168.1.5,10.210542917251587,1,0.833246186868533,0.22457589994570235,0.32254503276757784,0.23399561843072308,0.30165921403980517,0.8658122652407174,0.47250440785836867,0.2238860017234068,0.1886386486304371,0.4576817046304348,greedy,3,10,1be1e7a5
|
||||||
|
0.4136569417819424,0.5311620590036745,14.170307874679565,5,2.746191930770874,http://localhost:8002,1768819714,,False,1,0746a065,2026-01-19_11-48-34,14.175411701202393,14.175411701202393,139318,sergio-XPS-15-9500,192.168.1.5,14.175411701202393,1,0.6782050871534447,0.22844595642210797,0.2858119663327552,0.0823237135063647,0.9612792593924089,0.665348992884313,0.8626670975336155,0.04300909760808497,0.270098820639789,0.45556228770798246,beamsearch,10,5,0746a065
|
||||||
|
0.4517379831360281,0.5799232118269153,15.184179544448853,5,2.9479862689971923,http://localhost:8002,1768819733,,False,1,ef6faf9d,2026-01-19_11-48-53,15.188986778259277,15.188986778259277,139517,sergio-XPS-15-9500,192.168.1.5,15.188986778259277,1,0.39558213831954714,0.5599422938176799,0.3313024647230755,0.11634655299660798,0.8823955834187702,0.6660518255567262,0.796016060076042,0.1299041367034449,0.2152856765400713,0.6606446175138574,beamsearch,10,10,ef6faf9d
|
||||||
|
0.0795526147054266,0.34016478642481734,11.83824896812439,5,2.2789079189300536,http://localhost:8002,1768819748,,False,1,e584ad1a,2026-01-19_11-49-08,11.842672109603882,11.842672109603882,139771,sergio-XPS-15-9500,192.168.1.5,11.842672109603882,1,0.521503445317256,0.5967505351644852,0.4313761698948889,0.18235873322120522,0.425714368894258,0.9959973340677325,0.7683261374584024,0.018826411104235885,0.09775666402707693,0.628476421820741,greedy,5,20,e584ad1a
|
||||||
|
0.09113684668662517,0.3330104965172591,13.415843725204468,5,2.595126819610596,http://localhost:8002,1768819765,,False,1,933eaf3b,2026-01-19_11-49-25,13.420702457427979,13.420702457427979,139980,sergio-XPS-15-9500,192.168.1.5,13.420702457427979,1,0.6841928895220837,0.4987357892894665,0.3892687916541862,0.013496416992424515,0.7313608327277628,0.30075189594812957,0.32892055287409155,0.2910230441279402,0.12231738001404545,0.6542796585827699,greedy,3,20,933eaf3b
|
||||||
|
0.07683542859531813,0.29422679092874626,12.476734638214111,5,2.407120943069458,http://localhost:8002,1768819781,,False,1,5cc050c0,2026-01-19_11-49-41,12.481242179870605,12.481242179870605,140188,sergio-XPS-15-9500,192.168.1.5,12.481242179870605,1,0.7076826224292139,0.4751142111109723,0.5719253650216765,0.20726075894486198,0.7574616804022614,0.48759940016947356,0.34266143931551063,0.18447732850058915,0.05055007965981624,0.5684478612561757,greedy,5,15,5cc050c0
|
||||||
|
0.06306661910327489,0.2898453031979762,11.470694541931152,5,2.2064542293548586,http://localhost:8002,1768819796,,False,1,d3c4733b,2026-01-19_11-49-56,11.4755117893219,11.4755117893219,140395,sergio-XPS-15-9500,192.168.1.5,11.4755117893219,1,0.6620107715544297,0.46192225302253637,0.5999869164872036,0.22619461913686095,0.5081500315391371,0.475339433636797,0.5106649520736647,0.18343269541739415,0.05344530818183559,0.5503520865389809,greedy,5,15,d3c4733b
|
||||||
|
0.062270483694448396,0.28136185456156826,11.204349517822266,5,2.1529050350189207,http://localhost:8002,1768819810,,False,1,b45ad82b,2026-01-19_11-50-10,11.209157705307007,11.209157705307007,140574,sergio-XPS-15-9500,192.168.1.5,11.209157705307007,1,0.5677170679516823,0.39248586783769635,0.5772785270028471,0.27599118000336537,0.5077328211777172,0.9804901966926808,0.4977991183990612,0.07239471385409058,0.1374763382905679,0.553666724679821,greedy,5,15,b45ad82b
|
||||||
|
0.05996048766984661,0.26719903989315885,10.76261305809021,5,2.0644459247589113,http://localhost:8002,1768819824,,False,1,8acf6ec9,2026-01-19_11-50-24,10.767472267150879,10.767472267150879,140781,sergio-XPS-15-9500,192.168.1.5,10.767472267150879,1,0.45865724369035377,0.3694009035940602,0.4151173065881186,0.2983365466960818,0.3631913446659816,0.9980863757691772,0.5845159135795941,0.0721946556655992,0.1459278780476781,0.694791501629087,greedy,5,5,8acf6ec9
|
||||||
|
0.06099161461125324,0.2731943754797238,10.691137313842773,5,2.049327087402344,http://localhost:8002,1768819838,,False,1,0551450f,2026-01-19_11-50-38,10.69617772102356,10.69617772102356,140969,sergio-XPS-15-9500,192.168.1.5,10.69617772102356,1,0.4402243626112622,0.3701488279313097,0.40203668237242685,0.2972046540464212,0.33871151213781014,0.8838165530603757,0.7081592028492127,0.0882537861188746,0.15672333775519132,0.701627303389235,greedy,10,5,0551450f
|
||||||
|
0.061099404730611595,0.2721280502767147,10.488921165466309,5,2.0086814403533935,http://localhost:8002,1768819852,,False,1,e740013a,2026-01-19_11-50-52,10.493494510650635,10.493494510650635,141174,sergio-XPS-15-9500,192.168.1.5,10.493494510650635,1,0.46435985811111974,0.34785224515762775,0.45493529224642276,0.29478569868586896,0.35587921159117397,0.8172744152107332,0.7122588321341333,0.0735916007360217,0.15982046838787856,0.7164721195205754,greedy,5,5,e740013a
|
||||||
|
0.062362858472938,0.272332407323177,10.604278802871704,5,2.034042978286743,http://localhost:8002,1768819866,,False,1,22c24728,2026-01-19_11-51-06,10.608573198318481,10.608573198318481,141340,sergio-XPS-15-9500,192.168.1.5,10.608573198318481,1,0.579678584169857,0.41597218340706976,0.4252016667747404,0.2679346252767811,0.34868781409745264,0.7747328556811077,0.5639686467419519,0.07445003550177257,0.16554473301217898,0.7073749357717483,greedy,10,5,22c24728
|
||||||
|
0.06215767332972164,0.2747475932624559,10.546220541000366,5,2.021405267715454,http://localhost:8002,1768819880,,False,1,d1b611a8,2026-01-19_11-51-20,10.550852060317993,10.550852060317993,141520,sergio-XPS-15-9500,192.168.1.5,10.550852060317993,1,0.4422199064362936,0.3610913124264453,0.512759066575697,0.25795910850742676,0.5611259808565064,0.9053873818686548,0.5976970185172742,0.003121661182585389,0.08700122299695832,0.6200011976268031,greedy,10,5,d1b611a8
|
||||||
|
0.06426741821045164,0.27754887165353204,10.526280164718628,5,2.017490863800049,http://localhost:8002,1768819894,,False,1,a1925725,2026-01-19_11-51-34,10.530900001525879,10.530900001525879,141685,sergio-XPS-15-9500,192.168.1.5,10.530900001525879,1,0.5079166883998535,0.44070967935910216,0.3555775923905935,0.2990878745571421,0.31120640343991984,0.9491605272601941,0.721432583570574,0.044062271648251126,0.1572631030161951,0.5962531429630691,greedy,5,5,a1925725
|
||||||
|
0.060448802280017165,0.2709457820432465,10.548709630966187,5,2.0212356567382814,http://localhost:8002,1768819907,,False,1,f6248ceb,2026-01-19_11-51-47,10.553314208984375,10.553314208984375,141848,sergio-XPS-15-9500,192.168.1.5,10.553314208984375,1,0.4717256039811322,0.36544351935053254,0.44547752189718304,0.29867816914798173,0.3833038520221923,0.8392790049435077,0.6924094072779299,0.0852529065561854,0.1544529445184886,0.7151769237673308,greedy,5,5,f6248ceb
|
||||||
|
0.061830952891847354,0.27643497142574114,10.458194017410278,5,2.00508770942688,http://localhost:8002,1768819921,,False,1,9408f008,2026-01-19_11-52-01,10.462894439697266,10.462894439697266,142026,sergio-XPS-15-9500,192.168.1.5,10.462894439697266,1,0.36151386422841214,0.3538388593453238,0.4559692019279934,0.258413183713029,0.39490484466097675,0.8743587585061078,0.7008339670509499,0.08528252345983173,0.1412514911085921,0.7102293742914433,greedy,5,5,9408f008
|
||||||
|
0.06426139507144008,0.27969442229397773,10.85228157043457,5,2.0829681873321535,http://localhost:8002,1768819935,,False,1,a0aa078a,2026-01-19_11-52-15,10.856995105743408,10.856995105743408,142190,sergio-XPS-15-9500,192.168.1.5,10.856995105743408,1,0.4624158086714028,0.42040393809756477,0.41520125659911294,0.29032442769565125,0.38480963688924097,0.745502857691457,0.5817045834292819,0.045692170174803245,0.17769522993714032,0.6933972538344093,greedy,5,5,a0aa078a
|
||||||
|
0.06269459198356074,0.27808950345890404,10.585867643356323,5,2.0289974212646484,http://localhost:8002,1768819949,,False,1,324be6ad,2026-01-19_11-52-29,10.590425252914429,10.590425252914429,142377,sergio-XPS-15-9500,192.168.1.5,10.590425252914429,1,0.39019467846190514,0.372308752898106,0.4640373077177259,0.20167201551181882,0.4408716269770253,0.8406520699713839,0.8098310920672391,0.1579316915947745,0.1384207575445601,0.7454573365368217,greedy,5,5,324be6ad
|
||||||
|
0.07959827118630344,0.2871382933960637,11.532482385635376,5,2.219746446609497,http://localhost:8002,1768819964,,False,1,e1c26fe1,2026-01-19_11-52-44,11.537264823913574,11.537264823913574,142538,sergio-XPS-15-9500,192.168.1.5,11.537264823913574,1,0.3090429790922413,0.33472186465221,0.39720817790586443,0.0041528793175236445,0.3025883785231392,0.9359865988554746,0.4208565345904826,0.09825579905606344,0.08933198214929214,0.5029113260048625,greedy,5,5,e1c26fe1
|
||||||
|
0.06153670825357198,0.2689836062793151,10.684980630874634,5,2.048065185546875,http://localhost:8002,1768819978,,False,1,871a2974,2026-01-19_11-52-58,10.689571142196655,10.689571142196655,142730,sergio-XPS-15-9500,192.168.1.5,10.689571142196655,1,0.6247643595063705,0.2700409637884238,0.523706372392991,0.26010593479118665,0.5419430667470642,0.8772489609968006,0.866157823298259,0.1525272090916175,0.23282983510183955,0.6005045065411087,greedy,10,5,871a2974
|
||||||
|
0.06673842132253202,0.2895430656572954,11.181420803070068,5,2.148970937728882,http://localhost:8002,1768819993,,False,1,5aaa2960,2026-01-19_11-53-13,11.186044454574585,11.186044454574585,142902,sergio-XPS-15-9500,192.168.1.5,11.186044454574585,1,0.5312313131533724,0.5274817776501124,0.36246508220473683,0.1487343581575564,0.3926538404095683,0.9516125555915751,0.6733549601019699,0.048249293092278434,0.11205800044575707,0.7992457276130864,greedy,7,5,5aaa2960
|
||||||
|
0.06397855317924395,0.27562926342642274,10.582021236419678,5,2.0291433334350586,http://localhost:8002,1768820006,,False,1,21bd3de3,2026-01-19_11-53-26,10.586687564849854,10.586687564849854,143089,sergio-XPS-15-9500,192.168.1.5,10.586687564849854,1,0.4768706082264196,0.4116856094728855,0.47401542881269365,0.24184252961783387,0.6689268585545911,0.7706602741028105,0.6152463359675456,0.02384590208270837,0.14958983968802692,0.6832923394286707,greedy,5,5,21bd3de3
|
||||||
|
0.05928688439040566,0.26340764235199676,10.82849907875061,5,2.0774466037750243,http://localhost:8002,1768820021,,False,1,1557acdd,2026-01-19_11-53-41,10.833132982254028,10.833132982254028,143248,sergio-XPS-15-9500,192.168.1.5,10.833132982254028,1,0.7552574004836203,0.44533911204124527,0.31397183762754305,0.2781958432695631,0.4971448247990278,0.702889696463513,0.5563365487128928,0.10957807143315677,0.1792808875596712,0.7431378339011148,greedy,3,5,1557acdd
|
||||||
|
0.05996751845943706,0.2656487417441341,11.046596050262451,5,2.1210866928100587,http://localhost:8002,1768820035,,False,1,23e5421b,2026-01-19_11-53-55,11.051404476165771,11.051404476165771,143435,sergio-XPS-15-9500,192.168.1.5,11.051404476165771,1,0.7718089675955625,0.4446379405494256,0.3019967059446066,0.27530868169916184,0.48775088657867727,0.7025268307300849,0.5457135094112008,0.10608020395503459,0.17680901565764098,0.7399221495601584,greedy,3,5,23e5421b
|
||||||
|
0.05943303923556994,0.2621136461900505,10.89347219467163,5,2.090515375137329,http://localhost:8002,1768820049,,False,1,4662a08f,2026-01-19_11-54-09,10.898061990737915,10.898061990737915,143626,sergio-XPS-15-9500,192.168.1.5,10.898061990737915,1,0.7655197786088256,0.4384608011311873,0.2900656349558717,0.2738896956339715,0.4897956878476248,0.7114900186099934,0.5392251925681772,0.11338377422440528,0.18288699118515803,0.7492268780264275,greedy,3,5,4662a08f
|
||||||
|
0.059764190418310784,0.26498596833223664,11.022373676300049,5,2.11647310256958,http://localhost:8002,1768820064,,False,1,8339cb3e,2026-01-19_11-54-24,11.026973724365234,11.026973724365234,143832,sergio-XPS-15-9500,192.168.1.5,11.026973724365234,1,0.7686099049266422,0.44630560025029414,0.2948219426310189,0.2727084952650962,0.49027990928339404,0.7249036670847477,0.5450468550932773,0.11187079599626384,0.18133138980677752,0.7495335565594098,greedy,3,5,8339cb3e
|
||||||
|
0.060684238278697525,0.26432483439151866,12.10981273651123,5,2.3338690757751466,http://localhost:8002,1768820079,,False,1,9c9cf542,2026-01-19_11-54-39,12.114561557769775,12.114561557769775,144014,sergio-XPS-15-9500,192.168.1.5,12.114561557769775,1,0.7532180802163942,0.5128327503981508,0.2570950665245929,0.21228601663917626,0.5702886327992472,0.5874866302046862,0.41605423922305346,0.1393125792842351,0.22050576617777679,0.7624824674521864,greedy,3,20,9c9cf542
|
||||||
|
0.08014581283242714,0.28932853882106035,10.766591310501099,5,2.0627391815185545,http://localhost:8002,1768820093,,False,1,7b99dc7d,2026-01-19_11-54-53,10.773411512374878,10.773411512374878,144217,sergio-XPS-15-9500,192.168.1.5,10.773411512374878,1,0.8900827816008225,0.43692605130405904,0.28299893768197637,0.25090796326354026,0.45116119804450994,0.7000835777935013,0.5311272120253014,0.10699302785038173,0.2904514002507723,0.7756605791225515,greedy,3,5,7b99dc7d
|
||||||
|
0.05998922172744085,0.26585145931941695,11.418177604675293,5,2.19525465965271,http://localhost:8002,1768820108,,False,1,889ff391,2026-01-19_11-55-08,11.422764301300049,11.422764301300049,144398,sergio-XPS-15-9500,192.168.1.5,11.422764301300049,1,0.7853225189675154,0.463910613321873,0.23698735272141672,0.27377548391814954,0.6121219754884698,0.551217667291872,0.43571381214714444,0.11657214266943153,0.18871141271799163,0.7335864533748023,greedy,3,5,889ff391
|
||||||
|
0.3537681802368841,0.4969864100911835,12.881014823913574,5,2.4865323543548583,http://localhost:8002,1768820124,,False,1,7e811d46,2026-01-19_11-55-24,12.88630223274231,12.88630223274231,144607,sergio-XPS-15-9500,192.168.1.5,12.88630223274231,1,0.7266484292255461,0.5415454213873866,0.3301145976622343,0.1865414523299046,0.47980014672018056,0.7370946863942303,0.6321175664041752,0.16199096365481883,0.24575549479858036,0.7988955477215958,beamsearch,3,5,7e811d46
|
||||||
|
0.08668141149396207,0.3195016810538794,12.23897933959961,5,2.3584585189819336,http://localhost:8002,1768820140,,False,1,aad8a433,2026-01-19_11-55-40,12.244789123535156,12.244789123535156,144837,sergio-XPS-15-9500,192.168.1.5,12.244789123535156,1,0.8890784877906777,0.49729149007901785,0.3022378793797936,0.15068002069309427,0.5217560545383055,0.6246570748018311,0.39540672252266484,0.06113992103803731,0.19740387526722958,0.6691724379280026,greedy,3,20,aad8a433
|
||||||
|
0.33039603802482187,0.4796702224046533,12.4546537399292,5,2.4026978492736815,http://localhost:8002,1768820156,,False,1,512657a2,2026-01-19_11-55-56,12.45941162109375,12.45941162109375,145063,sergio-XPS-15-9500,192.168.1.5,12.45941162109375,1,0.6232362282312066,0.3918712695091323,0.2051294768906529,0.23628755351196915,0.5886422425865593,0.3680701363856915,0.45704649890130883,0.1172561016305299,0.17265532433475142,0.7657720890343414,beamsearch,3,5,512657a2
|
||||||
|
0.06198201775009295,0.2639318510923077,10.336721420288086,5,1.9784754753112792,http://localhost:8002,1768820170,,False,1,1da2591c,2026-01-19_11-56-10,10.341253757476807,10.341253757476807,145258,sergio-XPS-15-9500,192.168.1.5,10.341253757476807,1,0.7945748814752798,0.3074609198039082,0.3512850377909583,0.2803387165565871,0.676034214318366,0.5425759112229473,0.4977769366841911,0.1405039691690697,0.18414358174506226,0.6495146967256282,greedy,3,10,1da2591c
|
||||||
|
0.23930652997356217,0.4047803085409988,13.96639633178711,5,2.70588903427124,http://localhost:8002,1768820187,,False,1,1fc76c61,2026-01-19_11-56-27,13.971062898635864,13.971062898635864,145448,sergio-XPS-15-9500,192.168.1.5,13.971062898635864,1,0.7298730667959007,0.43128174897306926,0.37543194001483676,0.033557047235571416,0.4227439352044997,0.6369762315598249,0.5720837980668902,0.16989421299763682,0.20357556846664004,0.33606535760084727,beamsearch,7,15,1fc76c61
|
||||||
|
0.05916457749009331,0.2603697639812623,10.936553001403809,5,2.099363851547241,http://localhost:8002,1768820201,,False,1,466fabc4,2026-01-19_11-56-41,10.941264390945435,10.941264390945435,145657,sergio-XPS-15-9500,192.168.1.5,10.941264390945435,1,0.7646655943554652,0.4496059489020273,0.3037692280282893,0.27820217212001197,0.4796795208364998,0.7118325937653041,0.5413221047834652,0.10120472780313837,0.16953835385986285,0.7373278953886837,greedy,3,5,466fabc4
|
||||||
|
0.06262277504663857,0.2680984132847148,10.939441919326782,5,2.099300193786621,http://localhost:8002,1768820216,,False,1,1d6d1749,2026-01-19_11-56-56,10.943971633911133,10.943971633911133,145853,sergio-XPS-15-9500,192.168.1.5,10.943971633911133,1,0.8234354899576677,0.4593995267054814,0.27033008042371826,0.24452223445450588,0.44951347701495115,0.6907896319414741,0.5324461272026295,0.1235467025491428,0.12932778883432983,0.7317188726093867,greedy,3,5,1d6d1749
|
||||||
|
0.05970784035209096,0.258759438956101,10.990158319473267,5,2.1104721069335937,http://localhost:8002,1768820230,,False,1,c82e12e9,2026-01-19_11-57-10,10.994841575622559,10.994841575622559,146026,sergio-XPS-15-9500,192.168.1.5,10.994841575622559,1,0.7435671290019616,0.4902723579691337,0.31030673207841203,0.2821781420999702,0.4743635349095276,0.7868678535393907,0.6534237946773291,0.09810216733901932,0.18818934557100567,0.769000804122876,greedy,3,5,c82e12e9
|
||||||
|
0.07399781605809005,0.2901757233837255,11.241674661636353,5,2.159311056137085,http://localhost:8002,1768820245,,False,1,dc4b8ad0,2026-01-19_11-57-25,11.246280431747437,11.246280431747437,146227,sergio-XPS-15-9500,192.168.1.5,11.246280431747437,1,0.8635855881513506,0.5679840217648511,0.3108576081126515,0.26596438861226535,0.4736117661041297,0.7935405923179888,0.6568791745253106,0.09852706108769861,0.22110037713279163,0.7726420509771701,greedy,3,5,dc4b8ad0
|
||||||
|
0.059443757821647306,0.2652742693642366,10.932884454727173,5,2.0979042530059813,http://localhost:8002,1768820259,,False,1,dd5c1aa0,2026-01-19_11-57-39,10.937772035598755,10.937772035598755,146415,sergio-XPS-15-9500,192.168.1.5,10.937772035598755,1,0.7497851211362265,0.49340285442914233,0.24486518704295845,0.22169705261942863,0.5344290231994961,0.7343738246174152,0.6273279588084633,0.1401353190181211,0.19391335447188496,0.751931055711065,greedy,3,10,dd5c1aa0
|
||||||
|
0.33905839374179186,0.46681630291244874,11.817269086837769,5,2.2754374027252195,http://localhost:8002,1768820274,,False,1,3e431bbc,2026-01-19_11-57-54,11.822028636932373,11.822028636932373,146609,sergio-XPS-15-9500,192.168.1.5,11.822028636932373,1,0.7409469255126825,0.486311604635016,0.2426683920471307,0.22749653812474147,0.5339818816411395,0.7675880896677424,0.6136943680830941,0.22201604923294813,0.2076143561269635,0.7773645815175689,beamsearch,3,10,3e431bbc
|
||||||
|
0.06022704320482961,0.26313388102560387,10.998746633529663,5,2.1118124961853026,http://localhost:8002,1768820288,,False,1,156758d9,2026-01-19_11-58-08,11.003510475158691,11.003510475158691,146797,sergio-XPS-15-9500,192.168.1.5,11.003510475158691,1,0.6958655352045846,0.5130811270234237,0.3398685649368741,0.281609671843136,0.6188171051225511,0.6619539249830828,0.7621944146375241,0.13722873492512194,0.19541317596404653,0.724668083186668,greedy,3,10,156758d9
|
||||||
|
0.0619061941971184,0.2666708599391416,10.721810817718506,5,2.0556752681732178,http://localhost:8002,1768820303,,False,1,98b752e7,2026-01-19_11-58-23,10.726754426956177,10.726754426956177,146994,sergio-XPS-15-9500,192.168.1.5,10.726754426956177,1,0.8065507370753903,0.479579558894321,0.2710803109658562,0.2200369611680297,0.562424006392253,0.6785297866543542,0.6428102120307683,0.17361026837711904,0.25222880963797256,0.6816772979912098,greedy,3,10,98b752e7
|
||||||
|
0.060772000212913825,0.2693655727035526,11.828697204589844,5,2.276572847366333,http://localhost:8002,1768820318,,False,1,b76fb991,2026-01-19_11-58-38,11.833409070968628,11.833409070968628,147173,sergio-XPS-15-9500,192.168.1.5,11.833409070968628,1,0.6588562181986706,0.5057274333487476,0.21185595176486843,0.2530909139222912,0.6525256193586906,0.8104014913294882,0.4815502590805036,0.13014894080011688,0.16940039157653397,0.7552923776175787,greedy,3,10,b76fb991
|
||||||
|
0.07314038576784788,0.3150308431474841,12.541530132293701,5,2.420142650604248,http://localhost:8002,1768820334,,False,1,2cddab16,2026-01-19_11-58-54,12.546295404434204,12.546295404434204,147391,sergio-XPS-15-9500,192.168.1.5,12.546295404434204,1,0.8467938317793842,0.5454167229484307,0.31221025364961774,0.19484970751487457,0.7101321488954703,0.6066858622923857,0.3883609000553786,0.09428410179254802,0.23303430823510501,0.5028771950032019,greedy,3,20,2cddab16
|
||||||
|
0.061126787276099506,0.2754658344456032,12.830697536468506,5,2.4755293846130373,http://localhost:8002,1768820350,,False,1,c5e9c336,2026-01-19_11-59-10,12.835358381271362,12.835358381271362,147587,sergio-XPS-15-9500,192.168.1.5,12.835358381271362,1,0.7742942276856887,0.45602451871204075,0.2906132981749209,0.28249790167048744,0.49285375099310735,0.7281704754203927,0.30136076169570813,0.11215186859095508,0.18604751676297107,0.7485499894558536,greedy,3,10,c5e9c336
|
||||||
|
0.059864794050619355,0.2672736064749025,11.629220485687256,5,2.235791301727295,http://localhost:8002,1768820365,,False,1,4746a594,2026-01-19_11-59-25,11.634002208709717,11.634002208709717,147814,sergio-XPS-15-9500,192.168.1.5,11.634002208709717,1,0.7600341581312108,0.4856987064104726,0.25429745004407167,0.23782684371695748,0.5171294186553896,0.7199868218813051,0.5150852975917685,0.1466645033310691,0.21110091695829342,0.7887741773568971,greedy,3,15,4746a594
|
||||||
|
0.059687361636187354,0.25915782844539953,10.77558970451355,5,2.0677656650543215,http://localhost:8002,1768820379,,False,1,914de1fb,2026-01-19_11-59-39,10.780381202697754,10.780381202697754,148016,sergio-XPS-15-9500,192.168.1.5,10.780381202697754,1,0.7206799644549393,0.4038298181079831,0.22829349882480535,0.26704100913427425,0.40874625247425306,0.7422689086598406,0.5495893868854069,0.1269079072494077,0.1907921420998867,0.7564991275004229,greedy,3,5,914de1fb
|
||||||
|
0.05944052289142775,0.2603006035896063,11.235510110855103,5,2.1587305068969727,http://localhost:8002,1768820394,,False,1,67d86f75,2026-01-19_11-59-54,11.240439653396606,11.240439653396606,148208,sergio-XPS-15-9500,192.168.1.5,11.240439653396606,1,0.7181780900634192,0.40619737782309295,0.23858930971427372,0.17036711251144926,0.41028051751847794,0.7619291987754846,0.5944586460638401,0.12680370752155648,0.19408677869066687,0.7340530830475422,greedy,3,5,67d86f75
|
||||||
|
0.05864527764234886,0.2576966365837255,10.711666345596313,5,2.054002857208252,http://localhost:8002,1768820408,,False,1,ec233275,2026-01-19_12-00-08,10.71644115447998,10.71644115447998,148394,sergio-XPS-15-9500,192.168.1.5,10.71644115447998,1,0.7119912570829008,0.4067353312041748,0.22290482686450167,0.13876386837316096,0.4216785745225061,0.7449060175492836,0.6189859060561754,0.12837536724587273,0.16720360936555814,0.6490148035375993,greedy,7,5,ec233275
|
||||||
|
0.058352281456512646,0.26325850918850957,10.756606340408325,5,2.0632463455200196,http://localhost:8002,1768820422,,False,1,1b85472e,2026-01-19_12-00-22,10.761056900024414,10.761056900024414,148589,sergio-XPS-15-9500,192.168.1.5,10.761056900024414,1,0.6647184009064185,0.42466969296752816,0.21838222053573686,0.1629305080861391,0.7994293119091709,0.6436655189392679,0.6065310919737225,0.14619053351152517,0.1671131734904739,0.6416317933607728,greedy,7,10,1b85472e
|
||||||
|
0.3660240439441647,0.4947236362577508,13.107557773590088,5,2.53425874710083,http://localhost:8002,1768820439,,False,1,c50724c2,2026-01-19_12-00-39,13.112190961837769,13.112190961837769,148777,sergio-XPS-15-9500,192.168.1.5,13.112190961837769,1,0.6634068628046286,0.4221917610956251,0.22391772412866445,0.1502086057528373,0.7842640466327674,0.6529205282440211,0.5966980952588006,0.18574462350804272,0.16077183234622805,0.6422206751727608,beamsearch,7,5,c50724c2
|
||||||
|
0.062152982639591625,0.27540347582693964,10.558995485305786,5,2.022567129135132,http://localhost:8002,1768820452,,False,1,881d9f45,2026-01-19_12-00-52,10.563637018203735,10.563637018203735,148992,sergio-XPS-15-9500,192.168.1.5,10.563637018203735,1,0.6346549144056921,0.3809145239465362,0.2823575989757486,0.1284614307850303,0.8067091565131851,0.8337121990108658,0.567787249051487,0.20829411872710996,0.16721474316062188,0.6282852294207945,greedy,7,5,881d9f45
|
||||||
|
0.05856626938126275,0.2581712321259471,10.876498222351074,5,2.087088108062744,http://localhost:8002,1768820467,,False,1,48fc43e4,2026-01-19_12-01-07,10.88118314743042,10.88118314743042,149163,sergio-XPS-15-9500,192.168.1.5,10.88118314743042,1,0.7042086976838686,0.4025170289737934,0.2160231541556799,0.16549335913941385,0.8858930429274254,0.6801565065140187,0.6745339610780225,0.08262987034261617,0.13360114059916128,0.5889319630704115,greedy,7,15,48fc43e4
|
||||||
|
0.05976448758711881,0.2592269888370555,10.979224681854248,5,2.107044887542725,http://localhost:8002,1768820481,,False,1,652caf77,2026-01-19_12-01-21,10.983993291854858,10.983993291854858,149348,sergio-XPS-15-9500,192.168.1.5,10.983993291854858,1,0.6988387104713508,0.4289552511338064,0.2166071100318819,0.08342333197598858,0.8547499849878485,0.6078156114278425,0.6796871899662313,0.0591502474857241,0.14761325178795806,0.5982026862890478,greedy,7,15,652caf77
|
||||||
|
0.059133090191924254,0.2616872288695368,10.93423843383789,5,2.0975637912750242,http://localhost:8002,1768820495,,False,1,2e85880b,2026-01-19_12-01-35,10.93894910812378,10.93894910812378,149544,sergio-XPS-15-9500,192.168.1.5,10.93894910812378,1,0.6774988511926161,0.4026304656490138,0.20196424213945063,0.16637061772902026,0.9069000290827862,0.6717917525978443,0.607813099351824,0.08607375284532315,0.12816482122073206,0.5836410965708964,greedy,7,15,2e85880b
|
||||||
|
0.058834943191146474,0.258064666499282,10.712863683700562,5,2.055108594894409,http://localhost:8002,1768820509,,False,1,08c06d24,2026-01-19_12-01-49,10.71783971786499,10.71783971786499,149716,sergio-XPS-15-9500,192.168.1.5,10.71783971786499,1,0.676761107149889,0.3948167640336808,0.20446373408896712,0.1252645275302706,0.928745330628802,0.6772167484136661,0.728934789581864,0.07948320492885358,0.12455482683154301,0.5820049881076059,greedy,7,15,08c06d24
|
||||||
|
0.05934167210765926,0.26507859745022083,10.722304821014404,5,2.0554207801818847,http://localhost:8002,1768820524,,False,1,b3f45b00,2026-01-19_12-02-04,10.727020978927612,10.727020978927612,149910,sergio-XPS-15-9500,192.168.1.5,10.727020978927612,1,0.6791241480460476,0.38507960399360586,0.2008675489682369,0.13136654102633838,0.9452093699034901,0.6808870002862947,0.7451721898503598,0.08065678907057289,0.11084582244266457,0.5764033974919818,greedy,7,15,b3f45b00
|
||||||
|
65
src/results/raytune_paddle_results_20260119_122609.csv
Normal file
65
src/results/raytune_paddle_results_20260119_122609.csv
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
CER,WER,TIME,PAGES,TIME_PER_PAGE,worker,timestamp,checkpoint_dir_name,done,training_iteration,trial_id,date,time_this_iter_s,time_total_s,pid,hostname,node_ip,time_since_restore,iterations_since_restore,config/use_doc_orientation_classify,config/use_doc_unwarping,config/textline_orientation,config/text_det_thresh,config/text_det_box_thresh,config/text_det_unclip_ratio,config/text_rec_score_thresh,logdir
|
||||||
|
0.03506661663316561,0.09890345974963388,11.85569167137146,5,2.223856973648071,http://localhost:8002,1768821470,,False,1,c385d490,2026-01-19_12-17-50,11.864287614822388,11.864287614822388,255694,sergio-XPS-15-9500,192.168.1.5,11.864287614822388,1,False,False,False,0.3694663403739679,0.4296387270337578,0.0,0.1783109083293045,c385d490
|
||||||
|
0.03599172786858722,0.09831877575011358,3.6901509761810303,5,0.642470121383667,http://localhost:8002,1768821477,,False,1,28a0a423,2026-01-19_12-17-57,3.6944973468780518,3.6944973468780518,255930,sergio-XPS-15-9500,192.168.1.5,3.6944973468780518,1,True,False,False,0.443249796611768,0.4817558265252385,0.0,0.06237975078446407,28a0a423
|
||||||
|
0.07296898422220219,0.13203708321215762,10.501965999603271,5,2.0055192947387694,http://localhost:8002,1768821491,,False,1,f699b826,2026-01-19_12-18-11,10.506679058074951,10.506679058074951,256056,sergio-XPS-15-9500,192.168.1.5,10.506679058074951,1,False,True,False,0.2851409433291632,0.5181201198120159,0.0,0.5402431853279566,f699b826
|
||||||
|
0.06341497143231878,0.12432485697376627,10.013647079467773,5,1.9113924980163575,http://localhost:8002,1768821505,,False,1,49e77d45,2026-01-19_12-18-25,10.018975019454956,10.018975019454956,256261,sergio-XPS-15-9500,192.168.1.5,10.018975019454956,1,False,True,False,0.4091020962342421,0.5477675836994064,0.0,0.28125964062929637,49e77d45
|
||||||
|
0.06363307378397837,0.11080195018785229,10.315315961837769,5,1.9735893249511718,http://localhost:8002,1768821518,,False,1,08dff189,2026-01-19_12-18-38,10.319286346435547,10.319286346435547,256431,sergio-XPS-15-9500,192.168.1.5,10.319286346435547,1,False,True,True,0.4761569778732009,0.47781667917332393,0.0,0.010287859440038183,08dff189
|
||||||
|
0.00927190028988934,0.08293509652512027,3.394526243209839,5,0.5889779567718506,http://localhost:8002,1768821525,,False,1,2808180e,2026-01-19_12-18-45,3.3984148502349854,3.3984148502349854,256622,sergio-XPS-15-9500,192.168.1.5,3.3984148502349854,1,False,False,True,0.49092093640044654,0.16386227611297105,0.0,0.36495336114676485,2808180e
|
||||||
|
0.06414858633862171,0.1138840355665884,10.091642618179321,5,1.9286378383636475,http://localhost:8002,1768821539,,False,1,8b33e2a2,2026-01-19_12-18-59,10.095749855041504,10.095749855041504,256746,sergio-XPS-15-9500,192.168.1.5,10.095749855041504,1,False,True,False,0.664057104821503,0.380194482697527,0.0,0.0957856258135195,8b33e2a2
|
||||||
|
0.04089344159161516,0.11588877886734197,3.399895191192627,5,0.5897929668426514,http://localhost:8002,1768821546,,False,1,2b3b0aad,2026-01-19_12-19-06,3.403998613357544,3.403998613357544,256911,sergio-XPS-15-9500,192.168.1.5,3.403998613357544,1,True,False,False,0.15162885621474814,0.015269709226466177,0.0,0.6005426046606002,2b3b0aad
|
||||||
|
0.06440335927000067,0.125496108332261,10.158945322036743,5,1.9415269851684571,http://localhost:8002,1768821559,,False,1,8c1998de,2026-01-19_12-19-19,10.162839651107788,10.162839651107788,257030,sergio-XPS-15-9500,192.168.1.5,10.162839651107788,1,True,True,True,0.3692127966881518,0.23308318268023623,0.0,0.3773645637989277,8c1998de
|
||||||
|
0.0637132502302169,0.11234475429253714,9.987636089324951,5,1.9088503837585449,http://localhost:8002,1768821573,,False,1,52bacbb6,2026-01-19_12-19-33,9.991463661193848,9.991463661193848,257222,sergio-XPS-15-9500,192.168.1.5,9.991463661193848,1,False,True,False,0.6035565410217514,0.21880259661403342,0.0,0.18713153326839937,52bacbb6
|
||||||
|
0.008343047226538839,0.08349130431035265,3.386183738708496,5,0.5885046482086181,http://localhost:8002,1768821579,,False,1,08c1ee35,2026-01-19_12-19-39,3.39007830619812,3.39007830619812,257399,sergio-XPS-15-9500,192.168.1.5,3.39007830619812,1,True,False,True,0.15926489447447112,0.017648992877564967,0.0,0.44224480118340653,08c1ee35
|
||||||
|
0.007922541795615114,0.07887346048819885,3.468980550765991,5,0.5967342376708984,http://localhost:8002,1768821586,,False,1,d00c4e76,2026-01-19_12-19-46,3.472960948944092,3.472960948944092,257525,sergio-XPS-15-9500,192.168.1.5,3.472960948944092,1,True,False,True,0.07077078342680466,0.004051086507914577,0.0,0.46605997897727297,d00c4e76
|
||||||
|
0.016055552163489285,0.08753651728221294,3.3815455436706543,5,0.5863098621368408,http://localhost:8002,1768821593,,False,1,bb72b916,2026-01-19_12-19-53,3.385627031326294,3.385627031326294,257655,sergio-XPS-15-9500,192.168.1.5,3.385627031326294,1,True,False,True,0.00406946269144004,0.024694902295496916,0.0,0.48724120796716147,bb72b916
|
||||||
|
0.04101062641443912,0.11434949759329069,3.3144912719726562,5,0.5752715110778809,http://localhost:8002,1768821599,,False,1,c12ba2dc,2026-01-19_12-19-59,3.3184001445770264,3.3184001445770264,257771,sergio-XPS-15-9500,192.168.1.5,3.3184001445770264,1,True,False,True,0.11631707320987289,0.690466345723201,0.0,0.6724394280648069,c12ba2dc
|
||||||
|
0.00877838333494364,0.08577894245301848,3.401432514190674,5,0.589998722076416,http://localhost:8002,1768821606,,False,1,463a2384,2026-01-19_12-20-06,3.4053428173065186,3.4053428173065186,257879,sergio-XPS-15-9500,192.168.1.5,3.4053428173065186,1,True,False,True,0.22358777119494402,0.11342742897015146,0.0,0.42574884909601923,463a2384
|
||||||
|
0.008258946852964685,0.07832593783541303,3.4435582160949707,5,0.5993115901947021,http://localhost:8002,1768821613,,False,1,9ec8a6c5,2026-01-19_12-20-13,3.447549343109131,3.447549343109131,257998,sergio-XPS-15-9500,192.168.1.5,3.447549343109131,1,True,False,True,0.00914625516134962,0.28951184233224014,0.0,0.4822045024114849,9ec8a6c5
|
||||||
|
0.016055552163489285,0.08753651728221294,3.357020139694214,5,0.58282470703125,http://localhost:8002,1768821620,,False,1,c5e2ab01,2026-01-19_12-20-20,3.360861301422119,3.360861301422119,258136,sergio-XPS-15-9500,192.168.1.5,3.360861301422119,1,True,False,True,0.003475038037149451,0.29241480396041347,0.0,0.5570331572371645,c5e2ab01
|
||||||
|
0.009030183622618133,0.06800810511996136,3.4037389755249023,5,0.5921475410461425,http://localhost:8002,1768821627,,False,1,791ed981,2026-01-19_12-20-27,3.4075520038604736,3.4075520038604736,258252,sergio-XPS-15-9500,192.168.1.5,3.4075520038604736,1,True,False,True,0.08655779066151734,0.3187645875435276,0.0,0.2687428540439976,791ed981
|
||||||
|
0.008664940340048574,0.08581798715920706,3.501950263977051,5,0.6108397006988525,http://localhost:8002,1768821633,,False,1,f8442025,2026-01-19_12-20-33,3.5058133602142334,3.5058133602142334,258364,sergio-XPS-15-9500,192.168.1.5,3.5058133602142334,1,True,False,True,0.26385969784523366,0.10646638343274928,0.0,0.6888529567810926,f8442025
|
||||||
|
0.013289181242042186,0.08277097527295318,3.2847726345062256,5,0.5695433616638184,http://localhost:8002,1768821640,,False,1,c4cc8356,2026-01-19_12-20-40,3.2885093688964844,3.2885093688964844,258479,sergio-XPS-15-9500,192.168.1.5,3.2885093688964844,1,True,False,True,0.0783907286407576,0.6144374684317566,0.0,0.49431837576833404,c4cc8356
|
||||||
|
0.008558844366776789,0.08503058558440392,3.376376152038574,5,0.5869657039642334,http://localhost:8002,1768821647,,False,1,fb7bf10e,2026-01-19_12-20-47,3.380413770675659,3.380413770675659,258615,sergio-XPS-15-9500,192.168.1.5,3.380413770675659,1,True,False,True,0.19290877255165814,0.09975349505857617,0.0,0.6114422209758432,fb7bf10e
|
||||||
|
0.007997676431652,0.07780877475636923,3.3821396827697754,5,0.5890754699707031,http://localhost:8002,1768821654,,False,1,d2036b54,2026-01-19_12-20-54,3.386087417602539,3.386087417602539,258726,sergio-XPS-15-9500,192.168.1.5,3.386087417602539,1,True,False,True,0.045413006981742665,0.014462040606135707,0.0,0.43172761082245126,d2036b54
|
||||||
|
0.009147368445442098,0.06969651955749985,3.374091148376465,5,0.5859436988830566,http://localhost:8002,1768821660,,False,1,50ea7f3b,2026-01-19_12-21-00,3.3778791427612305,3.3778791427612305,258841,sergio-XPS-15-9500,192.168.1.5,3.3778791427612305,1,True,False,True,0.05615414666061707,0.1767564331348277,0.0,0.294181079680786,50ea7f3b
|
||||||
|
0.008414440034646826,0.07859969916180594,3.3822972774505615,5,0.5889940738677979,http://localhost:8002,1768821667,,False,1,248f11ad,2026-01-19_12-21-07,3.3861117362976074,3.3861117362976074,258958,sergio-XPS-15-9500,192.168.1.5,3.3861117362976074,1,True,False,True,0.037929131718362014,0.08279922744979032,0.0,0.44895447738110594,248f11ad
|
||||||
|
0.008631855890798765,0.08171378358546351,3.3687093257904053,5,0.5860745429992675,http://localhost:8002,1768821674,,False,1,ed62f7dc,2026-01-19_12-21-14,3.372666835784912,3.372666835784912,259076,sergio-XPS-15-9500,192.168.1.5,3.372666835784912,1,True,False,True,0.1333628019047363,0.2729950555484231,0.0,0.39746071410829,ed62f7dc
|
||||||
|
0.008664940340048574,0.08499154087821534,3.371145248413086,5,0.5862448215484619,http://localhost:8002,1768821681,,False,1,d8907a1f,2026-01-19_12-21-21,3.375185012817383,3.375185012817383,259206,sergio-XPS-15-9500,192.168.1.5,3.375185012817383,1,True,False,True,0.2765606196671755,0.060003260056553154,0.0,0.5025665425204284,d8907a1f
|
||||||
|
0.009147368445442098,0.07229696373274716,3.3624093532562256,5,0.5846651554107666,http://localhost:8002,1768821687,,False,1,ebaac043,2026-01-19_12-21-27,3.366320848464966,3.366320848464966,259323,sergio-XPS-15-9500,192.168.1.5,3.366320848464966,1,True,False,True,0.04919576638833845,0.36820782546645486,0.0,0.32312205105133734,ebaac043
|
||||||
|
0.008558844366776789,0.08503058558440392,3.3781065940856934,5,0.587260627746582,http://localhost:8002,1768821694,,False,1,a0894bc0,2026-01-19_12-21-34,3.3822152614593506,3.3822152614593506,259443,sergio-XPS-15-9500,192.168.1.5,3.3822152614593506,1,True,False,True,0.1994235733794807,0.15972291414455095,0.0,0.5977644425109412,a0894bc0
|
||||||
|
0.008024895940958,0.07962534018744696,3.398592710494995,5,0.5916557788848877,http://localhost:8002,1768821701,,False,1,3498c1b8,2026-01-19_12-21-41,3.4023826122283936,3.4023826122283936,259554,sergio-XPS-15-9500,192.168.1.5,3.4023826122283936,1,True,False,True,0.1046266985888523,0.23508200526753675,0.0,0.5467266950434034,3498c1b8
|
||||||
|
0.008024895940958,0.07962534018744696,3.4101011753082275,5,0.5957276344299316,http://localhost:8002,1768821707,,False,1,00fc5f6a,2026-01-19_12-21-47,3.4141347408294678,3.4141347408294678,259689,sergio-XPS-15-9500,192.168.1.5,3.4141347408294678,1,True,False,True,0.09816375424029757,0.40866092341544563,0.0,0.5397528720422529,00fc5f6a
|
||||||
|
0.008449143199810622,0.08349130431035265,3.4055111408233643,5,0.5931827545166015,http://localhost:8002,1768821714,,False,1,e98c02d1,2026-01-19_12-21-54,3.409532070159912,3.409532070159912,259816,sergio-XPS-15-9500,192.168.1.5,3.409532070159912,1,True,False,True,0.3140290686317056,0.052614998451672106,0.0,0.6465903750193005,e98c02d1
|
||||||
|
0.008024895940958,0.07962534018744696,3.3723814487457275,5,0.5866386890411377,http://localhost:8002,1768821721,,False,1,c70f3f43,2026-01-19_12-22-01,3.3762624263763428,3.3762624263763428,259923,sergio-XPS-15-9500,192.168.1.5,3.3762624263763428,1,True,False,True,0.10014126954970229,0.42707748560882025,0.0,0.5502134276128419,c70f3f43
|
||||||
|
0.008343047226538839,0.08349130431035265,3.3672409057617188,5,0.5856597900390625,http://localhost:8002,1768821728,,False,1,70400fbe,2026-01-19_12-22-08,3.371093511581421,3.371093511581421,260039,sergio-XPS-15-9500,192.168.1.5,3.371093511581421,1,True,False,True,0.16292741177177594,0.4548418182130589,0.0,0.5302300590456391,70400fbe
|
||||||
|
0.008664940340048574,0.08499154087821534,3.4183735847473145,5,0.5965535163879394,http://localhost:8002,1768821734,,False,1,4dcb599d,2026-01-19_12-22-14,3.4222280979156494,3.4222280979156494,260159,sergio-XPS-15-9500,192.168.1.5,3.4222280979156494,1,True,False,True,0.23726923927972388,0.4074643735298082,0.0,0.41001202937163644,4dcb599d
|
||||||
|
0.04068873330092939,0.11438501946884572,3.257974624633789,5,0.5640182018280029,http://localhost:8002,1768821741,,False,1,4228b5e1,2026-01-19_12-22-21,3.261892557144165,3.261892557144165,260291,sergio-XPS-15-9500,192.168.1.5,3.261892557144165,1,True,False,False,0.12333092543339132,0.5239761637260665,0.0,0.5745717593014468,4228b5e1
|
||||||
|
0.06275857947195311,0.12652527218853557,9.750442743301392,5,1.8625127792358398,http://localhost:8002,1768821754,,False,1,3588064b,2026-01-19_12-22-34,9.754103899002075,9.754103899002075,260400,sergio-XPS-15-9500,192.168.1.5,9.754103899002075,1,False,True,True,0.10034065797370648,0.34091325083457025,0.0,0.6394382232363077,3588064b
|
||||||
|
0.040999537564886945,0.11588877886734197,3.285776138305664,5,0.5690357685089111,http://localhost:8002,1768821761,,False,1,11ccb158,2026-01-19_12-22-41,3.289609670639038,3.289609670639038,260569,sergio-XPS-15-9500,192.168.1.5,3.289609670639038,1,True,False,False,0.32864774599403973,0.14086017880721893,0.0,0.46819585706944256,11ccb158
|
||||||
|
0.062252142887134154,0.11824393793048431,9.891753673553467,5,1.8906636714935303,http://localhost:8002,1768821774,,False,1,6fc2cbb9,2026-01-19_12-22-54,9.895762920379639,9.895762920379639,260704,sergio-XPS-15-9500,192.168.1.5,9.895762920379639,1,False,True,True,0.059161274748840434,0.21510105294599707,0.0,0.5189526304991655,6fc2cbb9
|
||||||
|
0.035476033214537156,0.11817641701000778,3.285740613937378,5,0.5687613487243652,http://localhost:8002,1768821781,,False,1,d915205d,2026-01-19_12-23-01,3.289746046066284,3.289746046066284,260873,sergio-XPS-15-9500,192.168.1.5,3.289746046066284,1,True,False,False,0.4165672741815639,0.0010212040152359678,0.0,0.34076033139687656,d915205d
|
||||||
|
0.0640894002629319,0.11483863284111936,9.806191444396973,5,1.8735287666320801,http://localhost:8002,1768821794,,False,1,2f6a0de8,2026-01-19_12-23-14,9.809982538223267,9.809982538223267,260993,sergio-XPS-15-9500,192.168.1.5,9.809982538223267,1,False,True,True,0.5305871352962446,0.5562291603129679,0.0,0.19677826870589865,2f6a0de8
|
||||||
|
0.008734210036141653,0.08345578243479762,3.3932855129241943,5,0.590654993057251,http://localhost:8002,1768821801,,False,1,75a6f03e,2026-01-19_12-23-21,3.3974790573120117,3.3974790573120117,261182,sergio-XPS-15-9500,192.168.1.5,3.3974790573120117,1,True,False,True,0.17403705065527203,0.05196087574793615,0.0,0.37230135627667593,75a6f03e
|
||||||
|
0.008024895940958,0.07962534018744696,3.372239828109741,5,0.586278247833252,http://localhost:8002,1768821807,,False,1,59bdf5af,2026-01-19_12-23-27,3.3761444091796875,3.3761444091796875,261290,sergio-XPS-15-9500,192.168.1.5,3.3761444091796875,1,True,False,True,0.0964007218643779,0.4285920164263687,0.0,0.5544150084923888,59bdf5af
|
||||||
|
0.007884233436756935,0.07784781946255781,3.391608476638794,5,0.5895267486572265,http://localhost:8002,1768821814,,False,1,181fa700,2026-01-19_12-23-34,3.3955013751983643,3.3955013751983643,261408,sergio-XPS-15-9500,192.168.1.5,3.3955013751983643,1,True,False,True,0.04616218689941105,0.4861882831078568,0.0,0.5658024954699784,181fa700
|
||||||
|
0.008187554044856696,0.07781229758700277,3.379288911819458,5,0.5891064167022705,http://localhost:8002,1768821821,,False,1,8df7daf7,2026-01-19_12-23-41,3.383202314376831,3.383202314376831,261523,sergio-XPS-15-9500,192.168.1.5,3.383202314376831,1,True,False,True,0.02800972164203512,0.4596234327116702,0.0,0.5894305118437192,8df7daf7
|
||||||
|
0.0080286377688869,0.07962181735681341,3.3880317211151123,5,0.5899625778198242,http://localhost:8002,1768821828,,False,1,d427a211,2026-01-19_12-23-48,3.3918912410736084,3.3918912410736084,261651,sergio-XPS-15-9500,192.168.1.5,3.3918912410736084,1,True,False,True,0.060058513373542344,0.4968017369460056,0.0,0.4546749796342963,d427a211
|
||||||
|
0.04089344159161516,0.11588877886734197,3.2276556491851807,5,0.5582141876220703,http://localhost:8002,1768821834,,False,1,c83e898d,2026-01-19_12-23-54,3.2317638397216797,3.2317638397216797,261771,sergio-XPS-15-9500,192.168.1.5,3.2317638397216797,1,False,False,False,0.12734972085227625,0.3933923240644007,0.0,0.6218152533645911,c83e898d
|
||||||
|
0.07289971452610912,0.1312833201534554,8.918929815292358,5,1.6958380699157716,http://localhost:8002,1768821846,,False,1,34bfaecf,2026-01-19_12-24-06,8.923492193222046,8.923492193222046,261885,sergio-XPS-15-9500,192.168.1.5,8.923492193222046,1,True,True,True,0.02983245257805507,0.5541286918768669,0.0,0.5254000761733085,34bfaecf
|
||||||
|
0.008664940340048574,0.08424318400960076,3.3413267135620117,5,0.5809893608093262,http://localhost:8002,1768821853,,False,1,d28ff6ad,2026-01-19_12-24-13,3.3452816009521484,3.3452816009521484,262045,sergio-XPS-15-9500,192.168.1.5,3.3452816009521484,1,True,False,True,0.15364693264219786,0.5914356505484054,0.0,0.4346147311057641,d28ff6ad
|
||||||
|
0.00877838333494364,0.08577894245301848,3.4076058864593506,5,0.5933670043945313,http://localhost:8002,1768821860,,False,1,1bd5239a,2026-01-19_12-24-20,3.4112603664398193,3.4112603664398193,262180,sergio-XPS-15-9500,192.168.1.5,3.4112603664398193,1,True,False,True,0.22332206917987685,0.3526810869908701,0.0,0.5730079634012908,1bd5239a
|
||||||
|
0.03369141887914488,0.11024529401954712,3.2711544036865234,5,0.5658481121063232,http://localhost:8002,1768821867,,False,1,df514085,2026-01-19_12-24-27,3.2749204635620117,3.2749204635620117,262288,sergio-XPS-15-9500,192.168.1.5,3.2749204635620117,1,True,False,False,0.07573375090561205,0.2490247970846971,0.0,0.39959759235219644,df514085
|
||||||
|
0.0623615517224065,0.124505989182175,9.822217226028442,5,1.8769143104553223,http://localhost:8002,1768821880,,False,1,05146970,2026-01-19_12-24-40,9.826353549957275,9.826353549957275,262409,sergio-XPS-15-9500,192.168.1.5,9.826353549957275,1,False,True,True,0.01074645265207852,0.13367849913726723,0.0,0.6632577581918868,05146970
|
||||||
|
0.008024895940958,0.07962534018744696,3.3825182914733887,5,0.5886817455291748,http://localhost:8002,1768821886,,False,1,b670fd4b,2026-01-19_12-24-46,3.3867027759552,3.3867027759552,262594,sergio-XPS-15-9500,192.168.1.5,3.3867027759552,1,True,False,True,0.09944138895292096,0.44624592238486255,0.0,0.5462963698223894,b670fd4b
|
||||||
|
0.016572945800740084,0.09518707717328821,3.4130094051361084,5,0.5945035457611084,http://localhost:8002,1768821893,,False,1,be5f9b1d,2026-01-19_12-24-53,3.4169981479644775,3.4169981479644775,262711,sergio-XPS-15-9500,192.168.1.5,3.4169981479644775,1,True,False,True,0.6894923163644786,0.4890742911772068,0.0,0.4855884110840981,be5f9b1d
|
||||||
|
0.008251781930748131,0.08198754491185642,3.367403745651245,5,0.5863472938537597,http://localhost:8002,1768821900,,False,1,1c75b89c,2026-01-19_12-25-00,3.371392011642456,3.371392011642456,262819,sergio-XPS-15-9500,192.168.1.5,3.371392011642456,1,True,False,True,0.1150745104873075,0.32762735447067737,0.0,0.5208070473970087,1c75b89c
|
||||||
|
0.007922541795615114,0.07887346048819885,3.387901544570923,5,0.5906172752380371,http://localhost:8002,1768821907,,False,1,6340f2d6,2026-01-19_12-25-07,3.391674041748047,3.391674041748047,262936,sergio-XPS-15-9500,192.168.1.5,3.391674041748047,1,True,False,True,0.07997843641478165,0.4088133874043337,0.0,0.5627391657839758,6340f2d6
|
||||||
|
0.007922541795615114,0.07887346048819885,3.368699312210083,5,0.585447120666504,http://localhost:8002,1768821913,,False,1,7ffe088b,2026-01-19_12-25-13,3.372554302215576,3.372554302215576,263058,sergio-XPS-15-9500,192.168.1.5,3.372554302215576,1,True,False,True,0.07055815208796122,0.07907086437131383,0.0,0.46815861739605075,7ffe088b
|
||||||
|
0.007922541795615114,0.07887346048819885,3.376523733139038,5,0.5873369693756103,http://localhost:8002,1768821920,,False,1,f252a3e6,2026-01-19_12-25-20,3.3803553581237793,3.3803553581237793,263185,sergio-XPS-15-9500,192.168.1.5,3.3803553581237793,1,True,False,True,0.06870328017999491,0.03579995978472439,0.0,0.5047711345804472,f252a3e6
|
||||||
|
0.02490382433538609,0.09753449830381603,3.3904788494110107,5,0.5890470027923584,http://localhost:8002,1768821927,,False,1,edee0586,2026-01-19_12-25-27,3.394632577896118,3.394632577896118,263300,sergio-XPS-15-9500,192.168.1.5,3.394632577896118,1,True,False,True,0.0009275348433581271,0.031063654135949786,0.0,0.45979693397354415,edee0586
|
||||||
|
0.008414440034646826,0.07859969916180594,3.4424312114715576,5,0.5994386196136474,http://localhost:8002,1768821934,,False,1,ef76bf22,2026-01-19_12-25-34,3.446359395980835,3.446359395980835,263418,sergio-XPS-15-9500,192.168.1.5,3.446359395980835,1,True,False,True,0.03189500271483534,0.0016098696097210721,0.0,0.49583062638649,ef76bf22
|
||||||
|
0.007922541795615114,0.07887346048819885,3.445734977722168,5,0.6011210918426514,http://localhost:8002,1768821941,,False,1,f647f452,2026-01-19_12-25-41,3.449845314025879,3.449845314025879,263537,sergio-XPS-15-9500,192.168.1.5,3.449845314025879,1,True,False,True,0.06868764014547389,0.08690693420543298,0.0,0.42607348522409366,f647f452
|
||||||
|
0.007922541795615114,0.07887346048819885,3.4003381729125977,5,0.5931215763092041,http://localhost:8002,1768821947,,False,1,92f45b9b,2026-01-19_12-25-47,3.404212713241577,3.404212713241577,263672,sergio-XPS-15-9500,192.168.1.5,3.404212713241577,1,True,False,True,0.0725476612921705,0.08215869338356059,0.0,0.4170900315829183,92f45b9b
|
||||||
|
0.007922541795615114,0.07887346048819885,3.3902156352996826,5,0.5895231246948243,http://localhost:8002,1768821954,,False,1,7349d65b,2026-01-19_12-25-54,3.3941099643707275,3.3941099643707275,263792,sergio-XPS-15-9500,192.168.1.5,3.3941099643707275,1,True,False,True,0.07327612908475345,0.09511260866628114,0.0,0.42047687042215837,7349d65b
|
||||||
|
0.008631855890798765,0.08246566328471161,3.3953261375427246,5,0.5909849166870117,http://localhost:8002,1768821961,,False,1,dbe6de3f,2026-01-19_12-26-01,3.39920711517334,3.39920711517334,263908,sergio-XPS-15-9500,192.168.1.5,3.39920711517334,1,True,False,True,0.1407896872320316,0.07713209075208538,0.0,0.38134661262033054,dbe6de3f
|
||||||
|
0.007922541795615114,0.07887346048819885,3.451122760772705,5,0.6020939826965332,http://localhost:8002,1768821968,,False,1,7d295e31,2026-01-19_12-26-08,3.4549307823181152,3.4549307823181152,264023,sergio-XPS-15-9500,192.168.1.5,3.4549307823181152,1,True,False,True,0.06788051560872134,0.03348309120485185,0.0,0.476817937122221,7d295e31
|
||||||
|
74
src/run_tuning.py
Normal file
74
src/run_tuning.py
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Run hyperparameter tuning for OCR services."""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import argparse
|
||||||
|
from raytune_ocr import (
|
||||||
|
check_workers, create_trainable, run_tuner, analyze_results,
|
||||||
|
paddle_ocr_payload, doctr_payload, easyocr_payload,
|
||||||
|
PADDLE_OCR_SEARCH_SPACE, DOCTR_SEARCH_SPACE, EASYOCR_SEARCH_SPACE,
|
||||||
|
PADDLE_OCR_CONFIG_KEYS, DOCTR_CONFIG_KEYS, EASYOCR_CONFIG_KEYS,
|
||||||
|
)
|
||||||
|
|
||||||
|
SERVICES = {
|
||||||
|
"paddle": {
|
||||||
|
"ports": [8002],
|
||||||
|
"payload_fn": paddle_ocr_payload,
|
||||||
|
"search_space": PADDLE_OCR_SEARCH_SPACE,
|
||||||
|
"config_keys": PADDLE_OCR_CONFIG_KEYS,
|
||||||
|
"name": "PaddleOCR",
|
||||||
|
},
|
||||||
|
"doctr": {
|
||||||
|
"ports": [8003],
|
||||||
|
"payload_fn": doctr_payload,
|
||||||
|
"search_space": DOCTR_SEARCH_SPACE,
|
||||||
|
"config_keys": DOCTR_CONFIG_KEYS,
|
||||||
|
"name": "DocTR",
|
||||||
|
},
|
||||||
|
"easyocr": {
|
||||||
|
"ports": [8002],
|
||||||
|
"payload_fn": easyocr_payload,
|
||||||
|
"search_space": EASYOCR_SEARCH_SPACE,
|
||||||
|
"config_keys": EASYOCR_CONFIG_KEYS,
|
||||||
|
"name": "EasyOCR",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description="Run OCR hyperparameter tuning")
|
||||||
|
parser.add_argument("--service", choices=["paddle", "doctr", "easyocr"], required=True)
|
||||||
|
parser.add_argument("--samples", type=int, default=64, help="Number of samples")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
cfg = SERVICES[args.service]
|
||||||
|
print(f"\n{'='*50}")
|
||||||
|
print(f"Hyperparameter Tuning: {cfg['name']}")
|
||||||
|
print(f"Samples: {args.samples}")
|
||||||
|
print(f"{'='*50}\n")
|
||||||
|
|
||||||
|
# Check workers
|
||||||
|
healthy = check_workers(cfg["ports"], cfg["name"])
|
||||||
|
|
||||||
|
# Create trainable and run tuning
|
||||||
|
trainable = create_trainable(cfg["ports"], cfg["payload_fn"])
|
||||||
|
results = run_tuner(
|
||||||
|
trainable=trainable,
|
||||||
|
search_space=cfg["search_space"],
|
||||||
|
num_samples=args.samples,
|
||||||
|
num_workers=len(healthy),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Analyze results
|
||||||
|
df = analyze_results(
|
||||||
|
results,
|
||||||
|
output_folder="results",
|
||||||
|
prefix=f"raytune_{args.service}",
|
||||||
|
config_keys=cfg["config_keys"],
|
||||||
|
)
|
||||||
|
|
||||||
|
print(f"\n{'='*50}")
|
||||||
|
print("Tuning complete!")
|
||||||
|
print(f"{'='*50}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user