Community
cancel
Showing results for 
Search instead for 
Did you mean: 
L__LLL
Beginner
96 Views

oh,please hlelp me. [ DEBUG ] [ infer:152 ] Op: TensorArrayGatherV3

ArraySizeV3
[ 2019-03-30 00:23:06,397 ] [ DEBUG ] [ infer:152 ]  Op: TensorArraySizeV3
[ 2019-03-30 00:23:06,397 ] [ DEBUG ] [ infer:163 ]  Inputs:
[ 2019-03-30 00:23:06,398 ] [ DEBUG ] [ infer:40 ]  input[0]: shape = [], value = ssd_vgg_300/output/test/TensorArray_4/Output_0/Data_
[ 2019-03-30 00:23:06,398 ] [ DEBUG ] [ infer:40 ]  input[1]: shape = [], value = <UNKNOWN>
[ 2019-03-30 00:23:06,398 ] [ DEBUG ] [ infer:165 ]  Outputs:
[ 2019-03-30 00:23:06,398 ] [ DEBUG ] [ infer:40 ]  output[0]: shape = [], value = 1
[ 2019-03-30 00:23:06,399 ] [ DEBUG ] [ infer:150 ]  --------------------
[ 2019-03-30 00:23:06,399 ] [ DEBUG ] [ infer:151 ]  Partial infer for ssd_vgg_300/output/test/TensorArrayStack_1/range
[ 2019-03-30 00:23:06,399 ] [ DEBUG ] [ infer:152 ]  Op: Range
[ 2019-03-30 00:23:06,399 ] [ DEBUG ] [ infer:163 ]  Inputs:
[ 2019-03-30 00:23:06,399 ] [ DEBUG ] [ infer:40 ]  input[1]: shape = [], value = 1
[ 2019-03-30 00:23:06,400 ] [ DEBUG ] [ infer:40 ]  input[0]: shape = [], value = 0
[ 2019-03-30 00:23:06,400 ] [ DEBUG ] [ infer:40 ]  input[2]: shape = [], value = 1
[ 2019-03-30 00:23:06,400 ] [ DEBUG ] [ infer:165 ]  Outputs:
[ 2019-03-30 00:23:06,400 ] [ DEBUG ] [ infer:40 ]  output[0]: shape = [1], value = [0]
[ 2019-03-30 00:23:06,401 ] [ DEBUG ] [ infer:150 ]  --------------------
[ 2019-03-30 00:23:06,401 ] [ DEBUG ] [ infer:151 ]  Partial infer for ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3
[ 2019-03-30 00:23:06,401 ] [ DEBUG ] [ infer:152 ]  Op: TensorArrayGatherV3
[ ERROR ]  Cannot infer shapes or values for node "ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3".
[ ERROR ]
[ ERROR ]
[ ERROR ]  It can happen due to bug in custom shape infer function <function TensorArrayGather.array_infer at 0x00000278B757C6A8>.
[ ERROR ]  Or because the node inputs have incorrect values/shapes.
[ ERROR ]  Or because input shapes are incorrect (embedded to the model or passed via --input_shape).
[ 2019-03-30 00:23:06,410 ] [ DEBUG ] [ infer:215 ]  Node "ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3" attributes: {'pb': name: "ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3"
op: "TensorArrayGatherV3"
input: "ssd_vgg_300/output/test/TensorArray_4"
input: "ssd_vgg_300/output/test/TensorArrayStack_1/range"
input: "ssd_vgg_300/output/test/while/Exit_3"
attr {
  key: "_class"
  value {
    list {
    }
  }
}
attr {
  key: "dtype"
  value {
    type: DT_FLOAT
  }
}
attr {
  key: "element_shape"
  value {
    shape {
      dim {
        size: 200
      }
      dim {
        size: 4
      }
    }
  }
}
, 'kind': 'op', 'name': 'ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3', 'op': 'TensorArrayGatherV3', 'precision': 'FP32', 'IE': [('layer', [('id', <function Op.substitute_ie_attrs.<locals>.<lambda> at 0x00000278BD3BC840>), 'name', 'precision', 'type'], [('data', [], []), '@ports', '@consts'])], 'dim_attrs': ['channel_dims', 'batch_dims', 'axis', 'spatial_dims'], 'shape_attrs': ['window', 'stride', 'pad', 'output_shape', 'shape'], 'is_output_reachable': True, 'is_undead': False, 'is_const_producer': False, 'type': 'TensorArrayGatherV3', 'infer': <function TensorArrayGather.array_infer at 0x00000278B757C6A8>, 'element_shape': array([200,   4], dtype=int64), 'is_partial_inferred': False}
[ ERROR ]  Stopped shape/value propagation at "ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3" node.
 For more information please refer to Model Optimizer FAQ (<INSTALL_DIR>/deployment_tools/documentation/docs/MO_FAQ.html), question #38.
