Ich versuche, Stichprobengewichtung mit ImageGenerator
in einer pixelweisen Segmentierung Aufgabe zu verwenden.Wie verwenden Sie Beispielgewichte mit Datenerweiterung in Keras?
- Bilder und Masken numpy Arrays (634, 1, 64, 64)
- Masken haben 5 Klassen (codiert als 0 bis 4)
sample_weight
ein Array (634, 64, 64)- Daten Augmentation
.flow
für 2-Generatoren mit identischenseed=42
undbatch_size=32
- Modell mit
sample_weight_mode='temporal'
letzten 3 Schichten zusammengestellt werden unter Verwendung von i n die Unet Modells sind:
conv2d_19 (Conv2D) (None, 5, 64, 64) 325 dropout_18[0][0] conv2d_20 (Conv2D) (None, 1, 64, 64) 6 conv2d_19[0][0] activation_1 (Activation) (None, 1, 64, 64) 0 conv2d_20[0][0]
dies ein Fehler wirft:
ValueError: Found a sample_weight array with shape (634, 64, 64). In order to use timestep-wise sample weighting, you should pass a 2D sample_weight array.
Wenn ich sample_weight
neu zu gestalten (634, 4096) erhalte ich:
ValueError: Found a sample_weight array with shape (634, 4096) for an input with shape (32, 1, 64, 64). sample_weight cannot be broadcast.
Ist das mein Missverständnis, wie man verwendet ImageGenerator
oder ist es nicht in der Lage, mit dieser speziellen Situation umzugehen?
Wenn ich keine Beispielgewichte verwende, wird das Modell ausgeführt, und es werden keine Fehler ausgegeben.
Keras 2.0.4, Theano 0,9