logger refactoring
This commit is contained in:
parent
49e113f8d8
commit
0e004cbd21
@ -5,6 +5,7 @@ webserver:
|
||||
|
||||
service:
|
||||
logging_level: $LOGGING_LEVEL_ROOT|DEBUG # Logging level for service logger
|
||||
progressbar: True # Whether a progress bar over the pages of a document is displayed while processing
|
||||
batch_size: $BATCH_SIZE|32 # Number of images in memory simultaneously
|
||||
verbose: $VERBOSE|True # Service prints document processing progress to stdout
|
||||
run_id: $RUN_ID|fabfb1f192c745369b88cab34471aba7 # The ID of the mlflow run to load the model from
|
||||
|
||||
@ -1,13 +1,10 @@
|
||||
import logging
|
||||
from typing import Callable
|
||||
|
||||
from flask import Flask, request, jsonify
|
||||
|
||||
from image_prediction.config import CONFIG
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(CONFIG.service.logging_level)
|
||||
from image_prediction.utils import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
def make_prediction_server(predict_fn: Callable):
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import logging
|
||||
from itertools import chain
|
||||
from operator import itemgetter
|
||||
from typing import List, Dict, Iterable
|
||||
@ -7,12 +6,14 @@ import numpy as np
|
||||
|
||||
from image_prediction.config import CONFIG
|
||||
from image_prediction.locations import MLRUNS_DIR, BASE_WEIGHTS
|
||||
from image_prediction.utils import temporary_pdf_file
|
||||
from image_prediction.utils import temporary_pdf_file, get_logger
|
||||
from incl.redai_image.redai.redai.backend.model.model_handle import ModelHandle
|
||||
from incl.redai_image.redai.redai.backend.pdf.image_extraction import extract_and_stitch
|
||||
from incl.redai_image.redai.redai.utils.mlflow_reader import MlflowModelReader
|
||||
from incl.redai_image.redai.redai.utils.shared import chunk_iterable
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class Predictor:
|
||||
"""`ModelHandle` wrapper. Forwards to wrapped model handle for prediction and produces structured output that is
|
||||
@ -37,7 +38,7 @@ class Predictor:
|
||||
self.classes_readable = np.array(self.model_handle.classes)
|
||||
self.classes_readable_aligned = self.classes_readable[self.classes[list(range(len(self.classes)))]]
|
||||
except Exception as e:
|
||||
logging.info(f"Service estimator initialization failed: {e}")
|
||||
logger.info(f"Service estimator initialization failed: {e}")
|
||||
|
||||
def __make_predictions_human_readable(self, probs: np.ndarray) -> List[Dict[str, float]]:
|
||||
"""Translates an n x m matrix of probabilities over classes into an n-element list of mappings from classes to
|
||||
@ -89,9 +90,9 @@ class Predictor:
|
||||
|
||||
return predictions if probabilities else classes
|
||||
|
||||
def predict_pdf(self, pdf):
|
||||
def predict_pdf(self, pdf, verbose=False):
|
||||
with temporary_pdf_file(pdf) as pdf_path:
|
||||
image_metadata_pairs = self.__extract_image_metadata_pairs(pdf_path)
|
||||
image_metadata_pairs = self.__extract_image_metadata_pairs(pdf_path, verbose=verbose)
|
||||
return self.__predict_images(image_metadata_pairs)
|
||||
|
||||
def __predict_images(self, image_metadata_pairs: Iterable, batch_size: int = CONFIG.service.batch_size):
|
||||
|
||||
@ -1,9 +1,35 @@
|
||||
import logging
|
||||
import tempfile
|
||||
from contextlib import contextmanager
|
||||
|
||||
from image_prediction.config import CONFIG
|
||||
|
||||
|
||||
@contextmanager
|
||||
def temporary_pdf_file(pdf: bytes):
|
||||
with tempfile.NamedTemporaryFile() as f:
|
||||
f.write(pdf)
|
||||
yield f.name
|
||||
|
||||
|
||||
def make_logger_getter():
|
||||
|
||||
logger = logging.getLogger("imgclf")
|
||||
logger.propagate = False
|
||||
|
||||
handler = logging.StreamHandler()
|
||||
handler.setLevel(CONFIG.service.logging_level)
|
||||
|
||||
log_format = "[%(levelname)s]: %(message)s"
|
||||
formatter = logging.Formatter(log_format)
|
||||
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
|
||||
def get_logger():
|
||||
return logger
|
||||
|
||||
return get_logger
|
||||
|
||||
|
||||
get_logger = make_logger_getter()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user