ml.preprocessing — Preprocesamiento de ML¶
El módulo ml.preprocessing contiene clases para preprocesar imágenes para su uso con modelos de aprendizaje automático.
class Normalization – Normalización de imagen¶
El objeto Normalization convierte objetos image.Image en tensores de entrada ndarray para su uso con ml.Model.predict(). Es creado automáticamente por el objeto ml.Model cuando se pasa una imagen a ml.Model.predict(), pero puede instanciarse manualmente para controlar la conversión (escala, media/desviación estándar, ROI).
- class ml.preprocessing.Normalization(scale: tuple[float, float] = (0.0, 1.0), mean: tuple[float, float, float] = (0.0, 0.0, 0.0), stdev: tuple[float, float, float] = (1.0, 1.0, 1.0), roi: tuple[int, int, int, int] = None)¶
Crea un objeto
Normalization.scalees el rango(min, max)de valores que los tensores de entrada de coma flotante esperan después de la normalización (por ejemplo,(0.0, 1.0)o(-1.0, 1.0)). Se ignora para tensores de entradauint8eint8.meanes la media por canal(R, G, B)que se resta de la imagen después del escalado. Para tensores en escala de grises, la media se reduce a un único valor de luma usando0.299*R + 0.587*G + 0.114*B. Se ignora para tensores de entradauint8eint8.stdeves la desviación estándar por canal(R, G, B)por la que se divide la imagen después de restar la media. Para tensores en escala de grises, la desviación estándar se reduce a un único valor de luma usando0.299*R + 0.587*G + 0.114*B. Se ignora para tensores de entradauint8eint8.roies una región de interés(x, y, w, h)opcional dentro de la imagen de entrada que se recortará. Si esNone, se usa la imagen completa. La región recortada se centra y se escala bilinealmente (preservando la relación de aspecto con relleno negro) a las dimensiones del tensor de entrada del modelo.- __call__(image: image.Image) Normalization¶
- __call__(buffer: bytearray, shape: tuple[int, int, int, int], dtype: int) None
Cuando se llama con un único argumento
image.Image, devuelve un nuevo objetoNormalizationvinculado a esa imagen. El objeto vinculado es lo queml.Model.predict()invoca internamente para rellenar el tensor de entrada. Si no se establecióroien la instancia original, se inicializa al tamaño completo de la imagen.Cuando se llama con
(buffer, shape, dtype), rellenabufferen el lugar con el tensor de entrada normalizado para la imagen previamente vinculada.shapedebe ser(1, H, W, C)conCigual a1(escala de grises) o3(RGB).dtypees el código de tipo de numpy de ulab (por ejemplo,ord('f')para float32,ord('b')para int8,ord('B')para uint8). Los tensores de coma flotante aplicanscale,meanystdev; los tensores de enteros se escriben directamente (con un desplazamiento paraint8).