ml.preprocessing — ML-esikäsittely¶
ml.preprocessing-moduuli sisältää luokkia kuvien esikäsittelyyn koneoppimismalleja varten.
luokka Normalization – kuvan normalisointi¶
Normalization-objekti muuntaa image.Image-objektit ndarray-syötetensoreiksi käytettäväksi kohteen ml.Model.predict() kanssa. ml.Model-objekti luo sen automaattisesti, kun kuva välitetään kohteelle ml.Model.predict(), mutta se voidaan luoda myös käsin muunnoksen (skaala, keskiarvo/keskihajonta, ROI) hallitsemiseksi.
- 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)¶
Luo
Normalization-objektin.scaleon arvojen(min, max)-alue, jota liukulukusyötetensorit odottavat normalisoinnin jälkeen (esim.(0.0, 1.0)tai(-1.0, 1.0)). Ohitetaanuint8- jaint8-syötetensoreilla.meanon kanavakohtainen keskiarvo(R, G, B), joka vähennetään kuvasta skaalauksen jälkeen. Harmaasävytensoreilla keskiarvo pelkistetään yhdeksi luma-arvoksi kaavalla0.299*R + 0.587*G + 0.114*B. Ohitetaanuint8- jaint8-syötetensoreilla.stdevon kanavakohtainen keskihajonta(R, G, B), jolla kuva jaetaan keskiarvon vähentämisen jälkeen. Harmaasävytensoreilla keskihajonta pelkistetään yhdeksi luma-arvoksi kaavalla0.299*R + 0.587*G + 0.114*B. Ohitetaanuint8- jaint8-syötetensoreilla.roion valinnainen(x, y, w, h)-kohdealue syötekuvan sisällä, joka rajataan. JosNone, käytetään koko kuvaa. Rajattu alue keskitetään ja skaalataan bilineaarisesti (kuvasuhde säilyttäen mustalla täytöllä) mallin syötetensorin mittoihin.- __call__(image: image.Image) Normalization¶
- __call__(buffer: bytearray, shape: tuple[int, int, int, int], dtype: int) None
Kun kutsutaan yhdellä
image.Image-argumentilla, palauttaa uudenNormalization-objektin, joka on sidottu kyseiseen kuvaan. Sidottu objekti on se, jotaml.Model.predict()kutsuu sisäisesti syötetensorin täyttämiseksi. Josroi-arvoa ei asetettu alkuperäisessä instanssissa, se alustetaan koko kuvan kokoon.Kun kutsutaan argumenteilla
(buffer, shape, dtype), täyttääbuffer-puskurin paikan päällä normalisoidulla syötetensorilla aiemmin sidotulle kuvalle.shape-arvon on oltava(1, H, W, C), jossaCon1(harmaasävy) tai3(RGB).dtypeon ulab numpy -tyyppikoodi (esim.ord('f')float32:lle,ord('b')int8:lle,ord('B')uint8:lle). Liukulukutensoreihin sovelletaanscale-,mean- jastdev-arvoja; kokonaislukutensorit kirjoitetaan suoraan (int8:lle siirtymällä).