AWS SageMaker supports TensorFlow and their examples generates a model.tar.gz. This contains
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
@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:
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.