Julia-Amadio commited on
Commit
fbb7b89
·
1 Parent(s): 7d39380

Add datetime aos logs.

Browse files
Files changed (1) hide show
  1. main.py +8 -3
main.py CHANGED
@@ -6,6 +6,7 @@ import numpy as np
6
  from fastapi import FastAPI, File, UploadFile, Depends, HTTPException, status
7
  from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
8
  from feature_extractor_single import process_single_image
 
9
 
10
  #1. CONFIGURAÇÃO DA APLICAÇÃO E AUTENTICAÇÃO
11
  app = FastAPI(title="SojaClassifierAPI")
@@ -32,15 +33,15 @@ async def verify_token(credentials: HTTPAuthorizationCredentials = Depends(secur
32
 
33
  #2. CARREGAMENTO DOS MODELOS E DADOS
34
  #Carrega os 4 arquivos .pkl UMA VEZ quando a API inicia.
35
- print("Carregando modelos de classificação (.pkl)...")
36
  try:
37
  SCALER = joblib.load('scaler.pkl')
38
  UMAP = joblib.load('umap_reducer.pkl')
39
  SVM = joblib.load('svm_model.pkl')
40
  ENCODER = joblib.load('encoder.pkl')
41
- print("Modelos de classificação carregados com sucesso.")
42
  except FileNotFoundError:
43
- print("ERRO: Arquivos .pkl do modelo não encontrados. Certifique-se de que 'scaler.pkl', 'umap_reducer.pkl', 'svm_model.pkl', e 'encoder.pkl' estão no repositório.")
44
  #Em um cenário real, poderíamos impedir a API de iniciar aqui
45
 
46
  print("Carregando banco de dados de informações (doencas.json)...")
@@ -59,6 +60,8 @@ async def classify_image(file: UploadFile = File(...), token: str = Depends(veri
59
  """
60
  Endpoint principal: Recebe uma imagem, extrai features e classifica.
61
  """
 
 
62
  temp_path = f"/tmp/temp_{file.filename}"
63
 
64
  #Salva a imagem temporariamente
@@ -99,6 +102,8 @@ async def classify_image(file: UploadFile = File(...), token: str = Depends(veri
99
  "tratamento": ""
100
  })
101
 
 
 
102
  #Retorna a resposta "rica"
103
  return {
104
  "diagnostico": classe_predita,
 
6
  from fastapi import FastAPI, File, UploadFile, Depends, HTTPException, status
7
  from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
8
  from feature_extractor_single import process_single_image
9
+ from datetime import datetime
10
 
11
  #1. CONFIGURAÇÃO DA APLICAÇÃO E AUTENTICAÇÃO
12
  app = FastAPI(title="SojaClassifierAPI")
 
33
 
34
  #2. CARREGAMENTO DOS MODELOS E DADOS
35
  #Carrega os 4 arquivos .pkl UMA VEZ quando a API inicia.
36
+ print(f">> [{datetime.now().strftime('%d/%m %H:%M:%S')}] | CARREGANDO MODELOS de classificação (.pkl)...")
37
  try:
38
  SCALER = joblib.load('scaler.pkl')
39
  UMAP = joblib.load('umap_reducer.pkl')
40
  SVM = joblib.load('svm_model.pkl')
41
  ENCODER = joblib.load('encoder.pkl')
42
+ print(f">> [{datetime.now().strftime('%d/%m %H:%M:%S')}] | Modelos de classificação carregados com SUCESSO.")
43
  except FileNotFoundError:
44
+ print(f">> [{datetime.now().strftime('%d/%m %H:%M:%S')}] | ERRO: Arquivos .pkl do modelo não encontrados.\nCertifique-se de que 'scaler.pkl', 'umap_reducer.pkl', 'svm_model.pkl', e 'encoder.pkl' estão no repositório.")
45
  #Em um cenário real, poderíamos impedir a API de iniciar aqui
46
 
47
  print("Carregando banco de dados de informações (doencas.json)...")
 
60
  """
61
  Endpoint principal: Recebe uma imagem, extrai features e classifica.
62
  """
63
+
64
+ print(f">> [{datetime.now().strftime('%d/%m %H:%M:%S')}] | Recebida imagem: {file.filename}.")
65
  temp_path = f"/tmp/temp_{file.filename}"
66
 
67
  #Salva a imagem temporariamente
 
102
  "tratamento": ""
103
  })
104
 
105
+ print(f">> [{datetime.now().strftime('%H:%M:%S')}] | Diagnóstico para {file.filename}: {classe_predita}")
106
+
107
  #Retorna a resposta "rica"
108
  return {
109
  "diagnostico": classe_predita,