Download lib/python3.9/site-packages/caffe2/python/_import_c_extension.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 2.25 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/caffe2/python/_import_c_extension.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/caffe2/python/_import_c_extension.py
-
curl -L -o _import_c_extension.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/caffe2/python/_import_c_extension.py
2.25 kB
| ## @package _import_c_extension | |
| # Module caffe2.python._import_c_extension | |
| import atexit | |
| import logging | |
| import sys | |
| from caffe2.python import extension_loader | |
| # We will first try to load the gpu-enabled caffe2. If it fails, we will then | |
| # attempt to load the cpu version. The cpu backend is the minimum required, so | |
| # if that still fails, we will exit loud. | |
| with extension_loader.DlopenGuard(): | |
| has_hip_support = False | |
| has_cuda_support = False | |
| has_gpu_support = False | |
| try: | |
| from caffe2.python.caffe2_pybind11_state_gpu import * # noqa | |
| if num_cuda_devices(): # noqa | |
| has_gpu_support = has_cuda_support = True | |
| except ImportError as gpu_e: | |
| logging.info('Failed to import cuda module: {}'.format(gpu_e)) | |
| try: | |
| from caffe2.python.caffe2_pybind11_state_hip import * # noqa | |
| # we stop checking whether we have AMD GPU devices on the host, | |
| # because we may be constructing a net on a machine without GPU, | |
| # and run the net on another one with GPU | |
| has_gpu_support = has_hip_support = True | |
| logging.info('This caffe2 python run has AMD GPU support!') | |
| except ImportError as hip_e: | |
| logging.info('Failed to import AMD hip module: {}'.format(hip_e)) | |
| logging.warning( | |
| 'This caffe2 python run failed to load cuda module:{},' | |
| 'and AMD hip module:{}.' | |
| 'Will run in CPU only mode.'.format(gpu_e, hip_e)) | |
| try: | |
| from caffe2.python.caffe2_pybind11_state import * # noqa | |
| except ImportError as cpu_e: | |
| logging.critical( | |
| 'Cannot load caffe2.python. Error: {0}'.format(str(cpu_e))) | |
| sys.exit(1) | |
| # libcaffe2_python contains a global Workspace that we need to properly delete | |
| # when exiting. Otherwise, cudart will cause segfaults sometimes. | |
| atexit.register(on_module_exit) # noqa | |
| # Add functionalities for the TensorCPU interface. | |
| def _TensorCPU_shape(self): | |
| return tuple(self._shape) | |
| def _TensorCPU_reshape(self, shape): | |
| return self._reshape(list(shape)) | |
| TensorCPU.shape = property(_TensorCPU_shape) # noqa | |
| TensorCPU.reshape = _TensorCPU_reshape # noqa | |