Salut, je suis un débutant à la science des données, J'ai suivi ce tutoriel https://mxnet.incubator.apache.org/tutorials/nlp/cnn.html mais je suis confus sur la façon de faire une seule prédiction en utilisant le modèle formé généré par le tutoriel mentionné ci-dessus. S'il vous plaît, guidez moi la bonne direction pour y remédier. Merci.Faire une prédiction en utilisant mxnet CNN modèle
Répondre
Voici un tutoriel sur la façon de prédire avec le modèle pré-entraîné: https://mxnet.incubator.apache.org/tutorials/python/predict_image.html
Étapes: 1. charge modèle et créer un pré-entraîné instance de module MXNet. 2. Saisissez vos données et courir vers l'avant avec le module
On peut charger le modèle comme celui-ci:
sym, arg_params, aux_params = mx.model.load_checkpoint('cnn', 3)
mod = mx.mod.Module(symbol=sym, context=mx.cpu(), label_names=None)
mod.bind(for_training=False, data_shapes=[('data', (50,56))],
label_shapes=mod._label_shapes)
mod.set_params(arg_params, aux_params, allow_missing=True)
Mais malheureusement, vous ne pouvez pas l'utiliser pour faire une seule prédiction. Vous auriez besoin d'un lot de 50.
Vous ne devez pas avoir un lot de 50. Le premier argument dans les contrôles data_shapes la taille de la taille de lot attendue. Vous pouvez simplement utiliser 1: 'mod.bind (for_training = Faux, data_shapes = [('data', (1,3,224,224)), label_shapes = mod._label_shapes)' comme décrit dans le tutoriel https://github.com /dmlc/mxnet-notebooks/blob/master/python/tutorials/predict_imagenet.ipynb – Guy
@Guy Je vous invite à exécuter le code. Je peux vous dire que votre solution ne fonctionnera pas. Le problème est que la taille du lot est réellement intégrée dans les couches 'Reshape'. – Interfector
Merci J'ai chargé le modèle avec le fichier .params et le fichier .json créé après la formation du modèle, mais je suis toujours incapable de créer une instance de module. Comment je fais ça? – Zann
Vous devez lier les paramètres de modèle que vous avez lus depuis les fichiers (mod.bind et mod.set_param), et une fois que vous avez un modèle fonctionnel, vous pouvez appeler la fonction feed_forward/forward/predict (mod.forward et mod.get_outputs). – Guy
@Guy et @kevinthesun, le concept est relativement simple, mais dans la pratique n'est pas tout à fait comme ça. Par exemple, quelles sont les 'data_shapes' à utiliser pour la méthode' bind'? Est-ce que l'un d'entre vous peut donner un exemple de lien entre ces deux tutoriels? – Interfector