frame

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Tensorflow for other custom program

Hello,
I am using with raspberry pi and I want to run my own program with custom created graph. Is there any way I can do with movidius???

Comments

  • 11 Comments sorted by Votes Date Added
  • @smit.idevices You should be able to do this, although you will need to use a graph file compiled by the NCSDK. You can generate a compatible graph file by using mvnCCompile with your custom network. See https://movidius.github.io/ncsdk/tools/compile.html for more information regarding compiling a graph file.

    In regards to writing your own program, you can visit https://movidius.github.io/ncsdk/c_api/ for more information on the C API and for the Python API please visit https://movidius.github.io/ncsdk/py_api/. You may also feel free to view and re-use example code from the NCAPP ZOO at: https://github.com/Movidius/ncappzoo. Good luck with your project!

  • @Tome_at_Intel I am using tensorflow object detection model ssd_mobilenet_v1_coco and I have a frozen .pb graph and checkpoint files like model.ckpt.meta/.index etc. I tried using model.ckpt.meta and I got following error (input and output nodes are default):

    smit@raspberrypi:~/DevelopmentGit/models/research $ mvNCCompile object_detection/model/model.ckpt.meta -in input_tensor -o network.graph
    mvNCCompile v02.00, Copyright @ Movidius Ltd 2016

    /usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py:814: DeprecationWarning: builtin type EagerTensor has no module attribute
    EagerTensor = c_api.TFE_Py_InitEagerTensor(_EagerTensorBase)
    /usr/local/lib/python3.5/dist-packages/tensorflow/python/util/tf_inspect.py:45: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
    if d.decorator_argspec is not None), _inspect.getargspec(target))
    /usr/local/lib/python3.5/dist-packages/tensorflow/python/util/tf_inspect.py:45: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
    if d.decorator_argspec is not None), _inspect.getargspec(target))
    Traceback (most recent call last):
    File "/usr/local/bin/mvNCCompile", line 118, in
    create_graph(args.network, args.inputnode, args.outputnode, args.outfile, args.nshaves, args.inputsize, args.weights)
    File "/usr/local/bin/mvNCCompile", line 104, in create_graph
    net = parse_tensor(args, myriad_config)
    File "/usr/local/bin/ncsdk/Controllers/TensorFlowParser.py", line 194, in parse_tensor
    inputTensor = graph.get_tensor_by_name(inputnode + ':0')
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3328, in get_tensor_by_name
    return self.as_graph_element(name, allow_tensor=True, allow_operation=False)
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3156, in as_graph_element
    return self._as_graph_element_locked(obj, allow_tensor, allow_operation)
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3198, in _as_graph_element_locked
    "graph." % (repr(name), repr(op_name)))
    KeyError: "The name 'input_tensor:0' refers to a Tensor which does not exist. The operation, 'input_tensor', does not exist in the graph."

  • @smit.idevices Have you solved the issue? I am trying to compile a custom model, and I know the input and output nodes, but when I try to compile it shows me the same error as you: The name 'tensorname:0' refers to a Tensor which does not exist. The operation, 'tensorname', does not exist in the graph.

  • @albertcliment no as movidius is not supporting SSD mobilenet from tensorflow object detection model

  • looking forward to a SSD Mobilenet support for Tensorflow in the future!

  • @WuXinyang There currently isn't support for SSD MobileNet for TensorFlow. We do have TinyYoloV2 Tensorflow support via Darkflow transformation if you are interested @ https://github.com/movidius/ncsdk/releases/tag/v1.12.00.01

  • Thank you for the answer. I understood the flow but when I am converting my meta file to graph I am encountering following error:

    Traceback (most recent call last):
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1323, in _do_call
    return fn(*args)
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1293, in _run_fn
    self._extend_graph()
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1354, in _extend_graph
    self._session, graph_def.SerializeToString(), status)
    File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit
    c_api.TF_GetCode(self.status.status))
    tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'Unpack' with these attrs. Registered devices: [CPU], Registered kernels:
    device='CPU'; T in [DT_BOOL]
    device='CPU'; T in [DT_FLOAT]
    device='CPU'; T in [DT_INT32]

     [[Node: unstack_20 = Unpack[T=DT_STRING, axis=0, num=24, _device="/device:GPU:0"](prefetch_queue_Dequeue:20)]]
    

    Edit:
    This is a checkpoint file from tensorflow object detection API and it is trained on GPU with tf version 1.4

  • @Tome_at_Intel can you please let me know how can I convert my trained check point file into movidius graph??

  • @smit.idevices Converting your network is done using mvNCCompile. You have to specify the input node by using the -in and output node by using the -on flags. In order to help debug your issue, can you provide me with the command that you tried to use to run your network?

  • @smit.idevices @albertcliment hello guys I have the same problems as you, did you solve it? Please give me some help...And @Tome_at_Intel do you know how to fix this problem???

  • @WuXinyang no as SSD Mobilenet for Tesnorflow is still not supported :(

Sign In or Register to comment.