Skip to content

[RELAY][ONNX] Support Deriving channels when it is not provided in AlterLayout #2941

@mnboos

Description

@mnboos

I tried to compile ResNet-18 from the official onnx model zoo (https://github.com/onnx/models/tree/master/models/image_classification/resnet), which failed with this error:

Compiling for target:  llvm
...100%, 0.02 MB, 75 KB/s, 0 seconds passed
Traceback (most recent call last):
  File "src/tvm/compile_model.py", line 141, in <module>
    compile_model(model_path=onnx_model_file, output_dir=target_directory)
  File "src/tvm/compile_model.py", line 90, in compile_model
    graph_json, lib, params = relay.build_module.build(func=relay_func, target=target, params=params)
  File "/usr/tvm/python/tvm/relay/build_module.py", line 276, in build
    func = optimize(func, target, params)
  File "/usr/tvm/python/tvm/relay/build_module.py", line 203, in optimize
    func = ir_pass.alter_op_layout(func)
  File "/usr/tvm/python/tvm/relay/ir_pass.py", line 741, in alter_op_layout
    return _ir_pass.AlterOpLayout(expr)
  File "/usr/tvm/python/tvm/_ffi/_ctypes/function.py", line 190, in __call__
    raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
  [bt] (8) /usr/tvm/build/libtvm.so(+0x67cbdd) [0x7f887984fbdd]
  [bt] (7) /usr/tvm/build/libtvm.so(+0x4e14cd) [0x7f88796b44cd]
  [bt] (6) /usr/tvm/build/libtvm.so(+0x4e4ae8) [0x7f88796b7ae8]
  [bt] (5) /usr/tvm/build/libtvm.so(+0x4e3794) [0x7f88796b6794]
  [bt] (4) /usr/tvm/build/libtvm.so(+0x67dfe4) [0x7f8879850fe4]
  [bt] (3) /usr/tvm/build/libtvm.so(+0x6561a0) [0x7f88798291a0]
  [bt] (2) /usr/tvm/build/libtvm.so(+0x6508b0) [0x7f88798238b0]
  [bt] (1) /usr/tvm/build/libtvm.so(+0x64fff4) [0x7f8879822ff4]
  [bt] (0) /usr/tvm/build/libtvm.so(+0x8d694b) [0x7f8879aa994b]
  File "/usr/tvm/python/tvm/_ffi/_ctypes/function.py", line 55, in cfun
    rv = local_pyfunc(*pyargs)
  File "/usr/tvm/python/tvm/relay/op/nn/_nn.py", line 134, in alter_op_layout_conv2d
    return topi.nn.conv2d_alter_layout(attrs, inputs, tinfos, op)
  File "</usr/local/lib/python3.6/dist-packages/decorator.py:decorator-gen-18>", line 2, in conv2d_alter_layout
  File "/usr/tvm/python/tvm/target.py", line 356, in dispatch_func
    return dispatch_dict[k](*args, **kwargs)
  File "/usr/tvm/topi/python/topi/x86/conv2d.py", line 297, in _alter_conv2d_layout
    out_channel = attrs.get_int("channels") if F == sym else attrs.get_int("channels").value
AttributeError: 'NoneType' object has no attribute 'value'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions