mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Confusing backtraces are issued to users when they run Caffe2 scripts (or tests) on PyTorch builds without Caffe2 enabled through `BUILD_CAFFE2=1` This PR adds warnings (in more than one place) to return a friendly message for the user, helping them to overcome the problem by themselves Pull Request resolved: https://github.com/pytorch/pytorch/pull/73770 Approved by: https://github.com/BowenBao, https://github.com/malfet, https://github.com/garymm
25 lines
1016 B
Python
25 lines
1016 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 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
|