microsoftml.resize_image: Bir Görüntünün Boyutlandırılması

Usage

microsoftml.resize_image(cols: [str, dict, list], width: int = 224,
    height: int = 224, resizing_option: ['IsoPad', 'IsoCrop',
    'Aniso'] = 'IsoCrop', **kargs)

Description

Bir görüntüyü belirli bir boyuta göre boyutlandırır, belirli bir boyut değiştirme yöntemi kullanılır.

Ayrıntılar

resize_image Belirli bir boyutlandırma yöntemiyle bir görüntüyü belirtilen yükseklik ve genişliğe göre boyutlandırır. Bu dönüşüme giriş değişkenleri genellikle dönüşümün load_image sonucu olan görüntüler olmalıdır.

Arguments

Cols

Dönüştürülecek bir karakter dizisi veya değişken isimleri listesi. Eğer dict, anahtarlar oluşturulacak yeni değişkenlerin isimlerini temsil eder.

width

Ölçeklenmiş görüntünün genişliğini piksel cinsinden belirtir. Varsayılan değer 224'tür.

height

Ölçeklendirilen görüntünün yüksekliğini piksel cinsinden belirtir. Varsayılan değer 224'tür.

resizing_option

Kullanılacak boyutlandırma yöntemini belirtti. Tüm yöntemlerin bilinear interpolasyon kullandığını unutmayın. Seçenekler şunlardır:

  • "IsoPad": Görüntü, en-boy oranının korunması için yeniden boyutlandırılır. Gerekirse, resim yeni genişlik veya yüksekliğe uyacak şekilde siyahla doldurulur.

  • "IsoCrop": Görüntü, en-boy oranının korunması için yeniden boyutlandırılır. Gerekirse, görüntü yeni genişlik veya yüksekliğe uyacak şekilde kırpılır.

  • "Aniso": Görüntü, en-boy oranı korunmadan yeni genişlik ve yüksekliğe doğru uzatılır.

"IsoPad" varsayılan değerdir.

kargs

İşlem altyapısına gönderilen ek bağımsız değişkenler.

İadeler

Dönüşümü tanımlayan bir nesne.

Example

'''
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)

Çıktı:

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.001, 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.01M WeightUpdates/sec
Done!
Estimated Post-training MeanError = 0.707499
___________________________________________________________________
Not training a calibrator because it is not needed.
Elapsed time: 00:00:00.0820600
Elapsed time: 00:00:00.0090292
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.0852660
Elapsed time: 00:00:00.0132126

rx_neural_network
Beginning processing data.
Rows Read: 1, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0441601
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.001, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.5196788
Finished writing 1 rows.
Writing completed.
  PredictedLabel  Score  Probability
0          False    0.0          0.5