microsoftml.extract_pixels:從影像中擷取像素
使用方式
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)
Description
從影像中擷取像素值。
詳細資料
extract_pixels
會從影像中擷取像素值。 輸入變數是相同大小的影像,通常是 resizeImage
轉換的輸出。 輸出是向量形式的像素資料,通常用來作為學習模組的特徵。
引數
cols
要轉換的字元字串或變數名稱清單。 如果是 dict
,則索引鍵代表要建立的新變數名稱。
use_alpha
指定是否要使用 Alpha 色板。 預設值是 False
。
use_red
指定是否要使用紅色色板。 預設值是 True
。
use_green
指定是否要使用綠色色板。 預設值是 True
。
use_blue
指定是否要使用藍色色板。 預設值是 True
。
interleave_argb
是要分隔每個色板還是按 ARGB 順序交錯。 這可能有其重要性,例如,在定型卷積神經網路時就是如此,因為這可能會影響核心的形狀、步幅等。
convert
是否要轉換成浮點數。 預設值是 False
。
Offset
指定位移 (預先調整)。 這需要 convert = True
。
預設值為 None。
級別
指定縮放比例。 這需要 convert = True
。
預設值為 None。
kargs
傳送至計算引擎的其他引數。
傳回
定義轉換的物件。
另請參閱
load_image
, resize_image
, featurize_image
.
範例
'''
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)
輸出:
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