web-dev-qa-db-fra.com

Model_fn de l'estimateur inclut l'argument params, mais ceux-ci ne sont pas transmis à l'estimateur

J'essaie d'exécuter l'API de détection d'objet localement. 

Je pense avoir tout configuré comme décrit dans la API de détection d'objet TensorFlow documents. Cependant, lorsque j'essaie d'exécuter model_main.py, cet avertissement s'affiche et le modèle ne s'entraîne pas. (Je ne peux pas vraiment savoir si le modèle est en formation ou non, car le processus n'est pas terminé, mais aucun autre journal n'apparaît)

AVERTISSEMENT: tensorflow: modèle_fn de l'estimateur (.model_fn à 0x0000024BDBB3D158>) inclut paramètre params, mais les paramètres ne sont pas transmis à Estimator.

Le code que je transmets est: 

python tensorflow-models/research/object_detection/model_main.py \
--model_dir=training \
--pipeline_config_path=ssd_mobilenet_v1_coco.config \
--checkpoint_dir=ssd_mobilenet_v1_coco_2017_11_17/model.ckpt \
--num_tain_steps=2000 \
--num_eval_steps=200 \
--alsologtostderr

Quelle pourrait être la cause de cet avertissement? 

Pourquoi le code semblerait-il bloqué?

S'il vous plaît aider! 

5
Gabe

J'ai rencontré le même problème et j'ai constaté que cet avertissement n'avait rien à voir avec le problème selon lequel le modèle ne fonctionnait pas. Je peux faire en sorte que le modèle fonctionne comme le montre cet avertissement. 

Mon erreur est que j'ai mal compris la ligne dans le document de running_locally.md

"$ {MODEL_DIR} pointe vers le répertoire dans lequel les points de contrôle et les événements de formation seront écrits"

J'ai changé le MODEL_DIR au {project directory}/models/model où la structure du répertoire est la suivante:

+data -label_map file -train TFRecord file -eval TFRecord file +models + model -pipeline config file +train +eval

Et ça a fonctionné. En espérant que cela puisse vous aider.

6
Yangcy

Votre script semble bon. Une chose à noter est que le nouveau model_main.py n’imprimera pas le journal de la formation (comme les étapes de formation, les pertes, etc.) ce sera long.
Ainsi, "le processus n'est pas terminé, mais aucun autre journal n'apparaît" est normal. Vous pouvez confirmer son exécution en utilisant "nvidia-smi" pour vérifier la situation du gpu, ou en utilisant tensorboard pour vérifier.

0
lychenpan

Dans mon cas, j'ai eu la même erreur parce que j'avais dans le dossier où étaient mes fichiers .cpkt, le point de contrôle des modèles déjà formés.

La suppression de ce fichier est entrée dans le fichier .tar.gz, la formation a fonctionné.

 enter image description here

0
Arritmic

J'ai aussi rencontré ce message d'avertissement. J'ai vérifié nvidia-smi et il semblait que l'entraînement n'avait pas commencé. Également essayé de réorganiser le répertoire de sortie et cela n'a pas fonctionné. Après avoir vérifié Configuration du pipeline d’entraînement à la détection d’objets (officiel de tensorflow) , j’ai trouvé que c’était un problème de configuration. Résoudre le problème en ajoutant load_all_detection_checkpoint_vars: true.

0
Yoyo

J'ai également reçu cette erreur, parce que j'avais déjà formé un modèle sur un fichier de jeu de données/modèle/config différent et que les fichiers ckpt précédents existaient toujours dans le répertoire avec lequel je travaillais, déplaçant les données de formation ckpt anciennes répertoire corrigé le problème

0
iggy12345