Salut,
Je ne sais pas si le problème vient de vous ou de pyyaml, mais je viens de terminer une version propre et j'obtiens l'erreur suivante lors de l'exécution de l'exemple infer_simple.py avec pyyaml version 5.1
yaml.constructor.ConstructorError: while constructing a Python instance
expected a class, but found <class 'builtin_function_or_method'>
in "<unicode string>", line 3, column 20:
BBOX_XFORM_CLIP: !!python/object/apply:numpy.core ...
J'ai ramené la version à 4.2 et cela fonctionne bien :
pip installer pyyaml==4.2b2
PYTHONPATH
: NApython --version
sortie : 3.6.7J'ai rencontré la même erreur et résolu le problème en changeant
yaml_load = yaml.load
à
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
en detectron/utils/env.py
Je ne sais pas s'il s'agit d'une solution valable dans tous les cas, car yaml.load peut être utilisé ailleurs dans la base de code. Cependant, dans mon cas, c'était une bonne solution de contournement.
@matthhan l'a résolu pour moi. Merci!
J'ai rencontré la même erreur et résolu le problème en changeant
yaml_load = yaml.load
à
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
endetectron/utils/env.py
Je ne sais pas s'il s'agit d'une solution valable dans tous les cas, car yaml.load peut être utilisé ailleurs dans la base de code. Cependant, dans mon cas, c'était une bonne solution de contournement.
Ça marche vraiment!! Merci ~
Une autre solution de contournement consiste à restaurer le pyyaml à la version 3.12, puisque le detectron semble initialement construit sur cette version. Un problème similaire se trouve dans https://github.com/facebookresearch/DensePose/issues/216
J'obtiens la même erreur mais mon pyyaml=3.12 , j'ai besoin d'aide.
Informations système
Système d'exploitation : 16.04
Version du compilateur : 2.7
Version CUDA : 9
Salut,
Je ne sais pas si le problème vient de vous ou de pyyaml, mais je viens de terminer une version propre et j'obtiens l'erreur suivante lors de l'exécution de l'exemple infer_simple.py avec pyyaml version 5.1
yaml.constructor.ConstructorError: while constructing a Python instance expected a class, but found <class 'builtin_function_or_method'> in "<unicode string>", line 3, column 20: BBOX_XFORM_CLIP: !!python/object/apply:numpy.core ...
J'ai ramené la version à 4.2 et cela fonctionne bien :
pip installer pyyaml==4.2b2Informations système
- Système d'exploitation : 18.04
- Version du compilateur : 3.6
- Version CUDA : 10
- version cuDNN : 9
- Version du pilote NVIDIA : 415
- Modèles de GPU (pour tous les appareils s'ils ne sont pas tous identiques) : 1080ti
- Variable d'environnement
PYTHONPATH
: NApython --version
sortie : 3.6.7- Autre chose qui semble pertinente : ?
bonjour, je veux savoir comment compilez-vous votre caffe2 avec cuda10. Dans l'attente de votre réponse.
Je partage mon expérience au cas où cela aiderait quelqu'un : j'ai eu le même problème sur un ordinateur avec Ubuntu 16.04, Cuda 9.0, Python 3.7. Nous avons essayé les suggestions des deux premiers messages et essayé de forcer l'installation de PyYAML 3.12, en vain. En vérifiant les lignes de config.py où l'erreur s'est produite, nous avons réalisé que le config.py dans le conteneur docker était une version plus ancienne que celle téléchargée à l'aide de git clone (!?!). En copiant la dernière version dans le conteneur docker, ainsi que les modifications apportées à env.py dans le message de
Commentaire le plus utile
J'ai rencontré la même erreur et résolu le problème en changeant
yaml_load = yaml.load
à
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
en
detectron/utils/env.py
Je ne sais pas s'il s'agit d'une solution valable dans tous les cas, car yaml.load peut être utilisé ailleurs dans la base de code. Cependant, dans mon cas, c'était une bonne solution de contournement.