Daten durchlaufen Layer nicht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
nichtSoGuter
User
Beiträge: 92
Registriert: Mittwoch 13. April 2022, 17:40

Ich habe ML Model mit Hilfe einer Fachliteratur erstellen können. Dabei durchlaufen meine Input Daten wohl nur den ersten Layer mit dem namen 'block_1_expand_relu' . Ich verstehe den grund dafür jedoch nicht.

Frage 2: Außerdem finde ich das attribut "output" (siehe: code unten) bei tf.keras.applications.mobilenet_v2.MobileNetV2 und tf.keras.layers.Layer und tf.keras.Model nicht

Code: Alles auswählen

base_model = tf.keras.applications.MobileNetV2(input_shape=[128, 128, 3], include_top=False)
layer_names = [
            'block_1_expand_relu',  # 64x64
            'block_3_expand_relu',  # 32x32
            'block_6_expand_relu',  # 16x16
            'block_13_expand_relu',  # 8x8
            'block_16_project',  # 4x4
]

# FRAGE2: ich finde "output" attribut nicht?
alle_layer = [base_model.get_layer(name).output for name in layer_names]
down_stack = tf.keras.Model(inputs=base_model.input, outputs=alle_layer)

# test daten erstellen
data = tf.ones(shape = [10,128,128,3])

out_put = down_stack(data) 
#--> shape des outputs ist: shape=(10, 64, 64, 96) ; Müsste eigentlich (10,4,4,  ) sein
ein versuch von mir wäre der nachfolgende code. Dieser funktioniert jedoch auch nicht. Die fehlermeldung dazu ist : TypeError: 'KerasTensor' object is not callable

Code: Alles auswählen

input_layer = base_model.input
layer1 = alle_layer[0](input_layer)
layer2 = alle_layer[1](layer1)
layer3 = alle_layer[2](layer2)
layer4 = alle_layer[3](layer3)
output_layer = alle_layer[4](layer4)

model = tf.keras.Model(inputs=[input_layer], outputs=[output_layer])

out_put = model(data)
out_put
nichtSoGuter
User
Beiträge: 92
Registriert: Mittwoch 13. April 2022, 17:40

Hat sich erledigt!

Mein code durchläuft wohl doch alle Layer. Bei der Anzeige des Outputs musste ich nur weit genug runterscrollen um zu sehen, dass die daten alle layer durchlaufen haben.
Antworten