build: retirer torch/docTR du frozen + hiddenimports OnnxTR (pré-audit Qwen GO)

Suite à la migration OCR docTR→OnnxTR (8d683bc) et au verdict pré-audit Qwen
(GO technique, 2026-06-21), préparation des 3 specs PyInstaller pour le prochain
rebuild Windows :

- Retrait de "torch", "torchvision", "doctr.*" des hiddenimports des 3 specs
  (anonymisation_onefile, _cli_onefile, _gui_v6_onefile) → -~2 Go EXE attendu,
  suppression définitive de la classe de bug oneDNN sur CPU contraint.
- Ajout des hiddenimports transitifs OnnxTR manquants (réserve R1 Qwen) :
  "pyclipper", "scipy.cluster.hierarchy", "scipy.special" → anti-omission
  PyInstaller (évite un crash OCR en frozen).
- Retrait de python-doctr[torch]>=0.9.0 de requirements.txt (transitoire levé).

_configure_torch_threads() conservé en code (lazy import torch sous try/except,
no-op si torch absent) pour future réactivation EDS-Pseudo/GLiNER.

Aucun rebuild ni diffusion (gate Dom). 3 specs compilent (py_compile).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 16:49:03 +02:00
parent 8d683bc6d8
commit 4b7c8db9a8
4 changed files with 16 additions and 26 deletions

View File

@@ -85,12 +85,7 @@ hiddenimports = [
"gliner_manager", "gliner_manager",
"vlm_manager", "vlm_manager",
"build_info", "build_info",
"doctr", # OCR OnnxTR (ONNX Runtime, remplace docTR — sans torch ni doctr)
"doctr.io",
"doctr.models",
"doctr.models.detection",
"doctr.models.recognition",
# OCR OnnxTR (remplace docTR — ONNX Runtime, sans torch)
"onnxtr", "onnxtr",
"onnxtr.io", "onnxtr.io",
"onnxtr.models", "onnxtr.models",
@@ -98,8 +93,11 @@ hiddenimports = [
"onnxtr.models.recognition", "onnxtr.models.recognition",
"onnxtr.utils", "onnxtr.utils",
"onnxtr.utils.data", "onnxtr.utils.data",
# Dépendances transitives OnnxTR (hiddenimports défensifs vs omission PyInstaller)
"pyclipper",
"scipy.cluster.hierarchy",
"scipy.special",
"cv2", "cv2",
"torchvision",
"edsnlp", "edsnlp",
"edsnlp.pipes", "edsnlp.pipes",
"edsnlp.pipes.ner", "edsnlp.pipes.ner",
@@ -110,7 +108,6 @@ hiddenimports = [
"onnxruntime", "onnxruntime",
"transformers", "transformers",
"tokenizers", "tokenizers",
"torch",
"pdfplumber", "pdfplumber",
"fitz", "fitz",
"PIL", "PIL",

View File

@@ -104,12 +104,7 @@ hiddenimports = [
"gliner_manager", "gliner_manager",
"vlm_manager", "vlm_manager",
"build_info", "build_info",
"doctr", # OCR OnnxTR (ONNX Runtime, remplace docTR — sans torch ni doctr)
"doctr.io",
"doctr.models",
"doctr.models.detection",
"doctr.models.recognition",
# OCR OnnxTR (remplace docTR — ONNX Runtime, sans torch)
"onnxtr", "onnxtr",
"onnxtr.io", "onnxtr.io",
"onnxtr.models", "onnxtr.models",
@@ -117,8 +112,11 @@ hiddenimports = [
"onnxtr.models.recognition", "onnxtr.models.recognition",
"onnxtr.utils", "onnxtr.utils",
"onnxtr.utils.data", "onnxtr.utils.data",
# Dépendances transitives OnnxTR (hiddenimports défensifs vs omission PyInstaller)
"pyclipper",
"scipy.cluster.hierarchy",
"scipy.special",
"cv2", "cv2",
"torchvision",
"edsnlp", "edsnlp",
"edsnlp.pipes", "edsnlp.pipes",
"edsnlp.pipes.ner", "edsnlp.pipes.ner",
@@ -129,7 +127,6 @@ hiddenimports = [
"onnxruntime", "onnxruntime",
"transformers", "transformers",
"tokenizers", "tokenizers",
"torch",
"pdfplumber", "pdfplumber",
"fitz", "fitz",
"PIL", "PIL",

View File

@@ -76,12 +76,7 @@ hiddenimports = [
"gliner_manager", "gliner_manager",
"vlm_manager", "vlm_manager",
"build_info", "build_info",
"doctr", # OCR OnnxTR (ONNX Runtime, remplace docTR — sans torch ni doctr)
"doctr.io",
"doctr.models",
"doctr.models.detection",
"doctr.models.recognition",
# OCR OnnxTR (remplace docTR — ONNX Runtime, sans torch)
"onnxtr", "onnxtr",
"onnxtr.io", "onnxtr.io",
"onnxtr.models", "onnxtr.models",
@@ -89,8 +84,11 @@ hiddenimports = [
"onnxtr.models.recognition", "onnxtr.models.recognition",
"onnxtr.utils", "onnxtr.utils",
"onnxtr.utils.data", "onnxtr.utils.data",
# Dépendances transitives OnnxTR (hiddenimports défensifs vs omission PyInstaller)
"pyclipper",
"scipy.cluster.hierarchy",
"scipy.special",
"cv2", "cv2",
"torchvision",
"edsnlp", "edsnlp",
"edsnlp.pipes", "edsnlp.pipes",
"edsnlp.pipes.ner", "edsnlp.pipes.ner",
@@ -101,7 +99,6 @@ hiddenimports = [
"onnxruntime", "onnxruntime",
"transformers", "transformers",
"tokenizers", "tokenizers",
"torch",
"pdfplumber", "pdfplumber",
"fitz", "fitz",
"PIL", "PIL",

View File

@@ -21,9 +21,8 @@ pyahocorasick>=2.1.0,<3
# --- OCR pour PDF scannés --- # --- OCR pour PDF scannés ---
# OnnxTR = mêmes modèles docTR (db_resnet50 + crnn_vgg16_bn) sur ONNX Runtime, SANS torch. # OnnxTR = mêmes modèles docTR (db_resnet50 + crnn_vgg16_bn) sur ONNX Runtime, SANS torch.
# Remplace docTR pour l'OCR (supprime le crash torch/oneDNN sur CPU contraint). # Remplace docTR pour l'OCR (supprime le crash torch/oneDNN sur CPU contraint).
# docTR/torch retirés du build frozen (verdict pré-audit Qwen 2026-06-21, GO Dom) : -~2 Go EXE.
onnxtr[cpu]>=0.8.1 onnxtr[cpu]>=0.8.1
# python-doctr conservé en transitoire (retrait avec torch = étape séparée) :
python-doctr[torch]>=0.9.0
# (optionnel NER clinique EDS-Pseudo AP-HP, activer manuellement) # (optionnel NER clinique EDS-Pseudo AP-HP, activer manuellement)
# edsnlp[ml]>=0.12.0 # edsnlp[ml]>=0.12.0