Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6403 Discussions

Does mvNCCompile support models generated from AWS SageMaker?

idata
Employee
603 Views

AWS SageMaker supports TensorFlow and their examples generates a model.tar.gz. This contains

 

     

  • saved_models.pb
  •  

  • variables / variables.index
  •  

  • variables / variables.data-00000-of-00001
  •  

 

I am not able to locate the Movidius documentation how to convert this to a freeze_graph.pb. Also, I do not know what is the -in (input_node_name) nor the -out (output_node_name).

 

Is there a way the mvNCCompile can support this?

 

I saved a sample from the SageMaker example output model file here: https://drive.google.com/file/d/1_3Wec26g5quagY9KCMwY7eRghioWOhR-/view

0 Kudos
2 Replies
idata
Employee
354 Views

@Kez I haven't tried using AWS SageMaker generated models before, but in theory they should work if the NCSDK supports all of the needed operations.

 

The -in and -on options help the compiler to specify the input node and output node names for the compiled model. This can be used to view intermediate results which can be useful for debugging. By default the NCSDK looks for an input node named "input" and a output node named "output" and uses those for the input/output for the compiled model. Not all models use this convention and so these options are provided.

 

For exporting and freezing a graph, you can use TensorFlow's export_inference_model.py script. Although I've only used this with models that have a meta, index, data and checkpoint file (the model you linked has a saved.pb file, a index, file and a data file).

 

Some information about running TensorFlow models can be found at:

 

0 Kudos
idata
Employee
354 Views

Thanks a lot for the feedback.

 

According to a question I posted on AWS forum: https://forums.aws.amazon.com/thread.jspa?messageID=867930, I found the folder that contains the other files (namely, the .pbtxt, .meta, .index, and .data-00000-of-00001 files). Since AWS commented that the files are standard (referencing https://www.tensorflow.org/api_docs/python/tf/estimator/LatestExporter), I went ahead to do a "$ mvNCCompile model.meta", without specifying any of the -in, -on, … I was prompted with the error

 

KeyError: "The name 'input:0' refers to a Tensor which does not exist. The operation, 'input', does not exist in the graph."

 

This was tried with both SDK v1 and SDK v2.

 

I guess there is more exploration to understand the details, so that I can specify why it does not work. I put a sample here: https://drive.google.com/open?id=1oZxhvZ6R1OJH-qGpAgJ8nJ4I802vIgJ8, hopefully some one can figure this out.

 

Thanks.
0 Kudos
Reply