Ich möchte das Anfangsmodell mit 1003 Klassen, wo die ersten 1000 Klassen gleichen wie Imagenet (Inception-Modell) sind, umschulen. Also nahm ich mit Anfangsmodell und extrahierte die endgültigen Schichtgewichte und fügte 3 weitere Spalten dazu hinzu. Ich knallte die letzte Schicht eine andere Schicht mit 1003 Klassen und mit den Gewichten, die ich geändert habe, da die Gewichte der ersten 1000 Klassen die gleiche bleiben wie die Anfänge aber während des Trainings beginnt die Genauigkeit bei 0, was ich nicht erwartet habe. Was läuft falsch?Inception Hinzufügen neuer Schichten
dies ist mein Code
base_model = InceptionV3(weights='imagenet', include_top=False)
m = InceptionV3(weights='imagenet', include_top=True)
a=m.layers[312].get_weights()
k=np.random.normal(size=[2048,3])
k=k/3
l=np.random.normal(size=[3])
l=l/3
a[0]=np.concatenate((a[0],k),axis=1)
a[1]=np.concatenate((a[1],l),axis=0)
x = base_model.output
x = GlobalAveragePooling2D()(x)
predictions = Dense(nb_classes, activation='softmax')(x)
model = Model(input=base_model.input, output=predictions)
model.layers[312].set_weights(a)