Disons que nous avons un réseau de neurones convolutionnel M. Je peux extraire des caractéristiques à partir d'images en utilisantextraction dernières couches de modèle keras comme sous-modèle
extractor = Model(M.inputs, M.get_layer('last_conv').output)
features = extractor.predict(X)
Comment puis-je obtenir le modèle qui permettra de prédire les classes utilisant features
?
Je ne peux pas utiliser les lignes suivantes car l'entrée du modèle doit être un espace réservé.
predictor = Model([M.get_layer('next_layer').input], M.outputs)
pred = predictor.predict(features)
Je ne peux pas utiliser K.function
parce que plus tard, je veux l'utiliser dans le cadre d'un autre modèle, donc je serai prédicteur appliyng à tf.tensor, non np.array.
Quel est le problème avec l'utilisation d'un espace réservé ou une couche d'entrée? C'est la bonne façon. –
@MatiasValdenegro Comment empiler des couches ** entraînées ** du prédicteur sur le nouveau calque d'entrée? – eclique
Avec l'API fonctionnelle, vous utilisez simplement votre modèle comme s'il s'agissait d'une couche: in = Entrée (...) inter = yourModel (in) final = Dense (10) (inter) –