second.pytorch icon indicating copy to clipboard operation
second.pytorch copied to clipboard

second SpMiddleFHDLite network how to convert to ONNX

Open whzz101 opened this issue 3 years ago • 0 comments

Because car.lite.config use SpMiddleFHDLite network, how can I convert SpMiddleFHDLite to ONNX, I try to convert but failed,

elif ndim == 3: /home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/spconv/ops.py:116: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! int(inverse), int(subm)) /home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/spconv/modules.py:136: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! if input.indices.shape[0] != 0: /home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/spconv/init.py:45: TracerWarning: Converting a tensor to a Python index might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! output_shape = list(indices.shape[:-1]) + shape[indices.shape[-1]:] /home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/spconv/init.py:47: TracerWarning: Converting a tensor to a Python index might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! slices = [flatted_indices[:, i] for i in range(ndim)] Traceback (most recent call last): File "second/zz_infer_second.py", line 141, in demo()
File "second/zz_infer_second.py", line 123, in demo pred = net(example)[0] File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(*input, **kwargs) File "/data/zhou.zhou/project/16_PointPillars/second.pytorch-1.5.1_20220216/second/pytorch/models/voxelnet.py", line 309, in forward torch.onnx.export(self.middle_feature_extractor, (input1, input2), 'SpMiddleFHDLite.onnx', verbose=True, input_names=['voxel_features', "coors"], opset_version=12) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/onnx/init.py", line 230, in export custom_opsets, enable_onnx_checker, use_external_data_format) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/onnx/utils.py", line 91, in export use_external_data_format=use_external_data_format) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/onnx/utils.py", line 639, in _export dynamic_axes=dynamic_axes) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/onnx/utils.py", line 411, in _model_to_graph use_new_jit_passes) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/onnx/utils.py", line 379, in _create_jit_graph graph, torch_out = _trace_and_get_graph_from_model(model, args) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/onnx/utils.py", line 342, in _trace_and_get_graph_from_model torch.jit._get_trace_graph(model, args, strict=False, _force_outplace=False, _return_inputs_states=True) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/jit/_trace.py", line 1148, in _get_trace_graph outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, **kwargs) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(*input, **kwargs) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/jit/_trace.py", line 130, in forward self._force_outplace, File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/jit/_trace.py", line 116, in wrapper outs.append(self.inner(*trace_inputs)) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/nn/modules/module.py", line 725, in _call_impl result = self._slow_forward(*input, **kwargs) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/torch/nn/modules/module.py", line 709, in _slow_forward result = self.forward(*input, **kwargs) File "/data/zhou.zhou/project/16_PointPillars/second.pytorch-1.5.1_20220216/second/pytorch/models/middle.py", line 805, in forward ret = ret.dense() # [1, 64, 2, 250, 250] File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/spconv/init.py", line 81, in dense res = scatter_nd(self.indices.long(), self.features, output_shape) File "/home/cxhpc/zhouzhou/project_envs/P16_second_169/lib/python3.6/site-packages/spconv/init.py", line 49, in scatter_nd ret[slices] = updates.view(*output_shape) IndexError: index 2 is out of bounds for dimension 0 with size 1 *** Error in `python3': munmap_chunk(): invalid pointer: 0x000000007c2b5b00 ***

whzz101 avatar Feb 17 '22 02:02 whzz101