ml.preprocessing — Przetwarzanie wstępne ML¶
Moduł ml.preprocessing zawiera klasy do przetwarzania wstępnego obrazów do użytku z modelami uczenia maszynowego.
klasa Normalization – Normalizacja obrazu¶
Obiekt Normalization konwertuje obiekty image.Image na tensory wejściowe ndarray do użytku z ml.Model.predict(). Jest automatycznie tworzony przez obiekt ml.Model, gdy obraz zostanie przekazany do ml.Model.predict(), ale może być utworzony ręcznie w celu kontrolowania konwersji (skala, średnia/odchylenie standardowe, 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)¶
Tworzy obiekt
Normalization.scaleto zakres(min, max)wartości, których oczekują zmiennoprzecinkowe tensory wejściowe po normalizacji (np.(0.0, 1.0)lub(-1.0, 1.0)). Ignorowane dla tensorów wejściowychuint8iint8.meanto średnia(R, G, B)dla każdego kanału, odejmowana od obrazu po skalowaniu. Dla tensorów w skali szarości średnia jest redukowana do pojedynczej wartości luminancji przy użyciu0.299*R + 0.587*G + 0.114*B. Ignorowane dla tensorów wejściowychuint8iint8.stdevto odchylenie standardowe(R, G, B)dla każdego kanału, przez które obraz jest dzielony po odjęciu średniej. Dla tensorów w skali szarości odchylenie standardowe jest redukowane do pojedynczej wartości luminancji przy użyciu0.299*R + 0.587*G + 0.114*B. Ignorowane dla tensorów wejściowychuint8iint8.roito opcjonalny obszar zainteresowania(x, y, w, h)w obrazie wejściowym do przycięcia. JeśliNone, używany jest cały obraz. Przycięty obszar jest wyśrodkowywany, skalowany dwuliniowo (z zachowaniem proporcji i czarnym dopełnieniem) do wymiarów tensora wejściowego modelu.- __call__(image: image.Image) Normalization¶
- __call__(buffer: bytearray, shape: tuple[int, int, int, int], dtype: int) None
Wywołany z pojedynczym argumentem
image.Image, zwraca nowy obiektNormalizationpowiązany z tym obrazem. Powiązany obiekt jest tym, coml.Model.predict()wywołuje wewnętrznie, aby wypełnić tensor wejściowy. Jeśliroinie zostało ustawione na oryginalnej instancji, jest inicjowane do pełnego rozmiaru obrazu.Wywołany z
(buffer, shape, dtype), wypełniabufferw miejscu znormalizowanym tensorem wejściowym dla wcześniej powiązanego obrazu.shapemusi mieć postać(1, H, W, C), gdzieCjest równe1(skala szarości) lub3(RGB).dtypeto kod typu numpy ulab (np.ord('f')dla float32,ord('b')dla int8,ord('B')dla uint8). Tensory zmiennoprzecinkowe stosująscale,meanistdev; tensory całkowitoliczbowe są zapisywane bezpośrednio (z przesunięciem dlaint8).