0
votes

Comment prédigner plus d'une image après un modèle de formation avec Keras?

Je veux essayer de prédire une image après avoir entraîné mon modèle.

Avec le code ci-dessous, je ne peux prédire qu'une image, comment puis-je prédire plus de 50 images par exemple?

exemple de code xxx

pouvez-vous me dire ce que je devrais changer ou ajouter au code?

Peut-être que vous avez un Code de référence pour prédire plus d'une image que vous pourriez partager?


0 commentaires

3 Réponses :


0
votes

à lot prédire un répertoire de 50 images que vous pouvez suivre cet exemple Ici et procédez comme suit: xxx

où dans votre cas img_size = 64 . Ensuite, vous pouvez simplement appeler la méthode prédire_classes () du modèle objet : xxx

il y a aussi ceci githanub gist qui le fait avec une même manière similaire.


4 commentaires

J'ai essayé le code de Github et j'ai eu cette erreur "" OsError: impossible d'ouvrir le fichier (impossible d'ouvrir le fichier: nom = '/models/model.h5', errno = 2, message d'erreur = "Aucun fichier ou répertoire" , flags = 0, o_flags = 0) '"" Même si l'emplacement des répertoires et des fichiers est mis au bon endroit


Est le script situé dans le même dossier où '/Models/model.h5' est? Essayez d'utiliser le chemin absolu pour être sûr.


Oui, je suis sûr que l'emplacement du fichier de script est identique au dossier Modèle et DataSet, mais cela me donne toujours la même erreur.


Assurez-vous qu'il existe un fichier modèle.h5 dans le dossier Modèles (cela peut sembler trop évident, mais vous ne savez jamais) et s'il existe en effet, essayez de le charger sans l'extension '.h5'.



0
votes

Que voudriez-vous que votre sortie soit? Cela semble être fait avec une simple boucle. Vous pouvez probablement le faire plus efficace à Keras, mais en prenant une approche simple, cela fonctionne également. Le code ci-dessous prend toutes les images du dossier de DataSet / Test_Image Coore> et crée une liste avec des classifications par ordre de image_list code>:

import numpy as np
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
import os

image_folder = 'dataset/test_image/'
image_list = os.listdir(image_folder)
classifier_results = []
for image in image_list:
    test_image = image.load_img(image_folder + image_list[image], target_size = (64, 64))
    test_image = image.img_to_array(test_image)
    test_image = np.expand_dims(test_image, axis = 0)
    result = classifier.predict(test_image)
    training_set.class_indices
    if result[0][0] == 1:
      prediction = 'nsfw'
    else:
      prediction = 'sfw'
    classifier_results.append(prediction)
    print(image_list[image], "is classified as: " prediction)


2 commentaires

En fait, je veux une sortie descendante comme NFSW SFW SFW NFSW, etc. Oui, comme ça, jusqu'à ce que le nombre d'images que je veux. Mais monsieur, j'ai essayé pour votre code et je reçois une erreur AttributeError: 'str' objet n'a aucun attribut 'load_img' que dois-je faire?


J'ai mis à jour le snippet au-dessus d'un peu de sorte que cela prend également le nom du dossier en compte dans image.load_img , mais recommande vivement de suivre des tutoriels de base de Python avant de plonger dans Keras.



0
votes
from imutils import paths
imagePaths = list(paths.list_images('test'))

for test_image in imagePaths:

   result = classifier.predict(test_image)

1 commentaires

Fournir plus de contexte à votre réponse. Cela ne dit pas pourquoi vous utiliseriez le code