Detectron: Neueste pyyaml ​​erwartet Klasse, bekommt aber Funktion

Erstellt am 16. März 2019  ·  7Kommentare  ·  Quelle: facebookresearch/Detectron

Hallo,
Ich bin mir nicht sicher, ob das Problem bei Ihnen oder bei pyyaml ​​liegt, aber ich habe gerade einen sauberen Build abgeschlossen und erhalte die folgende Fehlermeldung beim Ausführen des infer_simple.py-Beispiels mit 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 ...

Ich habe die Version auf 4.2 zurückgesetzt und es funktioniert gut:
pip install pyyaml==4.2b2

System Information

  • Betriebssystem: 18.04
  • Compilerversion: 3.6
  • CUDA-Version: 10
  • cuDNN-Version: 9
  • NVIDIA-Treiberversion: 415
  • GPU-Modelle (für alle Geräte, wenn nicht alle gleich): 1080ti
  • PYTHONPATH Umgebungsvariable: NA
  • python --version Ausgabe: 3.6.7
  • Alles andere, was relevant erscheint: ?

Hilfreichster Kommentar

Ich bin auf den gleichen Fehler gestoßen und habe das Problem durch Ändern gelöst
yaml_load = yaml.load
zu
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
in detectron/utils/env.py
Ich bin mir nicht sicher, ob dies in jedem Fall eine gültige Lösung ist, da yaml.load an anderer Stelle in der Codebasis verwendet werden könnte. In meinem Fall war dies jedoch ein guter Workaround.

Alle 7 Kommentare

Ich bin auf den gleichen Fehler gestoßen und habe das Problem durch Ändern gelöst
yaml_load = yaml.load
zu
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
in detectron/utils/env.py
Ich bin mir nicht sicher, ob dies in jedem Fall eine gültige Lösung ist, da yaml.load an anderer Stelle in der Codebasis verwendet werden könnte. In meinem Fall war dies jedoch ein guter Workaround.

@matthhan hat es für mich gelöst. Danke!

Ich bin auf den gleichen Fehler gestoßen und habe das Problem durch Ändern gelöst
yaml_load = yaml.load
zu
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
in detectron/utils/env.py
Ich bin mir nicht sicher, ob dies in jedem Fall eine gültige Lösung ist, da yaml.load an anderer Stelle in der Codebasis verwendet werden könnte. In meinem Fall war dies jedoch ein guter Workaround.

Es funktioniert wirklich!! Danke ~

Eine andere Problemumgehung besteht darin, die pyyaml-Version auf die Version 3.12 zurückzusetzen, da das Detectron zunächst auf dieser Version aufgebaut zu sein scheint. Ein ähnliches Problem ist in https://github.com/facebookresearch/DensePose/issues/216

Ich erhalte den gleichen Fehler, aber mein pyyaml=3.12 , ich brauche Hilfe.

System Information
Betriebssystem: 16.04
Compilerversion: 2.7
CUDA-Version: 9

Hallo,
Ich bin mir nicht sicher, ob das Problem bei Ihnen oder bei pyyaml ​​liegt, aber ich habe gerade einen sauberen Build abgeschlossen und erhalte die folgende Fehlermeldung beim Ausführen des infer_simple.py-Beispiels mit 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 ...

Ich habe die Version auf 4.2 zurückgesetzt und es funktioniert gut:
pip install pyyaml==4.2b2

System Information

  • Betriebssystem: 18.04
  • Compilerversion: 3.6
  • CUDA-Version: 10
  • cuDNN-Version: 9
  • NVIDIA-Treiberversion: 415
  • GPU-Modelle (für alle Geräte, wenn nicht alle gleich): 1080ti
  • PYTHONPATH Umgebungsvariable: NA
  • python --version Ausgabe: 3.6.7
  • Alles andere, was relevant erscheint: ?

hallo, ich möchte wissen, wie man caffe2 mit cuda10 kompiliert. Ich freue mich auf deine Antwort.

Ich teile meine Erfahrung, falls es jemandem hilft: Ich hatte das gleiche Problem auf einem Computer mit Ubuntu 16.04, Cuda 9.0, Python 3.7. Wir haben die Vorschläge aus den ersten beiden Posts ausprobiert und versucht, die Installation von PyYAML 3.12 ohne Erfolg zu erzwingen. Als wir die Zeilen von config.py überprüften, in denen der Fehler auftrat, stellten wir fest, dass die config.py im Docker-Container eine ältere Version war als die, die mit git clone heruntergeladen wurde (!?!). Nachdem wir die neueste Version in den Docker-Container kopiert haben, zusammen mit den Änderungen in env.py in

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen