Привет,
Я не уверен, связана ли проблема с вами или pyyaml, но я только что завершил чистую сборку и получил следующую ошибку при запуске примера infer_simple.py с pyyaml версии 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 ...
Я откатил версию до 4.2, и она работает нормально:
pip install pyyaml == 4.2b2
PYTHONPATH
переменная среды: нет данныхpython --version
вывод: 3.6.7Я столкнулся с той же ошибкой и решил проблему, изменив
yaml_load = yaml.load
к
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
в detectron/utils/env.py
Не уверен, что это верное решение в каждом случае, потому что yaml.load может использоваться в другом месте в кодовой базе. Однако в моем случае это было хорошим решением.
@matthhan решил это за меня. Спасибо!
Я столкнулся с той же ошибкой и решил проблему, изменив
yaml_load = yaml.load
к
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
вdetectron/utils/env.py
Не уверен, что это верное решение в каждом случае, потому что yaml.load может использоваться в другом месте в кодовой базе. Однако в моем случае это было хорошим решением.
Это действительно работает!! Спасибо ~
Другой обходной путь - откатить pyyaml до версии 3.12, поскольку детектор изначально кажется построенным на этой версии. Аналогичная проблема есть на https://github.com/facebookresearch/DensePose/issues/216
Я получаю ту же ошибку, но мой pyyaml = 3.12, мне нужна помощь.
Системная информация
Операционная система: 16.04
Версия компилятора: 2.7
Версия CUDA: 9
Привет,
Я не уверен, связана ли проблема с вами или pyyaml, но я только что завершил чистую сборку и получил следующую ошибку при запуске примера infer_simple.py с pyyaml версии 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 ...
Я откатил версию до 4.2, и она работает нормально:
pip install pyyaml == 4.2b2Системная информация
- Операционная система: 18.04
- Версия компилятора: 3.6
- Версия CUDA: 10
- Версия cuDNN: 9
- Версия драйвера NVIDIA: 415
- Модели GPU (для всех устройств, если они не все одинаковые): 1080ti
PYTHONPATH
переменная среды: нет данныхpython --version
вывод: 3.6.7- Что-нибудь еще, что кажется актуальным:?
привет, я хочу знать, как вы скомпилируете caffe2 с помощью cuda10. Ждем Вашего ответа.
Делюсь своим опытом на случай, если это кому-то поможет: у меня была такая же проблема на компьютере с Ubuntu 16.04, Cuda 9.0, Python 3.7. Мы попробовали предложения из первых двух сообщений и попытались принудительно установить PyYAML 3.12, но безрезультатно. Проверив строки из config.py, в которых произошла ошибка, мы поняли, что config.py в контейнере докеров была более старой версией, чем та, которая была загружена с помощью git clone (!?!). При копировании последней версии в контейнер докера вместе с изменениями в env.py в сообщении @matthhan мы смогли запустить его.
Самый полезный комментарий
Я столкнулся с той же ошибкой и решил проблему, изменив
yaml_load = yaml.load
к
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
в
detectron/utils/env.py
Не уверен, что это верное решение в каждом случае, потому что yaml.load может использоваться в другом месте в кодовой базе. Однако в моем случае это было хорошим решением.