pytorch转onnx问题
Fail to export the model in PyTorch
1. RuntimeError: ONNX export failed: Couldn't export operator aten::rsqrt
2. RuntimeError: ONNX export failed: Couldn't export operator aten::reshape
原因:pytorch-1.0.1不支持reshape操作
解决:~/anaconda3/envs/py36/lib/python3.6/site-packages/torch/onnx/symbolic.py
在该文件中添加代码
def reshape(g, self, shape): return view(g, self, shape) def reshape_as(g, self, other): shape = g.op('Shape', other) return reshape(g, self, shape)
3. ONNX export failed on ATen operator group_norm because torch.onnx.symbolic.group_norm does not exist
解决:~/anaconda3/envs/py36/lib/python3.6/site-packages/torch/onnx/symbolic.py
@parse_args('v', 'i', 'v', 'v', 'f', 'i') def group_norm(g, input, num_groups, weight, bias, eps, cudnn_enabled): return g.op("ATen", input, weight, bias, num_groups_i=num_groups, eps_f=eps, cudnn_enabled_i=cudnn_enabled, operator_s="group_norm")