Download lib/python3.9/site-packages/caffe2/python/onnx/bin/conversion.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 2.85 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/caffe2/python/onnx/bin/conversion.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/caffe2/python/onnx/bin/conversion.py
-
curl -L -o conversion.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/caffe2/python/onnx/bin/conversion.py
2.85 kB
| ## @package onnx | |
| # Module caffe2.python.onnx.bin.conversion | |
| import json | |
| from caffe2.proto import caffe2_pb2 | |
| import click | |
| from onnx import ModelProto | |
| from caffe2.python.onnx.backend import Caffe2Backend as c2 | |
| import caffe2.python.onnx.frontend as c2_onnx | |
| def caffe2_to_onnx(caffe2_net, | |
| caffe2_net_name, | |
| caffe2_init_net, | |
| value_info, | |
| output): | |
| c2_net_proto = caffe2_pb2.NetDef() | |
| c2_net_proto.ParseFromString(caffe2_net.read()) | |
| if not c2_net_proto.name and not caffe2_net_name: | |
| raise click.BadParameter( | |
| 'The input caffe2 net does not have name, ' | |
| '--caffe2-net-name must be provided') | |
| c2_net_proto.name = caffe2_net_name or c2_net_proto.name | |
| if caffe2_init_net: | |
| c2_init_net_proto = caffe2_pb2.NetDef() | |
| c2_init_net_proto.ParseFromString(caffe2_init_net.read()) | |
| c2_init_net_proto.name = '{}_init'.format(caffe2_net_name) | |
| else: | |
| c2_init_net_proto = None | |
| if value_info: | |
| value_info = json.loads(value_info) | |
| onnx_model = c2_onnx.caffe2_net_to_onnx_model( | |
| predict_net=c2_net_proto, | |
| init_net=c2_init_net_proto, | |
| value_info=value_info) | |
| output.write(onnx_model.SerializeToString()) | |
| def onnx_to_caffe2(onnx_model, output, init_net_output): | |
| onnx_model_proto = ModelProto() | |
| onnx_model_proto.ParseFromString(onnx_model.read()) | |
| init_net, predict_net = c2.onnx_graph_to_caffe2_net(onnx_model_proto) | |
| init_net_output.write(init_net.SerializeToString()) | |
| output.write(predict_net.SerializeToString()) | |