Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -15,7 +15,67 @@ from surya.settings import settings
|
|
| 15 |
from surya.model.ordering.processor import load_processor as load_order_processor
|
| 16 |
from surya.model.ordering.model import load_model as load_order_model
|
| 17 |
|
| 18 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
class CustomJSONEncoder(json.JSONEncoder):
|
| 21 |
def default(self, obj):
|
|
|
|
| 15 |
from surya.model.ordering.processor import load_processor as load_order_processor
|
| 16 |
from surya.model.ordering.model import load_model as load_order_model
|
| 17 |
|
| 18 |
+
# Configuração do TorchDynamo
|
| 19 |
+
torch._dynamo.config.capture_scalar_outputs = True
|
| 20 |
+
|
| 21 |
+
# Configuração de logging
|
| 22 |
+
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
|
| 23 |
+
logger = logging.getLogger(__name__)
|
| 24 |
+
|
| 25 |
+
# Configuração de variáveis de ambiente
|
| 26 |
+
logger.info("Configurando variáveis de ambiente para otimização de performance")
|
| 27 |
+
os.environ["RECOGNITION_BATCH_SIZE"] = "512"
|
| 28 |
+
os.environ["DETECTOR_BATCH_SIZE"] = "36"
|
| 29 |
+
os.environ["ORDER_BATCH_SIZE"] = "32"
|
| 30 |
+
os.environ["RECOGNITION_STATIC_CACHE"] = "true"
|
| 31 |
+
|
| 32 |
+
# Carregamento de modelos
|
| 33 |
+
logger.info("Iniciando carregamento dos modelos...")
|
| 34 |
+
|
| 35 |
+
try:
|
| 36 |
+
logger.debug("Carregando modelo e processador de detecção...")
|
| 37 |
+
det_processor, det_model = load_det_processor(), load_det_model()
|
| 38 |
+
logger.debug("Modelo e processador de detecção carregados com sucesso")
|
| 39 |
+
except Exception as e:
|
| 40 |
+
logger.error(f"Erro ao carregar modelo de detecção: {e}")
|
| 41 |
+
raise
|
| 42 |
+
|
| 43 |
+
try:
|
| 44 |
+
logger.debug("Carregando modelo e processador de reconhecimento...")
|
| 45 |
+
rec_model, rec_processor = load_rec_model(), load_rec_processor()
|
| 46 |
+
logger.debug("Modelo e processador de reconhecimento carregados com sucesso")
|
| 47 |
+
except Exception as e:
|
| 48 |
+
logger.error(f"Erro ao carregar modelo de reconhecimento: {e}")
|
| 49 |
+
raise
|
| 50 |
+
|
| 51 |
+
try:
|
| 52 |
+
logger.debug("Carregando modelo e processador de layout...")
|
| 53 |
+
layout_model = load_det_model(checkpoint=settings.LAYOUT_MODEL_CHECKPOINT)
|
| 54 |
+
layout_processor = load_det_processor(checkpoint=settings.LAYOUT_MODEL_CHECKPOINT)
|
| 55 |
+
logger.debug("Modelo e processador de layout carregados com sucesso")
|
| 56 |
+
except Exception as e:
|
| 57 |
+
logger.error(f"Erro ao carregar modelo de layout: {e}")
|
| 58 |
+
raise
|
| 59 |
+
|
| 60 |
+
try:
|
| 61 |
+
logger.debug("Carregando modelo e processador de ordenação...")
|
| 62 |
+
order_model = load_order_model()
|
| 63 |
+
order_processor = load_order_processor()
|
| 64 |
+
logger.debug("Modelo e processador de ordenação carregados com sucesso")
|
| 65 |
+
except Exception as e:
|
| 66 |
+
logger.error(f"Erro ao carregar modelo de ordenação: {e}")
|
| 67 |
+
raise
|
| 68 |
+
|
| 69 |
+
logger.info("Todos os modelos foram carregados com sucesso")
|
| 70 |
+
|
| 71 |
+
# Compilação do modelo de reconhecimento
|
| 72 |
+
logger.info("Iniciando compilação do modelo de reconhecimento...")
|
| 73 |
+
try:
|
| 74 |
+
rec_model.decoder.model = torch.compile(rec_model.decoder.model)
|
| 75 |
+
logger.info("Compilação do modelo de reconhecimento concluída com sucesso")
|
| 76 |
+
except Exception as e:
|
| 77 |
+
logger.error(f"Erro durante a compilação do modelo de reconhecimento: {e}")
|
| 78 |
+
logger.warning("Continuando sem compilação do modelo")
|
| 79 |
|
| 80 |
class CustomJSONEncoder(json.JSONEncoder):
|
| 81 |
def default(self, obj):
|