[ 2019-03-30 00:23:06,414 ] [ DEBUG ] [ main:331 ]  Traceback (most recent call last):
  File "C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer\mo\middle\passes\infer.py", line 153, in partial_infer
    node.infer(node)
  File "C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer\extensions\ops\TensorArrayGather.py", line 47, in array_infer
    assert symm_match_shapes(ta_node['element_shape'], node.element_shape)
AssertionError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer\mo\main.py", line 325, in main
    return driver(argv)
  File "C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer\mo\main.py", line 267, in driver
    mean_scale_values=mean_scale)
  File "C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer\mo\pipeline\tf.py", line 256, in tf2nx
    partial_infer(graph)
  File "C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer\mo\middle\passes\infer.py", line 217, in partial_infer
    refer_to_faq_msg(38)) from err
mo.utils.error.Error: Stopped shape/value propagation at "ssd_vgg_300/output/test/TensorArrayStack_1/TensorArrayGatherV3" node.
 For more information please refer to Model Optimizer FAQ (<INSTALL_DIR>/deployment_tools/documentation/docs/MO_FAQ.html), question #38.

 

 

 

/////////////////////////////////////

 

    # select best scores
    predictions = predictions[:, :, 1:] # (N, num_aboxes, num_classes - 1)
    classes = tf.argmax(predictions, axis=2) + 1 # (N, num_aboxes)
    scores = tf.reduce_max(predictions, axis=2) # (N, num_aboxes)
    mask = tf.greater(scores, confidence_threshold) # (N, num_aboxes)
    classes = classes * tf.cast(mask, classes.dtype) # (N, num_aboxes)
    scores = scores * tf.cast(mask, scores.dtype) # (N, num_aboxes)

    # select best classes and bounding boxes
    scores, indexes = tf.nn.top_k(scores, k=top_k, sorted=True) # (N, top_k)
    def gather_fn(classes, localizations, indexes):
        return tf.gather(classes, indexes), tf.gather(localizations, indexes)
    result = tf.map_fn(
        lambda x: gather_fn(x[0], x[1], x[2]),
        (classes, localizations, indexes),
        dtype = (classes.dtype, localizations.dtype),
        parallel_iterations = 10,
        back_prop = False,
        swap_memory = False,
        infer_shape = True
    )

///////////////////

 

 

Is op: "TensorArrayGatherV3" supported?

0 Kudos
2 Replies
Shubha_R_Intel
Employee
96 Views

Dear LLL,

the error has nothing to do with TensorArrayGatherV3 support. As revealed by MO FAQ documentation,

38. What does the message "Stopped shape/value propagation at node" mean?

Model Optimizer cannot infer shapes or values for the specified node. It can happen because of a bug in the custom shape infer function, because the node inputs have incorrect values/shapes, or because the input shapes are incorrect.

The MO error actually tells you this too:

[ ERROR ]  It can happen due to bug in custom shape infer function <function TensorArrayGather.array_infer at 0x00000278B757C6A8>.
[ ERROR ]  Or because the node inputs have incorrect values/shapes.
[ ERROR ]  Or because input shapes are incorrect (embedded to the model or passed via --input_shape).

Basically MO is unable to infer the shape of your model input.

Can you kindly tell me which model you're trying to convert, and also the exact mo command you used ?

Thanks for using OpenVino !

Shubha

L__LLL
Beginner
96 Views

new version has solved my problems.Thanks.

Reply