microsoftml.extract_pixels: Mengekstrak piksel dari gambar
Penggunaan
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)
Deskripsi
Mengekstrak nilai piksel dari gambar.
Detail
extract_pixels
mengekstrak nilai piksel dari gambar. Variabel input adalah gambar dengan ukuran yang sama, biasanya output transformasi resizeImage
. Outputnya adalah data piksel dalam bentuk vektor yang biasanya digunakan sebagai fitur untuk pelajar.
Argumen
Cols
String karakter atau daftar nama variabel yang akan diubah. Jika dict
, kunci mewakili nama variabel baru yang akan dibuat.
use_alpha
Menentukan apakah akan menggunakan saluran alfa. Nilai defaultnya adalah False
.
use_red
Menentukan apakah akan menggunakan saluran merah. Nilai defaultnya adalah True
.
use_green
Menentukan apakah akan menggunakan saluran hijau. Nilai defaultnya adalah True
.
use_blue
Menentukan apakah akan menggunakan saluran biru. Nilai defaultnya adalah True
.
interleave_argb
Apakah akan memisahkan setiap saluran atau interleave dalam urutan ARGB. Ini mungkin penting, misalnya, jika Anda melatih jaringan neural konvolusional, karena ini akan memengaruhi bentuk kernel, melangkah dll.
Mengkonversi
Apakah akan mengonversi ke titik mengambang. Nilai defaultnya adalah False
.
offset
Menentukan offset (pra-skala). Ini membutuhkan convert = True
.
Nilai defaultnya adalah Tidak Ada.
Skala
Menentukan faktor skala. Ini membutuhkan convert = True
.
Nilai defaultnya adalah Tidak Ada.
karg
Argumen tambahan dikirim ke mesin komputasi.
Mengembalikan
Objek yang menentukan transformasi.
Lihat juga
load_image
, resize_image
, featurize_image
.
Contoh
'''
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)
Output:
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