pytorch/caffe2/proto/__init__.py
Richard Barnes b9e7b35912 Remove caffe2 from more build files (#125898)
Co-authored-by: Aaron Gokaslan <aaronGokaslan@gmail.com>
Pull Request resolved: https://github.com/pytorch/pytorch/pull/125898
Approved by: https://github.com/Skylion007
2024-05-13 18:37:59 +00:00

24 lines
909 B
Python

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 no longer present in PyTorch.')
raise
try:
from caffe2.caffe2.fb.session.proto import session_pb2
except ImportError:
pass