MMdnn icon indicating copy to clipboard operation
MMdnn copied to clipboard

Problem converting Pytorch mobilenet_v2 to Tensorflow

Open kyhoolee opened this issue 5 years ago • 2 comments

Problem: It's seem like mmdnn hasn't support convert Pytorch mobilenet_v2 to IR format

Platform: ubuntu 18.04

Python version: 3.6

  • mmdnn==0.3.0

Source framework with version:

  • torch==1.2.0
  • torchvision==0.4.0

Destination framework with version:

  • tensorflow==1.15.1

Model - download with mmdownload

mmdownload -f pytorch -n mobilenet_v2 -o ./

Running scripts:

mmdownload -f pytorch -n mobilenet_v2 -o ./
mmtoir -f pytorch -d mobilenet_v2 --inputShape 3,224,224 -n imagenet_mobilenet_v2.pth

Error message:

Traceback (most recent call last):
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/bin/mmtoir", line 8, in <module>
    sys.exit(_main())
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/_script/convertToIR.py", line 192, in _main
    ret = _convert(args)
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/_script/convertToIR.py", line 92, in _convert
    parser = PytorchParser(model, inputshape[0])
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/pytorch/pytorch_parser.py", line 85, in __init__
    self.pytorch_graph.build(self.input_shape)
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/pytorch/pytorch_graph.py", line 124, in build
    trace.set_graph(PytorchGraph._optimize_graph(trace.graph(), False))
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/pytorch/pytorch_graph.py", line 74, in _optimize_graph
    graph = torch._C._jit_pass_onnx(graph, aten)
TypeError: _jit_pass_onnx(): incompatible function arguments. The following argument types are supported:
    1. (arg0: torch::jit::Graph, arg1: torch._C._onnx.OperatorExportTypes) -> torch::jit::Graph

Detail log error: log.txt

kyhoolee avatar Jul 29 '20 08:07 kyhoolee

Updated: I try with mmdnn==0.3.1 It show different error

mmtoir -f pytorch -d mobilenet_v2 --inputShape 3,224,224 -n imagenet_mobilenet_v2.pth 
Traceback (most recent call last):
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/bin/mmtoir", line 8, in <module>
    sys.exit(_main())
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/_script/convertToIR.py", line 197, in _main
    ret = _convert(args)
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/_script/convertToIR.py", line 120, in _convert
    parser.run(args.dstPath)
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/common/DataStructure/parser.py", line 22, in run
    self.gen_IR()
  File "/home/kylee/Software/anaconda3/envs/mmdnn_tut/lib/python3.6/site-packages/mmdnn/conversion/pytorch/pytorch_parser.py", line 100, in gen_IR
    node_type = PytorchParser.layer_map[onnx_node_type]
KeyError: 'onnx::Clip'

It's seem like mmdnn 0.3.1 still does not support convert pytorch mobilenet_v2 to IR

kyhoolee avatar Jul 29 '20 08:07 kyhoolee

@kyhoolee , thank you very much for the feedback. We will look into this issue.

linmajia avatar Jul 29 '20 10:07 linmajia