Keras ImageDataGenerator Durchflussklasse Indizes für spärlich und kategorischen Klassen

stimmen
0

Für keras die ImageDataGenerator flow_*Methoden, bedarf es einer Zeichenfolgeversion der Klasse Indizes für kategoriale und spärlich class_mode. Ich habe Klasse - Etiketten , die aussehen wie ['0','1',...,'10','11',...]und eine unglückliche Konsequenz ist , dass Keras Indizes diese in String-alphabetischer Reihenfolge:

Beispielsweise:

datagen = ImageDataGenerator(
        rotation_range=0,
        width_shift_range=0,
        height_shift_range=0,
        rescale=None,
        shear_range=0,
        zoom_range=0,
        horizontal_flip=False,
        preprocessing_function=preprocessor,
        fill_mode='nearest')

test_generator = datagen.flow_from_dataframe(
    dataframe=dfTest,
    directory=None,
    x_col=filePath,
    y_col=ycat,
    target_size=SIZE,
    batch_size=BATCH_SIZE,
    class_mode='sparse',
    shuffle=False)

    print(test_generator.class_indices)

gibt:

{'0': 0,
 '1': 1,
 '10': 2,
 '11': 3,
 ...,
 '2': 12,
 '20': 13,
 '21': 14,
 '22': 15,
 '3': 16,
 '4': 17,
 '5': 18,
 '6': 19,
 '7': 20,
 '8': 21,
 '9': 22}

Im Idealfall würde ich gerne sehen:

{'0': 0,
 '1': 1,
 '2': 2,

 ...,
 }

Ich dachte daran , manuell zu ändern , test_generator.class_indicesaber ich bin mir nicht sicher , dass zu tun , wie nach der Initialisierung sicher ist, hat der Generator die Klassen Etiketten des Datensatzes vorzunehmen berechnet.

Gibt es eine schöne Lösung für dieses Problem, ohne das Umschreiben flow_*Methode?

Veröffentlicht am 13/02/2020 um 22:02
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more