Freigeben über


microsoftml.extract_pixels: extrahiert Pixel aus einem Bild

Verwendung

microsoftml.extract_pixels(cols: [str, dict, list],
    use_alpha: bool = False, use_red: bool = True,
    use_green: bool = True, use_blue: bool = True,
    interleave_argb: bool = False, convert: bool = True,
    offset: float = None, scale: float = None, **kargs)

BESCHREIBUNG

Extrahiert die Pixelwerte aus einem Bild.

Details

extract_pixels extrahiert die Pixelwerte aus einem Bild. Die Eingabevariablen sind Bilder der gleichen Größe, in der Regel die Ausgabe einer resizeImage-Transformation. Bei der Ausgabe handelt es sich um Pixeldaten in Vektorform, die in der Regel als Features für ein Lernmodul verwendet werden.

Argumente

cols

Eine Zeichenfolge oder Liste mit den zu transformierenden Variablennamen. Falls dict, stellen die Schlüssel die Namen der neu zu erstellenden Variablen dar.

use_alpha

Gibt an, ob der Alphakanal verwendet werden soll. Der Standardwert ist False.

use_red

Gibt an, ob der rote Kanal verwendet werden soll. Der Standardwert ist True.

use_green

Gibt an, ob der grüne Kanal verwendet werden soll. Der Standardwert ist True.

use_blue

Gibt an, ob der blaue Kanal verwendet werden soll. Der Standardwert ist True.

interleave_argb

Gibt an, ob jeder Kanal getrennt oder in ARGB-Reihenfolge zusammengesetzt werden soll. Dies könnte z. B. wichtig sein, wenn Sie ein Convolutional Neural Network (faltendes neuronales Netzwerk) trainieren, da sich dies auf die Form des Kernels, Schritts usw. auswirken würde.

convert

Gibt an, ob eine Konvertierung in eine Gleitkommazahl erfolgen soll. Der Standardwert ist False.

offset

Gibt den Versatz (vor dem Skalieren) an. Dies erfordert convert = True. Der Standardwert ist None.

Skalierung

Gibt den Skalierungsfaktor an. Dies erfordert convert = True. Der Standardwert ist None.

kargs

Zusätzliche Argumente, die an die Compute-Engine gesendet werden.

Gibt zurück

Ein Objekt, das die Transformation definiert.

Siehe auch

load_image, resize_image, featurize_image.

Beispiel

'''
Example with images.
'''
import numpy
import pandas
from microsoftml import rx_neural_network, rx_predict, rx_fast_linear
from microsoftml import load_image, resize_image, extract_pixels
from microsoftml.datasets.image import get_RevolutionAnalyticslogo

train = pandas.DataFrame(data=dict(Path=[get_RevolutionAnalyticslogo()], Label=[True]))

# Loads the images from variable Path, resizes the images to 1x1 pixels
# and trains a neural net.
model1 = rx_neural_network("Label ~ Features", data=train, 
            ml_transforms=[            
                    load_image(cols=dict(Features="Path")), 
                    resize_image(cols="Features", width=1, height=1, resizing="Aniso"), 
                    extract_pixels(cols="Features")], 
            ml_transform_vars=["Path"], 
            num_hidden_nodes=1, num_iterations=1)

# Featurizes the images from variable Path using the default model, and trains a linear model on the result.
# If dnnModel == "AlexNet", the image has to be resized to 227x227.
model2 = rx_fast_linear("Label ~ Features ", data=train, 
            ml_transforms=[            
                    load_image(cols=dict(Features="Path")), 
                    resize_image(cols="Features", width=224, height=224), 
                    extract_pixels(cols="Features")], 
            ml_transform_vars=["Path"], max_iterations=1)

# We predict even if it does not make too much sense on this single image.
print("\nrx_neural_network")
prediction1 = rx_predict(model1, data=train)
print(prediction1)

print("\nrx_fast_linear")
prediction2 = rx_predict(model2, data=train)
print(prediction2)

Ausgabe:

Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 1, Read Time: 0.001, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Using: AVX Math

***** Net definition *****
  input Data [3];
  hidden H [1] sigmoid { // Depth 1
    from Data all;
  }
  output Result [1] sigmoid { // Depth 0
    from H all;
  }
***** End net definition *****
Input count: 3
Output count: 1
Output Function: Sigmoid
Loss Function: LogLoss
PreTrainer: NoPreTrainer
___________________________________________________________________
Starting training...
Learning rate: 0.001000
Momentum: 0.000000
InitWtsDiameter: 0.100000
___________________________________________________________________
Initializing 1 Hidden Layers, 6 Weights...
Estimated Pre-training MeanError = 0.707823
Iter:1/1, MeanErr=0.707823(0.00%), 0.00M WeightUpdates/sec
Done!
Estimated Post-training MeanError = 0.707499
___________________________________________________________________
Not training a calibrator because it is not needed.
Elapsed time: 00:00:00.2716496
Elapsed time: 00:00:00.0396484
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Using 2 threads to train.
Automatically choosing a check frequency of 2.
Auto-tuning parameters: L2 = 5.
Auto-tuning parameters: L1Threshold (L1/L2) = 1.
Using model from last iteration.
Not training a calibrator because it is not needed.
Elapsed time: 00:00:01.0508885
Elapsed time: 00:00:00.0133784

rx_neural_network
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.1339430
Finished writing 1 rows.
Writing completed.
  PredictedLabel     Score  Probability
0          False -0.028504     0.492875

rx_fast_linear
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.4977487
Finished writing 1 rows.
Writing completed.
  PredictedLabel  Score  Probability
0          False    0.0          0.5