microsoftml.resize_image : redimensionne une image
Usage
microsoftml.resize_image(cols: [str, dict, list], width: int = 224,
height: int = 224, resizing_option: ['IsoPad', 'IsoCrop',
'Aniso'] = 'IsoCrop', **kargs)
Description
Change la taille d’une image aux dimensions spécifiées à l’aide d’une méthode de redimensionnement spécifiée.
Détails
resize_image
redimensionne une image à la hauteur et à la largeur spécifiées à l’aide d’une méthode de redimensionnement spécifiée. Les variables d’entrée de cette transformation doivent être des images, généralement le résultat de la transformation load_image
.
Arguments
cols
Chaîne de caractères ou liste de noms de variables à transformer. Si dict
, les clés représentent les noms des nouvelles variables à créer.
width
Spécifie la largeur de l’image mise à l’échelle en pixels. La valeur par défaut est 224.
height
Spécifie la hauteur de l’image mise à l’échelle en pixels. La valeur par défaut est 224.
resizing_option
Spécifie la méthode de redimensionnement à utiliser. Notez que toutes les méthodes utilisent l’interpolation bilinéaire. Les options sont :
"IsoPad"
: l’image est redimensionnée de telle sorte que les proportions sont conservées. Si nécessaire, l’image est remplie avec du noir pour s’ajuster à la nouvelle largeur ou hauteur."IsoCrop"
: l’image est redimensionnée de telle sorte que les proportions sont conservées. Si nécessaire, l’image est rognée pour s’ajuster à la nouvelle largeur ou hauteur."Aniso"
: l’image est étirée aux nouvelles largeur et hauteur, sans conserver les proportions.
La valeur par défaut est "IsoPad"
.
kargs
Arguments supplémentaires envoyés au moteur de calcul.
Retours
Objet définissant la transformation.
Voir aussi
load_image
, extract_pixels
, featurize_image
.
Exemple
'''
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)
Sortie :
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour