Avec Keras on peut créer un modèle qui se base sur le modèle entraîné mais qui s'arrête juste avant la couche Flatten pour récupérer les résultats de la convolution.
Un truc du genre :
submodel = keras.Model(model.input, model.get_layer(index = 3).output ) si la couche voulue est la 3e par exemple, ou alors par le nom model.get_layer("dense_1") par exemple, le nom étant donné dans la création du modèle avec une valeur par défaut, visualisable dans le model.summary()
Pour l'utiliser ensuite :
intermediate_result = submodel.predict(x_test)