Thanks for your awesome projects! But I met a problem, I trained a swin transfomer small model using train_custom.py, when I tried to using export_onnx.py to transfer .pth to onnx, it failed, the error as follow:
Traceback (most recent call last):
File "export_onnx.py", line 290, in
output_names=["outs"])
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/init.py", line 309, in export
export_modules_as_functions)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 122, in export
custom_opsets=custom_opsets, export_modules_as_functions=export_modules_as_functions)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 724, in _export
dynamic_axes=dynamic_axes)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 499, in _model_to_graph
graph, params, torch_out, module = _create_jit_graph(model, args)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 440, in _create_jit_graph
graph, torch_out = _trace_and_get_graph_from_model(model, args)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 391, 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/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/jit/_trace.py", line 1166, in _get_trace_graph
outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, kwargs)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, kwargs)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/jit/_trace.py", line 132, in forward
self._force_outplace,
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/jit/_trace.py", line 118, in wrapper
outs.append(self.inner(trace_inputs))
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(input, kwargs)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1098, in _slow_forward
result = self.forward(*input, kwargs)
File "/home/tangjiamin/3_projects/yolov7/yolov7/modeling/meta_arch/yolov7.py", line 296, in forward
batched_inputs, self.training
File "/home/tangjiamin/3_projects/yolov7/yolov7/modeling/meta_arch/yolov7.py", line 230, in preprocess_image
images = [x["image"].to(self.device) for x in batched_inputs]
File "/home/tangjiamin/3_projects/yolov7/yolov7/modeling/meta_arch/yolov7.py", line 230, in
images = [x["image"].to(self.device) for x in batched_inputs]
IndexError: too many indices for tensor of dimension 3
Thanks for your awesome projects! But I met a problem, I trained a swin transfomer small model using train_custom.py, when I tried to using export_onnx.py to transfer .pth to onnx, it failed, the error as follow: Traceback (most recent call last): File "export_onnx.py", line 290, in
output_names=["outs"])
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/init.py", line 309, in export
export_modules_as_functions)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 122, in export
custom_opsets=custom_opsets, export_modules_as_functions=export_modules_as_functions)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 724, in _export
dynamic_axes=dynamic_axes)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 499, in _model_to_graph
graph, params, torch_out, module = _create_jit_graph(model, args)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 440, in _create_jit_graph
graph, torch_out = _trace_and_get_graph_from_model(model, args)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/onnx/utils.py", line 391, 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/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/jit/_trace.py", line 1166, in _get_trace_graph
outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, kwargs)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, kwargs)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/jit/_trace.py", line 132, in forward
self._force_outplace,
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/jit/_trace.py", line 118, in wrapper
outs.append(self.inner(trace_inputs))
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(input, kwargs)
File "/home/tangjiamin/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1098, in _slow_forward
result = self.forward(*input, kwargs)
File "/home/tangjiamin/3_projects/yolov7/yolov7/modeling/meta_arch/yolov7.py", line 296, in forward
batched_inputs, self.training
File "/home/tangjiamin/3_projects/yolov7/yolov7/modeling/meta_arch/yolov7.py", line 230, in preprocess_image
images = [x["image"].to(self.device) for x in batched_inputs]
File "/home/tangjiamin/3_projects/yolov7/yolov7/modeling/meta_arch/yolov7.py", line 230, in
images = [x["image"].to(self.device) for x in batched_inputs]
IndexError: too many indices for tensor of dimension 3
How can I solve this problem?