| 123456789101112131415161718192021222324 |
- import warnings
- # NOTE: we have to import python protobuf here **before** we load cpp extension.
- # Otherwise it breaks under certain build conditions if cpp implementation of
- # protobuf is used. Presumably there's some registry in protobuf library and
- # python side has to initialize the dictionary first, before static
- # initialization in python extension does so. Otherwise, duplicated protobuf
- # descriptors will be created and it can lead to obscure errors like
- # "Parameter to MergeFrom() must be instance of same class:
- # expected caffe2.NetDef got caffe2.NetDef."
- #
- # This has to be done for all python targets, so listing them here
- try:
- from caffe2.proto import caffe2_pb2, metanet_pb2, torch_pb2
- except ImportError:
- warnings.warn('Caffe2 support is not enabled in this PyTorch build. '
- 'Please enable Caffe2 by building PyTorch from source with `BUILD_CAFFE2=1` flag.')
- raise
- try:
- from caffe2.caffe2.fb.session.proto import session_pb2
- except ImportError:
- pass
|