Skip to content

BatchToSpaceND: crops parameter need not be const? #571

@vadimkantorov

Description

@vadimkantorov

I'm trying to convert the OpenSeq2Seq's wav2letter model checkpoints from TensorFlow to ONNX.

It contains BatchToSpaceND ops. In this model the crops argument is Identity, not Const.

However, tfonnx requires crops to be Const.

Failed to convert node import/ForwardPass/w2l_encoder/conv71/SpaceToBatchND
OP=SpaceToDepth
Name=import/ForwardPass/w2l_encoder/conv71/SpaceToBatchND
Inputs:
        Dropout__40:0=Dropout, [64, -1, 768], 10
        import/ForwardPass/w2l_encoder/conv71/SpaceToBatchND/block_shape:0=Const, [1], 6
        import/ForwardPass/w2l_encoder/conv71/concat:0=Identity, [1, 2], 6
Outpus:
        import/ForwardPass/w2l_encoder/conv71/SpaceToBatchND:0=[128, -1, 768], 10
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/tfonnx.py", line 574, in tensorflow_onnx_mapping
    func(g, node, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/onnx_opset/tensor.py", line 915, in version_4
    paddings = node.inputs[2].get_tensor_value()
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/graph.py", line 239, in get_tensor_value
    raise ValueError("get tensor value: {} must be Const".format(self.name))
ValueError: get tensor value: import/ForwardPass/w2l_encoder/conv71/concat must be Const
Failed to convert node import/ForwardPass/w2l_encoder/conv71/BatchToSpaceND
OP=DepthToSpace
Name=import/ForwardPass/w2l_encoder/conv71/BatchToSpaceND
Inputs:
        import/ForwardPass/w2l_encoder/conv71/conv1d/Squeeze:0=Squeeze, [128, -1, 896], 10
        import/ForwardPass/w2l_encoder/conv71/BatchToSpaceND/block_shape:0=Const, [1], 6
        import/ForwardPass/w2l_encoder/conv71/concat_1:0=Identity, [1, 2], 6
Outpus:
        import/ForwardPass/w2l_encoder/conv71/BatchToSpaceND:0=[64, -1, 896], 10
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/tfonnx.py", line 574, in tensorflow_onnx_mapping
    func(g, node, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/onnx_opset/tensor.py", line 859, in version_4
    cls._convert_since_4(ctx, node, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/onnx_opset/tensor.py", line 871, in _convert_since_4
    crops = node.inputs[2].get_tensor_value()
  File "/usr/local/lib/python3.6/dist-packages/tf2onnx/graph.py", line 239, in get_tensor_value
    raise ValueError("get tensor value: {} must be Const".format(self.name))
ValueError: get tensor value: import/ForwardPass/w2l_encoder/conv71/concat_1 must be Const

` `

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions