Seite 1 von 1

Daten durchlaufen Layer nicht

Verfasst: Sonntag 24. Juli 2022, 21:23
von nichtSoGuter
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

Re: Daten durchlaufen Layer nicht

Verfasst: Sonntag 24. Juli 2022, 22:44
von nichtSoGuter
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.