Download lib/python3.9/site-packages/caffe2/python/onnx/backend_cpp_rep.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 1.86 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/caffe2/python/onnx/backend_cpp_rep.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/caffe2/python/onnx/backend_cpp_rep.py
-
curl -L -o backend_cpp_rep.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/caffe2/python/onnx/backend_cpp_rep.py
1.86 kB
| ## @package onnx | |
| # Module caffe2.python.onnx.backend_rep_cpp | |
| from onnx.backend.base import BackendRep, namedtupledict | |
| # This is a wrapper around C++ Caffe2BackendRep, | |
| # mainly to handle the different input and output types for convenience of Python | |
| class Caffe2CppRep(BackendRep): | |
| def __init__(self, cpp_rep): | |
| super(Caffe2CppRep, self).__init__() | |
| self.__core = cpp_rep | |
| self.__external_outputs = cpp_rep.external_outputs() | |
| self.__external_inputs = cpp_rep.external_inputs() | |
| self.__uninitialized_inputs = cpp_rep.uninitialized_inputs() | |
| def init_net(self): | |
| return self.__core.init_net() | |
| def pred_net(self): | |
| return self.__core.pred_net() | |
| def external_outputs(self): | |
| return self.__core.external_outputs() | |
| def external_inputs(self): | |
| return self.__core.external_inputs() | |
| def run(self, inputs): | |
| output_values = None | |
| if isinstance(inputs, dict): | |
| output_values = self.__core.run(inputs) | |
| elif isinstance(inputs, list) or isinstance(inputs, tuple): | |
| if len(inputs) != len(self.__uninitialized_inputs): | |
| raise RuntimeError('Expected {} values for uninitialized ' | |
| 'graph inputs ({}), but got {}.'.format( | |
| len(self.__uninitialized_inputs), | |
| ', '.join(self.__uninitialized_inputs), | |
| len(inputs))) | |
| input_map = {} | |
| for k, v in zip(self.__uninitialized_inputs, inputs): | |
| input_map[k] = v | |
| output_values = self.__core.run(input_map) | |
| else: | |
| # single input | |
| output_values = self.__core.run([inputs]) | |
| return namedtupledict('Outputs', self.__external_outputs)(*output_values) | |