hollance/coreml-survival-guide

DeepLab: output_tensor = "ResizeBilinear_3:0"

Closed this issue · 4 comments

Hi Matthijs,

I downloaded, fine-tuned and froze the model "deeplabv3_mnv2_dm05_pascal_trainval_2018_10_01.tar.gz" from the DeepLab's model zoo.

I am using 'deeplab.py' to convert the model I trained to CoreML format. In your example code in 'deeplab.py', you show how to convert the model "deeplabv3_mnv2_pascal_trainval/frozen_inference_graph.pb". When I inspect the frozen graph of "deeplabv3_mnv2_dm05_pascal_trainval_2018_10_01.tar.gz" with Netron I find that there is no "Bilinear_3:0" layer (it goes up to bilinear_2) and that the mul_1 is called "mul".

May I ask you from what link you downloaded the model you used in your example? I would like to compare that version with the version I downloaded to understand what has changed between them.

Thanks a lot

Kind regards

I downloaded the model from that link, but the model ends at "ResizeBilinear_2", there is no layer named "ResizeBilinear_3". Instead, there is a "ResizeNearestNeighbours" layer at the end (I am not sure if this layer was there in the previous graph).

If I run deeplab.py I get:

ValueError: output name: ResizeBilinear_3:0, was provided, but the Tensorflow graph does not contain a tensor with this name

Perhaps the model was updated (e.g., "Mul_1" seems to be "Mul" now)?

I just downloaded the one from the link I provided and it definitely has a ResizeBilinear_3 and a mul_1. It's possible this got changed in more recent versions, but 2018_01_29 still has them.

Yes, you are right. That version has the ResizeBilinear_3. The newer versions changed that to a "ResizeNearestNeihgbor" layer. Thanks a lot for the response and the link, I can compare the graphs of the two models now.

The newest model also has layers "Slice" and "Shape" that seem not yet supported for conversion with coreml. So the old version is very useful to me right now

Thanks a lot for you fast response