microsoft / MMdnn

MMdnn is a set of tools to help users inter-operate among different deep learning frameworks. E.g. model conversion and visualization. Convert models between Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx and CoreML.
MIT License
5.8k stars 965 forks source link

Can't convert from Core ML to IR (then to Tensorflow Lite) #804

Open aof-github opened 4 years ago

aof-github commented 4 years ago

Hello,

I'm trying to conver a Core ML model (activity classification) to Tensorflow Lite. So it looks like I need conver to a IR model first. But it doesn't work for me.

Following instrutions of https://github.com/Microsoft/MMdnn/blob/master/mmdnn/conversion/coreml/README.md After installation I execute this command I:>mmtoir -f coreml -d model -n model.mlmodel --dstNodeName MMdnn_Output

And get error messages below.

I also tested with the example of $ mmtoir -f coreml -d mobilenet -n MobileNet.mlmodel --dstNodeName MMdnn_Output Which works.

Can you help me with? Thanks in advance.

ERROR MESSAGES Traceback (most recent call last): File "c:\users\user\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "c:\users\user\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\Scripts\mmtoir.exe__main__.py", line 7, in File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\mmdnn\conversion_script\convertToIR.py", line 192, in _main ret = _convert(args) File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\mmdnn\conversion_script\convertToIR.py", line 115, in _convert parser.run(args.dstPath) File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\mmdnn\conversion\common\DataStructure\parser.py", line 22, in run self.gen_IR() File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\mmdnn\conversion\coreml\coreml_parser.py", line 124, in gen_IR self.rename_InputLayer(current_node) File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\mmdnn\conversion\coreml\coreml_parser.py", line 645, in rename_InputLayer assert False AssertionError

Platform (like ubuntu 16.04/win10): Win10

Python version: 3.6.8 32 bits

Source framework with version (like Tensorflow 1.4.1 with GPU):

Destination framework with version (like CNTK 2.3 with GPU):

Pre-trained model path (webpath or webdisk path):

Running scripts:

emy14 commented 4 years ago

Same for me, its working with the examples but not with my model which is an Image Classifier and not a Neural Network Classifier.

I have the same on Mac OS Catalina:

Traceback (most recent call last): File "/Users/user/.pyenv/versions/3.6.5/bin/mmtoir", line 11, in sys.exit(_main()) File "/Users/user/.pyenv/versions/3.6.5/lib/python3.6/site-packages/mmdnn/conversion/_script/convertToIR.py", line 192, in _main ret = _convert(args) File "/Users/user/.pyenv/versions/3.6.5/lib/python3.6/site-packages/mmdnn/conversion/_script/convertToIR.py", line 110, in _convert parser = CoremlParser(args.network) File "/Users/user/.pyenv/versions/3.6.5/lib/python3.6/site-packages/mmdnn/conversion/coreml/coreml_parser.py", line 70, in init assert False AssertionError

I think it's something to do with our model... Mine was generated with the tool CreateML on xCode

(Tried with differents versions of Python (until 3.5.4) and differents versions of the coremltools (to 0.8) but nothing works)