Pytorch 모델 변환, pth - > onnx - > trt (TensorRT 엔진)
pth->onnx
##
torch.onnx onnx , 。
** :**
, torch.onnx 。 :
heads {'hm': 1, 'wh': 2, 'hps': 34, 'reg': 2, 'hm_hp': 17, 'hp_offset': 2}
Centerpose onnx , , 。
##tensor.size(dim) onnx Gather[0]
tensor.size(dim) tensor.shape[1] , onnx Gather[0] , , TensorRT 。
** :**
, tensor, 。
## onnx
‘%’ , ATen , torch/onnx/symbolic_opset9.py 。
/usr/local/lib/python3.6/dist-packages/torch/onnx/utils.py:562: UserWarning: ONNX export failed on ATen operator remainder because torch.onnx.symbolic_opset9.remainder does not exist
.format(op_name, opset_version, op_name))
Traceback (most recent call last):
File "transfer_centernet_dlav0_to_onnx2.py", line 65, in
onnx_module = torch.onnx.export(model,img,'multipose_dlav0_1x_modellast_process.onnx',verbose=True)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/__init__.py", line 132, in export
strip_doc_string, dynamic_axes)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/utils.py", line 64, in export
example_outputs=example_outputs, strip_doc_string=strip_doc_string, dynamic_axes=dynamic_axes)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/utils.py", line 329, in _export
_retain_param_name, do_constant_folding)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/utils.py", line 225, in _model_to_graph
_disable_torch_constant_prop=_disable_torch_constant_prop)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/utils.py", line 127, in _optimize_graph
graph = torch._C._jit_pass_onnx(graph, operator_export_type)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/__init__.py", line 163, in _run_symbolic_function
return utils._run_symbolic_function(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/utils.py", line 563, in _run_symbolic_function
op_fn = sym_registry.get_registered_op(op_name, '', opset_version)
File "/usr/local/lib/python3.6/dist-packages/torch/onnx/symbolic_registry.py", line 91, in get_registered_op
return _registry[(domain, version)][opname]
KeyError: 'remainder'
** :**
torch/onnx/symbolic_opset9.py remainder ,
@parse_args( 'v', 'v')
def remainder(g,input,division):
return g.op("Remainder",input,division)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
yolov4 목표 탐지 기교 향상증가합니다.cfg 파일의 네트워크 해상도(height=608,width=608 또는 32의 배수)를 사용하면 정밀도를 높일 수 있습니다. 검측할 모든 대상에 대해 훈련 데이터 집합은 최소한 비슷한 대상이 있어야 하며...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.