ml.preprocessing — ML-förbehandling¶
Modulen ml.preprocessing innehåller klasser för förbehandling av bilder för användning med maskininlärningsmodeller.
class Normalization – Bildnormalisering¶
Objektet Normalization konverterar image.Image-objekt till ndarray-indatatensorer för användning med ml.Model.predict(). Det skapas automatiskt av ml.Model-objektet när en bild skickas till ml.Model.predict(), men kan instansieras manuellt för att styra konverteringen (skala, medelvärde/standardavvikelse, 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)¶
Skapar ett
Normalization-objekt.scaleär värdeintervallet(min, max)som flyttalsindatatensorer förväntar sig efter normalisering (t.ex.(0.0, 1.0)eller(-1.0, 1.0)). Ignoreras för indatatensorer av typenuint8ochint8.meanär det per-kanal-medelvärde(R, G, B)som subtraheras från bilden efter skalning. För gråskaletensorer reduceras medelvärdet till ett enda luma-värde med0.299*R + 0.587*G + 0.114*B. Ignoreras för indatatensorer av typenuint8ochint8.stdevär den per-kanal-standardavvikelse(R, G, B)som bilden divideras med efter att medelvärdet subtraherats. För gråskaletensorer reduceras standardavvikelsen till ett enda luma-värde med0.299*R + 0.587*G + 0.114*B. Ignoreras för indatatensorer av typenuint8ochint8.roiär ett valfritt intresseområde(x, y, w, h)inom indatabilden som ska beskäras. OmNoneanvänds hela bilden. Den beskurna regionen centreras och skalas bilinjärt (med bevarat bildförhållande och svart utfyllnad) till modellens indatatensordimensioner.- __call__(image: image.Image) Normalization¶
- __call__(buffer: bytearray, shape: tuple[int, int, int, int], dtype: int) None
Vid anrop med ett enda
image.Image-argument returneras ett nyttNormalization-objekt bundet till den bilden. Det bundna objektet är det somml.Model.predict()anropar internt för att fylla indatatensorn. Omroiinte angavs på den ursprungliga instansen initieras det till bildens fulla storlek.Vid anrop med
(buffer, shape, dtype)fyllsbufferpå plats med den normaliserade indatatensorn för den tidigare bundna bilden.shapemåste vara(1, H, W, C)medClika med1(gråskala) eller3(RGB).dtypeär ulab numpy-typkoden (t.ex.ord('f')för float32,ord('b')för int8,ord('B')för uint8). Flyttalstensorer tillämparscale,meanochstdev; heltalstensorer skrivs direkt (med en förskjutning förint8).