Wie kombinieren Sie Vorhersagen aus zwei Modellen auf jeder Schicht?Python

Python-Programme
Guest
 Wie kombinieren Sie Vorhersagen aus zwei Modellen auf jeder Schicht?

Post by Guest »

Ich habe den folgenden Code verwendet, um sowohl ein trainiertes als auch ein untrainiertes Modell zu speichern. < /p>

Code: Select all

def skip_block(base, skip, filters):
x = Concatenate()(\[base, skip\])
x = Conv2D(filters, (2, 2), padding="same", activation="relu")(x)
x = Conv2D(filters, (2, 2), padding="same", activation="relu")(x)
return x

def build_model(img_size):
inp = Input(shape=(img_size, img_size, 3), name="image_input")

# Load pre-trained model
encoder = MobileNetV2(input_tensor=inp, weights="imagenet", include_top=False, alpha=0.5)

for layer in encoder.layers:
layer.trainable = True

skips = ["image_input", "block_1_expand_relu", "block_3_expand_relu", "block_6_expand_relu"]
x = encoder.get_layer("block_13_expand_relu").output

for i, filters in zip(reversed(skips), [256, 128, 64, 32]):
x = UpSampling2D((2, 2))(x)
x = merge_skip_block(x, encoder.get_layer(i).output, filters)

out = Conv2D(NUM_MASKS, (1, 1), activation="sigmoid")(x)

return Model(inp, out)
< /code>
Ich möchte die Vorhersagen jeder Schicht aus dem trainierten Modell mit der Eingabe derselben Schicht im nicht ausgebildeten Modell kombinieren, um eine verbesserte kombinierte Vorhersage zu erzeugen. Diese aktualisierte Ausgabe sollte dann im ungeübten Modell an die nächste Ebene übergeben werden. >def create_combined_model(IMAGE_SIZE):

input_layer = Input(shape=(IMAGE_SIZE, IMAGE_SIZE, 3), name="input_image")

# Load both models
trained_model = load_model('path/to/trained_model.keras')
untrained_model = load_model('path/to/untrained_model.keras')

# Create intermediate models to get layer outputs/inputs
trained_features = Model(
inputs=trained_model.input,
outputs=[layer.output for layer in trained_model.layers[1:]]
)

untrained_features = Model(
inputs=untrained_model.input,
outputs=[layer.input for layer in untrained_model.layers[1:]]
)

# Get all features using the same input
trained_outputs = trained_features(input_layer)
untrained_inputs = untrained_features(input_layer)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post