こんにちは、
問題があなたにあるのかpyyamlにあるのかはわかりませんが、クリーンビルドを完了したばかりで、pyyamlバージョン5.1でinfer_simple.pyの例を実行すると次のエラーが発生します
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
環境変数:NApython --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がコードベースの他の場所で使用されている可能性があるため、これがすべての場合に有効なソリューションであるかどうかはわかりません。ただし、私の場合、これは適切な回避策でした。
それは実際に動作します!! Thx〜
別の回避策は、pyyamlを3.12バージョンにロールバックすることです。これは、detectronが最初はそのバージョンに基づいて構築されているように見えるためです。 同様の問題はhttps://github.com/facebookresearch/DensePose/issues/216にあります
同じエラーが発生しますが、pyyaml = 3.12、助けが必要です。
システムインフォメーション
オペレーティングシステム:16.04
コンパイラバージョン:2.7
CUDAバージョン:9
こんにちは、
問題があなたにあるのかpyyamlにあるのかはわかりませんが、クリーンビルドを完了したばかりで、pyyamlバージョン5.1でinfer_simple.pyの例を実行すると次のエラーが発生します
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
環境変数:NApython --version
出力:3.6.7- 関連すると思われる他の何か:?
こんにちは、caffe2をcuda10でどのようにコンパイルするのか知りたいです。 お返事を楽しみにしています。
誰かに役立つ場合に備えて、私の経験を共有しています。Ubuntu16.04、Cuda 9.0、Python3.7を搭載したコンピューターで同じ問題が発生しました。 最初の2つの投稿からの提案を試し、PyYAML3.12の強制インストールを試みましたが無駄になりました。 エラーが発生したconfig.pyの行を確認したところ、Dockerコンテナーのconfig.pyは、git clone(!?!)を使用してダウンロードしたものよりも古いバージョンであることがわかりました。 @matthhanの投稿のコピーすると、それを実行できるようになりました。
最も参考になるコメント
同じエラーが発生し、変更して問題を解決しました
yaml_load = yaml.load
に
yaml_load = lambda x: yaml.load(x, Loader=yaml.Loader)
detectron/utils/env.py
yaml.loadがコードベースの他の場所で使用されている可能性があるため、これがすべての場合に有効なソリューションであるかどうかはわかりません。 ただし、私の場合、これは適切な回避策でした。