Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when using partition_for_vitis_ai with YOLOX ONNX model #8683

Closed
jlamperez opened this issue Aug 7, 2021 · 6 comments
Closed

Error when using partition_for_vitis_ai with YOLOX ONNX model #8683

jlamperez opened this issue Aug 7, 2021 · 6 comments

Comments

@jlamperez
Copy link

Hi,

I am following the external_yolov3_tutorial.ipynb Jupyter notebook tutorial for compiling a YOLOX-NANO ONNX model for Vitis-AI. But when I try to use partition_for_vitis_ai I am having the next problem:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-49-48276f16561e> in <module>
     10     mod = seq(mod)
     11 
---> 12 mod = partition_for_vitis_ai(mod, params, dpu=vitis_target)
     13 
     14 # We recommend transforming the remaining convolutions after

/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/relay/op/contrib/vitis_ai.py in partition_for_vitis_ai(mod, params, dpu, **opts)
    172     )
    173 
--> 174     return seq(mod)

/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/ir/transform.py in __call__(self, mod)
    159             The updated module after applying this pass.
    160         """
--> 161         return _ffi_transform_api.RunPass(self, mod)
    162 
    163 

tvm/_ffi/_cython/./packed_func.pxi in tvm._ffi._cy3.core.PackedFuncBase.__call__()

tvm/_ffi/_cython/./packed_func.pxi in tvm._ffi._cy3.core.FuncCall()

tvm/_ffi/_cython/./packed_func.pxi in tvm._ffi._cy3.core.FuncCall3()

tvm/_ffi/_cython/./base.pxi in tvm._ffi._cy3.core.CALL()

AttributeError: Traceback (most recent call last):
  7: TVMFuncCall
  6: std::_Function_handler<void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::transform::Pass, tvm::IRModule)>::AssignTypedLambda<tvm::transform::{lambda(tvm::transform::Pass, tvm::IRModule)#7}>(tvm::transform::{lambda(tvm::transform::Pass, tvm::IRModule)#7}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
  5: tvm::transform::Pass::operator()(tvm::IRModule) const
  4: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  3: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  2: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  1: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
  0: std::_Function_handler<void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*), TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}>::_M_invoke(std::_Any_data const&, tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&) [clone .cold]
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/runtime/object.py", line 63, in __getattr__
    return _ffi_node_api.NodeGetAttr(self, name)
  File "tvm/_ffi/_cython/./packed_func.pxi", line 323, in tvm._ffi._cy3.core.PackedFuncBase.__call__
  File "tvm/_ffi/_cython/./packed_func.pxi", line 257, in tvm._ffi._cy3.core.FuncCall
  File "tvm/_ffi/_cython/./packed_func.pxi", line 246, in tvm._ffi._cy3.core.FuncCall3
  File "tvm/_ffi/_cython/./base.pxi", line 163, in tvm._ffi._cy3.core.CALL
  3: TVMFuncCall
  2: _ZNSt17_Function_handlerIF
  1: tvm::NodeGetAttr(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
  0: tvm::ReflectionVTable::GetAttr(tvm::runtime::Object*, tvm::runtime::String const&) const
  File "/opt/tvm-vai/tvm/src/node/reflection.cc", line 109
  File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/relay/transform/transform.py", line 916, in _pass_func
    return inst.transform_function(func, mod, ctx)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/relay/op/contrib/vitis_ai.py", line 110, in transform_function
    xgraph = pyxir.frontend.tvm.from_relay(mod, self.params, postprocessing=None)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay.py", line 58, in from_relay
    cvx_preprocessing=cvx_preprocessing
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xgraph_converter.py", line 96, in from_relay_to_xgraph
    cvx_prep=cvx_preprocessing,
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l0_expr_and_others.py", line 75, in function
    op_idx, RELAY_2_XLAYER, **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xlayer_registry.py", line 122, in __base_relay_2_xlayer
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l3_math_and_transform.py", line 561, in transpose
    **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l1_basic.py", line 398, in concatenate
    RELAY_2_XLAYER, **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l3_math_and_transform.py", line 323, in reshape
    **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xlayer_registry.py", line 122, in __base_relay_2_xlayer
    RELAY_2_XLAYER, **kwargs) 
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l1_basic.py", line 78, in add
    **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l1_basic.py", line 609, in multiply
    **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l2_convolution.py", line 216, in nn_conv2d
    **kwargs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xlayer_registry.py", line 136, in __base_relay_2_xlayer
    X = specific_relay_2_xlayer(op_name, expr, iXs)
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l0_expr_and_others.py", line 437, in relay_op
    relay_shape = TensorShape([int(s.value) for s in list(ty.shape)])
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l0_expr_and_others.py", line 437, in <listcomp>
    relay_shape = TensorShape([int(s.value) for s in list(ty.shape)])
  File "/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/runtime/object.py", line 65, in __getattr__
    raise AttributeError("%s has no attribute %s" % (str(type(self)), name))
AttributeError: tir.Any object has no attributed value
During handling of the above exception, another exception occurred:

AttributeError: <class 'tvm.tir.expr.Any'> has no attribute value

Any idea of why is failing?

Best regards,

@jlamperez
Copy link
Author

I've been able to get some log traces:

**************************************************
* RELAY IR TO PYXIR
**************************************************
DEBUG:pyxir:free_var %inputs: Tensor[(1, 3, 416, 416), float32];
%0 = dyn.strided_slice(%inputs, meta[relay.Constant][0] /* ty=Tensor[(4), int64] */, meta[relay.Constant][1] /* ty=Tensor[(4), int64] */, meta[relay.Constant][2] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%1 = shape_of(%0, dtype="int32") /* ty=Tensor[(4), int32] */;
%2 = cast_like(%1, meta[relay.Constant][4] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%3 = slice_like(%2, meta[relay.Constant][4] /* ty=Tensor[(4), int64] */, axes=None) /* ty=Tensor[(4), int64] */;
%4 = add(meta[relay.Constant][4] /* ty=Tensor[(4), int64] */, %3) /* ty=Tensor[(4), int64] */;
%5 = where(meta[relay.Constant][3] /* ty=Tensor[(4), bool] */, %4, meta[relay.Constant][4] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%6 = greater_equal(%5, %3) /* ty=Tensor[(4), bool] */;
%7 = shape_of(%0, dtype="int64") /* ty=Tensor[(4), int64] */;
%8 = where(%6, %3, %5) /* ty=Tensor[(4), int64] */;
%9 = scatter(%7, meta[relay.Constant][5] /* ty=Tensor[(1), int64] */, meta[relay.Constant][6] /* ty=Tensor[(1), int64] */, meta[relay.attrs.ScatterAttrs][0]) /* ty=Tensor[(4), int64] */;
%10 = dyn.strided_slice(%inputs, meta[relay.Constant][8] /* ty=Tensor[(4), int64] */, meta[relay.Constant][9] /* ty=Tensor[(4), int64] */, meta[relay.Constant][10] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%11 = shape_of(%10, dtype="int32") /* ty=Tensor[(4), int32] */;
%12 = cast_like(%11, meta[relay.Constant][12] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%13 = slice_like(%12, meta[relay.Constant][12] /* ty=Tensor[(4), int64] */, axes=None) /* ty=Tensor[(4), int64] */;
%14 = add(meta[relay.Constant][12] /* ty=Tensor[(4), int64] */, %13) /* ty=Tensor[(4), int64] */;
%15 = where(meta[relay.Constant][11] /* ty=Tensor[(4), bool] */, %14, meta[relay.Constant][12] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%16 = greater_equal(%15, %13) /* ty=Tensor[(4), bool] */;
%17 = shape_of(%10, dtype="int64") /* ty=Tensor[(4), int64] */;
%18 = where(%16, %13, %15) /* ty=Tensor[(4), int64] */;
%19 = scatter(%17, meta[relay.Constant][5] /* ty=Tensor[(1), int64] */, meta[relay.Constant][6] /* ty=Tensor[(1), int64] */, meta[relay.attrs.ScatterAttrs][1]) /* ty=Tensor[(4), int64] */;
%20 = dyn.strided_slice(%inputs, meta[relay.Constant][14] /* ty=Tensor[(4), int64] */, meta[relay.Constant][15] /* ty=Tensor[(4), int64] */, meta[relay.Constant][16] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%21 = shape_of(%20, dtype="int32") /* ty=Tensor[(4), int32] */;
%22 = cast_like(%21, meta[relay.Constant][18] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%23 = slice_like(%22, meta[relay.Constant][18] /* ty=Tensor[(4), int64] */, axes=None) /* ty=Tensor[(4), int64] */;
%24 = add(meta[relay.Constant][18] /* ty=Tensor[(4), int64] */, %23) /* ty=Tensor[(4), int64] */;
%25 = where(meta[relay.Constant][17] /* ty=Tensor[(4), bool] */, %24, meta[relay.Constant][18] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%26 = greater_equal(%25, %23) /* ty=Tensor[(4), bool] */;
%27 = shape_of(%20, dtype="int64") /* ty=Tensor[(4), int64] */;
%28 = where(%26, %23, %25) /* ty=Tensor[(4), int64] */;
%29 = scatter(%27, meta[relay.Constant][5] /* ty=Tensor[(1), int64] */, meta[relay.Constant][6] /* ty=Tensor[(1), int64] */, meta[relay.attrs.ScatterAttrs][2]) /* ty=Tensor[(4), int64] */;
%30 = dyn.strided_slice(%inputs, meta[relay.Constant][20] /* ty=Tensor[(4), int64] */, meta[relay.Constant][21] /* ty=Tensor[(4), int64] */, meta[relay.Constant][22] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%31 = shape_of(%30, dtype="int32") /* ty=Tensor[(4), int32] */;
%32 = cast_like(%31, meta[relay.Constant][24] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%33 = slice_like(%32, meta[relay.Constant][24] /* ty=Tensor[(4), int64] */, axes=None) /* ty=Tensor[(4), int64] */;
%34 = add(meta[relay.Constant][24] /* ty=Tensor[(4), int64] */, %33) /* ty=Tensor[(4), int64] */;
%35 = where(meta[relay.Constant][23] /* ty=Tensor[(4), bool] */, %34, meta[relay.Constant][24] /* ty=Tensor[(4), int64] */) /* ty=Tensor[(4), int64] */;
%36 = greater_equal(%35, %33) /* ty=Tensor[(4), bool] */;
%37 = shape_of(%30, dtype="int64") /* ty=Tensor[(4), int64] */;
%38 = where(%36, %33, %35) /* ty=Tensor[(4), int64] */;
%39 = scatter(%37, meta[relay.Constant][5] /* ty=Tensor[(1), int64] */, meta[relay.Constant][6] /* ty=Tensor[(1), int64] */, meta[relay.attrs.ScatterAttrs][3]) /* ty=Tensor[(4), int64] */;
%40 = dyn.strided_slice(%0, %8, %9, meta[relay.Constant][7] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%41 = dyn.strided_slice(%10, %18, %19, meta[relay.Constant][13] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%42 = dyn.strided_slice(%20, %28, %29, meta[relay.Constant][19] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%43 = dyn.strided_slice(%30, %38, %39, meta[relay.Constant][25] /* ty=Tensor[(4), int64] */, begin=None, end=None, strides=None, axes=None) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%44 = (%40, %41, %42, %43);
%45 = concatenate(%44, axis=1) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%46 = layout_transform(%45, src_layout="NCHW", dst_layout="NHWC") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%47 = nn.conv2d(%46, meta[relay.Constant][26] /* ty=Tensor[(3, 3, 12, 16), float32] */, padding=[1, 1, 1, 1], kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%48 = add(%47, meta[relay.Constant][27] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%49 = sigmoid(%48) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%50 = multiply(%48, %49) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%51 = nn.conv2d(%50, meta[relay.Constant][28] /* ty=Tensor[(3, 3, 16, 1), float32] */, strides=[2, 2], padding=[1, 1, 1, 1], groups=16, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%52 = add(%51, meta[relay.Constant][29] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%53 = sigmoid(%52) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%54 = multiply(%52, %53) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%55 = nn.conv2d(%54, meta[relay.Constant][30] /* ty=Tensor[(1, 1, 16, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%56 = add(%55, meta[relay.Constant][31] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%57 = sigmoid(%56) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%58 = multiply(%56, %57) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%59 = nn.conv2d(%58, meta[relay.Constant][32] /* ty=Tensor[(1, 1, 32, 16), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%60 = add(%59, meta[relay.Constant][33] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%61 = sigmoid(%60) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%62 = multiply(%60, %61) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%63 = nn.conv2d(%62, meta[relay.Constant][34] /* ty=Tensor[(1, 1, 16, 16), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%64 = add(%63, meta[relay.Constant][35] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%65 = sigmoid(%64) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%66 = multiply(%64, %65) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%67 = nn.conv2d(%66, meta[relay.Constant][36] /* ty=Tensor[(3, 3, 16, 1), float32] */, padding=[1, 1, 1, 1], groups=16, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%68 = add(%67, meta[relay.Constant][37] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%69 = sigmoid(%68) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%70 = multiply(%68, %69) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%71 = nn.conv2d(%70, meta[relay.Constant][38] /* ty=Tensor[(1, 1, 16, 16), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%72 = add(%71, meta[relay.Constant][39] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%73 = sigmoid(%72) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%74 = multiply(%72, %73) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%75 = nn.conv2d(%58, meta[relay.Constant][40] /* ty=Tensor[(1, 1, 32, 16), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%76 = add(%75, meta[relay.Constant][41] /* ty=Tensor[(1, 1, 1, 16), float32] */) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%77 = sigmoid(%76) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%78 = add(%74, %62) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%79 = multiply(%76, %77) /* ty=Tensor[(?, ?, ?, 16), float32] */;
%80 = (%78, %79);
%81 = concatenate(%80, axis=3) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%82 = nn.conv2d(%81, meta[relay.Constant][42] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%83 = add(%82, meta[relay.Constant][43] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%84 = sigmoid(%83) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%85 = multiply(%83, %84) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%86 = nn.conv2d(%85, meta[relay.Constant][44] /* ty=Tensor[(3, 3, 32, 1), float32] */, strides=[2, 2], padding=[1, 1, 1, 1], groups=32, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%87 = add(%86, meta[relay.Constant][45] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%88 = sigmoid(%87) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%89 = multiply(%87, %88) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%90 = nn.conv2d(%89, meta[relay.Constant][46] /* ty=Tensor[(1, 1, 32, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%91 = add(%90, meta[relay.Constant][47] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%92 = sigmoid(%91) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%93 = multiply(%91, %92) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%94 = nn.conv2d(%93, meta[relay.Constant][48] /* ty=Tensor[(1, 1, 64, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%95 = add(%94, meta[relay.Constant][49] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%96 = sigmoid(%95) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%97 = multiply(%95, %96) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%98 = nn.conv2d(%97, meta[relay.Constant][50] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%99 = add(%98, meta[relay.Constant][51] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%100 = sigmoid(%99) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%101 = multiply(%99, %100) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%102 = nn.conv2d(%101, meta[relay.Constant][52] /* ty=Tensor[(3, 3, 32, 1), float32] */, padding=[1, 1, 1, 1], groups=32, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%103 = add(%102, meta[relay.Constant][53] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%104 = sigmoid(%103) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%105 = multiply(%103, %104) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%106 = nn.conv2d(%105, meta[relay.Constant][54] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%107 = add(%106, meta[relay.Constant][55] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%108 = sigmoid(%107) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%109 = multiply(%107, %108) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%110 = add(%109, %97) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%111 = nn.conv2d(%110, meta[relay.Constant][56] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%112 = add(%111, meta[relay.Constant][57] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%113 = sigmoid(%112) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%114 = multiply(%112, %113) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%115 = nn.conv2d(%114, meta[relay.Constant][58] /* ty=Tensor[(3, 3, 32, 1), float32] */, padding=[1, 1, 1, 1], groups=32, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%116 = add(%115, meta[relay.Constant][59] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%117 = sigmoid(%116) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%118 = multiply(%116, %117) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%119 = nn.conv2d(%118, meta[relay.Constant][60] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%120 = add(%119, meta[relay.Constant][61] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%121 = sigmoid(%120) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%122 = multiply(%120, %121) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%123 = add(%122, %110) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%124 = nn.conv2d(%123, meta[relay.Constant][62] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%125 = add(%124, meta[relay.Constant][63] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%126 = sigmoid(%125) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%127 = multiply(%125, %126) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%128 = nn.conv2d(%127, meta[relay.Constant][64] /* ty=Tensor[(3, 3, 32, 1), float32] */, padding=[1, 1, 1, 1], groups=32, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%129 = add(%128, meta[relay.Constant][65] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%130 = sigmoid(%129) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%131 = multiply(%129, %130) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%132 = nn.conv2d(%131, meta[relay.Constant][66] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%133 = add(%132, meta[relay.Constant][67] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%134 = sigmoid(%133) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%135 = multiply(%133, %134) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%136 = nn.conv2d(%93, meta[relay.Constant][68] /* ty=Tensor[(1, 1, 64, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%137 = add(%136, meta[relay.Constant][69] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%138 = sigmoid(%137) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%139 = add(%135, %123) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%140 = multiply(%137, %138) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%141 = (%139, %140);
%142 = concatenate(%141, axis=3) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%143 = nn.conv2d(%142, meta[relay.Constant][70] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%144 = add(%143, meta[relay.Constant][71] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%145 = sigmoid(%144) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%146 = multiply(%144, %145) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%147 = nn.conv2d(%146, meta[relay.Constant][72] /* ty=Tensor[(3, 3, 64, 1), float32] */, strides=[2, 2], padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%148 = add(%147, meta[relay.Constant][73] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%149 = sigmoid(%148) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%150 = multiply(%148, %149) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%151 = nn.conv2d(%150, meta[relay.Constant][74] /* ty=Tensor[(1, 1, 64, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%152 = add(%151, meta[relay.Constant][75] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%153 = sigmoid(%152) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%154 = multiply(%152, %153) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%155 = nn.conv2d(%154, meta[relay.Constant][76] /* ty=Tensor[(1, 1, 128, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%156 = add(%155, meta[relay.Constant][77] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%157 = sigmoid(%156) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%158 = multiply(%156, %157) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%159 = nn.conv2d(%158, meta[relay.Constant][78] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%160 = add(%159, meta[relay.Constant][79] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%161 = sigmoid(%160) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%162 = multiply(%160, %161) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%163 = nn.conv2d(%162, meta[relay.Constant][80] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%164 = add(%163, meta[relay.Constant][81] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%165 = sigmoid(%164) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%166 = multiply(%164, %165) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%167 = nn.conv2d(%166, meta[relay.Constant][82] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%168 = add(%167, meta[relay.Constant][83] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%169 = sigmoid(%168) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%170 = multiply(%168, %169) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%171 = add(%170, %158) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%172 = nn.conv2d(%171, meta[relay.Constant][84] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%173 = add(%172, meta[relay.Constant][85] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%174 = sigmoid(%173) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%175 = multiply(%173, %174) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%176 = nn.conv2d(%175, meta[relay.Constant][86] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%177 = add(%176, meta[relay.Constant][87] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%178 = sigmoid(%177) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%179 = multiply(%177, %178) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%180 = nn.conv2d(%179, meta[relay.Constant][88] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%181 = add(%180, meta[relay.Constant][89] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%182 = sigmoid(%181) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%183 = multiply(%181, %182) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%184 = add(%183, %171) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%185 = nn.conv2d(%184, meta[relay.Constant][90] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%186 = add(%185, meta[relay.Constant][91] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%187 = sigmoid(%186) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%188 = multiply(%186, %187) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%189 = nn.conv2d(%188, meta[relay.Constant][92] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%190 = add(%189, meta[relay.Constant][93] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%191 = sigmoid(%190) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%192 = multiply(%190, %191) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%193 = nn.conv2d(%192, meta[relay.Constant][94] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%194 = add(%193, meta[relay.Constant][95] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%195 = sigmoid(%194) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%196 = multiply(%194, %195) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%197 = nn.conv2d(%154, meta[relay.Constant][96] /* ty=Tensor[(1, 1, 128, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%198 = add(%197, meta[relay.Constant][97] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%199 = sigmoid(%198) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%200 = add(%196, %184) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%201 = multiply(%198, %199) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%202 = (%200, %201);
%203 = concatenate(%202, axis=3) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%204 = nn.conv2d(%203, meta[relay.Constant][98] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%205 = add(%204, meta[relay.Constant][99] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%206 = sigmoid(%205) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%207 = multiply(%205, %206) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%208 = nn.conv2d(%207, meta[relay.Constant][100] /* ty=Tensor[(3, 3, 128, 1), float32] */, strides=[2, 2], padding=[1, 1, 1, 1], groups=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%209 = add(%208, meta[relay.Constant][101] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%210 = sigmoid(%209) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%211 = multiply(%209, %210) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%212 = nn.conv2d(%211, meta[relay.Constant][102] /* ty=Tensor[(1, 1, 128, 256), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%213 = add(%212, meta[relay.Constant][103] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%214 = sigmoid(%213) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%215 = multiply(%213, %214) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%216 = nn.conv2d(%215, meta[relay.Constant][104] /* ty=Tensor[(1, 1, 256, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%217 = add(%216, meta[relay.Constant][105] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%218 = sigmoid(%217) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%219 = multiply(%217, %218) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%220 = nn.max_pool2d(%219, pool_size=[5, 5], padding=[2, 2, 2, 2], layout="NHWC") /* ty=Tensor[(?, ?, ?, 128), float32] */;
%221 = nn.max_pool2d(%219, pool_size=[9, 9], padding=[4, 4, 4, 4], layout="NHWC") /* ty=Tensor[(?, ?, ?, 128), float32] */;
%222 = nn.max_pool2d(%219, pool_size=[13, 13], padding=[6, 6, 6, 6], layout="NHWC") /* ty=Tensor[(?, ?, ?, 128), float32] */;
%223 = (%219, %220, %221, %222);
%224 = concatenate(%223, axis=3) /* ty=Tensor[(?, ?, ?, 512), float32] */;
%225 = nn.conv2d(%224, meta[relay.Constant][106] /* ty=Tensor[(1, 1, 512, 256), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%226 = add(%225, meta[relay.Constant][107] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%227 = sigmoid(%226) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%228 = multiply(%226, %227) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%229 = nn.conv2d(%228, meta[relay.Constant][108] /* ty=Tensor[(1, 1, 256, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%230 = add(%229, meta[relay.Constant][109] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%231 = sigmoid(%230) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%232 = multiply(%230, %231) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%233 = nn.conv2d(%232, meta[relay.Constant][110] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%234 = add(%233, meta[relay.Constant][111] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%235 = sigmoid(%234) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%236 = multiply(%234, %235) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%237 = nn.conv2d(%236, meta[relay.Constant][112] /* ty=Tensor[(3, 3, 128, 1), float32] */, padding=[1, 1, 1, 1], groups=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%238 = add(%237, meta[relay.Constant][113] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%239 = sigmoid(%238) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%240 = multiply(%238, %239) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%241 = nn.conv2d(%240, meta[relay.Constant][114] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%242 = add(%241, meta[relay.Constant][115] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%243 = sigmoid(%242) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%244 = nn.conv2d(%228, meta[relay.Constant][116] /* ty=Tensor[(1, 1, 256, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%245 = add(%244, meta[relay.Constant][117] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%246 = sigmoid(%245) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%247 = multiply(%242, %243) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%248 = multiply(%245, %246) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%249 = (%247, %248);
%250 = concatenate(%249, axis=3) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%251 = nn.conv2d(%250, meta[relay.Constant][118] /* ty=Tensor[(1, 1, 256, 256), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%252 = add(%251, meta[relay.Constant][119] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%253 = sigmoid(%252) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%254 = multiply(%252, %253) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%255 = nn.conv2d(%254, meta[relay.Constant][120] /* ty=Tensor[(1, 1, 256, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%256 = add(%255, meta[relay.Constant][121] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%257 = sigmoid(%256) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%258 = multiply(%256, %257) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%259 = layout_transform(%258, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%260 = shape_of(%259, dtype="int64") /* ty=Tensor[(4), int64] */;
%261 = cast(%260, dtype="float32") /* ty=Tensor[(4), float32] */;
%262 = multiply(%261, meta[relay.Constant][122] /* ty=Tensor[(4), float32] */) /* ty=Tensor[(4), float32] */;
%263 = strided_slice(%262, begin=[2], end=[4], strides=[1], axes=None) /* ty=Tensor[(2), float32] */;
%264 = dyn.image.resize(%259, %263, size=[], method="nearest_neighbor", coordinate_transformation_mode="asymmetric", rounding_method="floor", bicubic_alpha=-0.75f) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%265 = layout_transform(%207, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%266 = (%264, %265);
%267 = concatenate(%266, axis=1) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%268 = layout_transform(%267, src_layout="NCHW", dst_layout="NHWC") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%269 = nn.conv2d(%268, meta[relay.Constant][123] /* ty=Tensor[(1, 1, 256, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%270 = add(%269, meta[relay.Constant][124] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%271 = sigmoid(%270) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%272 = multiply(%270, %271) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%273 = nn.conv2d(%272, meta[relay.Constant][125] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%274 = add(%273, meta[relay.Constant][126] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%275 = sigmoid(%274) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%276 = multiply(%274, %275) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%277 = nn.conv2d(%276, meta[relay.Constant][127] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%278 = add(%277, meta[relay.Constant][128] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%279 = sigmoid(%278) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%280 = multiply(%278, %279) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%281 = nn.conv2d(%280, meta[relay.Constant][129] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%282 = add(%281, meta[relay.Constant][130] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%283 = sigmoid(%282) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%284 = nn.conv2d(%268, meta[relay.Constant][131] /* ty=Tensor[(1, 1, 256, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%285 = add(%284, meta[relay.Constant][132] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%286 = sigmoid(%285) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%287 = multiply(%282, %283) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%288 = multiply(%285, %286) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%289 = (%287, %288);
%290 = concatenate(%289, axis=3) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%291 = nn.conv2d(%290, meta[relay.Constant][133] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%292 = add(%291, meta[relay.Constant][134] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%293 = sigmoid(%292) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%294 = multiply(%292, %293) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%295 = nn.conv2d(%294, meta[relay.Constant][135] /* ty=Tensor[(1, 1, 128, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%296 = add(%295, meta[relay.Constant][136] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%297 = sigmoid(%296) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%298 = multiply(%296, %297) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%299 = layout_transform(%298, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%300 = shape_of(%299, dtype="int64") /* ty=Tensor[(4), int64] */;
%301 = cast(%300, dtype="float32") /* ty=Tensor[(4), float32] */;
%302 = multiply(%301, meta[relay.Constant][122] /* ty=Tensor[(4), float32] */) /* ty=Tensor[(4), float32] */;
%303 = strided_slice(%302, begin=[2], end=[4], strides=[1], axes=None) /* ty=Tensor[(2), float32] */;
%304 = dyn.image.resize(%299, %303, size=[], method="nearest_neighbor", coordinate_transformation_mode="asymmetric", rounding_method="floor", bicubic_alpha=-0.75f) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%305 = layout_transform(%146, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%306 = (%304, %305);
%307 = concatenate(%306, axis=1) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%308 = layout_transform(%307, src_layout="NCHW", dst_layout="NHWC") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%309 = nn.conv2d(%308, meta[relay.Constant][137] /* ty=Tensor[(1, 1, 128, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%310 = add(%309, meta[relay.Constant][138] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%311 = sigmoid(%310) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%312 = multiply(%310, %311) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%313 = nn.conv2d(%312, meta[relay.Constant][139] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%314 = add(%313, meta[relay.Constant][140] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%315 = sigmoid(%314) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%316 = multiply(%314, %315) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%317 = nn.conv2d(%316, meta[relay.Constant][141] /* ty=Tensor[(3, 3, 32, 1), float32] */, padding=[1, 1, 1, 1], groups=32, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%318 = add(%317, meta[relay.Constant][142] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%319 = sigmoid(%318) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%320 = multiply(%318, %319) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%321 = nn.conv2d(%320, meta[relay.Constant][143] /* ty=Tensor[(1, 1, 32, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%322 = add(%321, meta[relay.Constant][144] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%323 = sigmoid(%322) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%324 = nn.conv2d(%308, meta[relay.Constant][145] /* ty=Tensor[(1, 1, 128, 32), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%325 = add(%324, meta[relay.Constant][146] /* ty=Tensor[(1, 1, 1, 32), float32] */) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%326 = sigmoid(%325) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%327 = multiply(%322, %323) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%328 = multiply(%325, %326) /* ty=Tensor[(?, ?, ?, 32), float32] */;
%329 = (%327, %328);
%330 = concatenate(%329, axis=3) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%331 = nn.conv2d(%330, meta[relay.Constant][147] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%332 = add(%331, meta[relay.Constant][148] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%333 = sigmoid(%332) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%334 = multiply(%332, %333) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%335 = nn.conv2d(%334, meta[relay.Constant][149] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%336 = add(%335, meta[relay.Constant][150] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%337 = sigmoid(%336) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%338 = multiply(%336, %337) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%339 = nn.conv2d(%338, meta[relay.Constant][151] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%340 = add(%339, meta[relay.Constant][152] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%341 = sigmoid(%340) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%342 = multiply(%340, %341) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%343 = nn.conv2d(%342, meta[relay.Constant][153] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%344 = add(%343, meta[relay.Constant][154] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%345 = sigmoid(%344) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%346 = multiply(%344, %345) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%347 = nn.conv2d(%346, meta[relay.Constant][155] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%348 = add(%347, meta[relay.Constant][156] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%349 = sigmoid(%348) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%350 = multiply(%348, %349) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%351 = nn.conv2d(%350, meta[relay.Constant][157] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%352 = add(%351, meta[relay.Constant][158] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%353 = sigmoid(%352) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%354 = multiply(%352, %353) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%355 = nn.conv2d(%354, meta[relay.Constant][159] /* ty=Tensor[(1, 1, 64, 4), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%356 = nn.conv2d(%354, meta[relay.Constant][161] /* ty=Tensor[(1, 1, 64, 1), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%357 = add(%356, meta[relay.Constant][162] /* ty=Tensor[(1, 1, 1), float32] */) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%358 = nn.conv2d(%338, meta[relay.Constant][163] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%359 = add(%358, meta[relay.Constant][164] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%360 = sigmoid(%359) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%361 = multiply(%359, %360) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%362 = nn.conv2d(%361, meta[relay.Constant][165] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%363 = add(%362, meta[relay.Constant][166] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%364 = sigmoid(%363) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%365 = multiply(%363, %364) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%366 = nn.conv2d(%365, meta[relay.Constant][167] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%367 = add(%366, meta[relay.Constant][168] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%368 = sigmoid(%367) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%369 = multiply(%367, %368) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%370 = nn.conv2d(%369, meta[relay.Constant][169] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%371 = add(%370, meta[relay.Constant][170] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%372 = sigmoid(%371) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%373 = multiply(%371, %372) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%374 = nn.conv2d(%373, meta[relay.Constant][171] /* ty=Tensor[(1, 1, 64, 80), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%375 = add(%374, meta[relay.Constant][172] /* ty=Tensor[(1, 1, 1, 80), float32] */) /* ty=Tensor[(?, ?, ?, 80), float32] */;
%376 = add(%355, meta[relay.Constant][160] /* ty=Tensor[(1, 1, 1, 4), float32] */) /* ty=Tensor[(?, ?, ?, 4), float32] */;
%377 = sigmoid(%357) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%378 = sigmoid(%375) /* ty=Tensor[(?, ?, ?, 80), float32] */;
%379 = (%376, %377, %378);
%380 = concatenate(%379, axis=3) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%381 = layout_transform(%380, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%382 = nn.conv2d(%334, meta[relay.Constant][173] /* ty=Tensor[(3, 3, 64, 1), float32] */, strides=[2, 2], padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%383 = add(%382, meta[relay.Constant][174] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%384 = sigmoid(%383) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%385 = multiply(%383, %384) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%386 = nn.conv2d(%385, meta[relay.Constant][175] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%387 = add(%386, meta[relay.Constant][176] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%388 = sigmoid(%387) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%389 = multiply(%387, %388) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%390 = (%389, %298);
%391 = concatenate(%390, axis=3) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%392 = nn.conv2d(%391, meta[relay.Constant][177] /* ty=Tensor[(1, 1, 128, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%393 = add(%392, meta[relay.Constant][178] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%394 = sigmoid(%393) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%395 = multiply(%393, %394) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%396 = nn.conv2d(%395, meta[relay.Constant][179] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%397 = add(%396, meta[relay.Constant][180] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%398 = sigmoid(%397) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%399 = multiply(%397, %398) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%400 = nn.conv2d(%399, meta[relay.Constant][181] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%401 = add(%400, meta[relay.Constant][182] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%402 = sigmoid(%401) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%403 = multiply(%401, %402) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%404 = nn.conv2d(%403, meta[relay.Constant][183] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%405 = add(%404, meta[relay.Constant][184] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%406 = sigmoid(%405) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%407 = nn.conv2d(%391, meta[relay.Constant][185] /* ty=Tensor[(1, 1, 128, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%408 = add(%407, meta[relay.Constant][186] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%409 = sigmoid(%408) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%410 = multiply(%405, %406) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%411 = multiply(%408, %409) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%412 = (%410, %411);
%413 = concatenate(%412, axis=3) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%414 = nn.conv2d(%413, meta[relay.Constant][187] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%415 = add(%414, meta[relay.Constant][188] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%416 = sigmoid(%415) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%417 = multiply(%415, %416) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%418 = nn.conv2d(%417, meta[relay.Constant][189] /* ty=Tensor[(1, 1, 128, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%419 = add(%418, meta[relay.Constant][190] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%420 = sigmoid(%419) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%421 = multiply(%419, %420) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%422 = nn.conv2d(%421, meta[relay.Constant][191] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%423 = add(%422, meta[relay.Constant][192] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%424 = sigmoid(%423) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%425 = multiply(%423, %424) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%426 = nn.conv2d(%425, meta[relay.Constant][193] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%427 = add(%426, meta[relay.Constant][194] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%428 = sigmoid(%427) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%429 = multiply(%427, %428) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%430 = nn.conv2d(%429, meta[relay.Constant][195] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%431 = add(%430, meta[relay.Constant][196] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%432 = sigmoid(%431) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%433 = multiply(%431, %432) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%434 = nn.conv2d(%433, meta[relay.Constant][197] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%435 = add(%434, meta[relay.Constant][198] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%436 = sigmoid(%435) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%437 = multiply(%435, %436) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%438 = nn.conv2d(%437, meta[relay.Constant][199] /* ty=Tensor[(1, 1, 64, 4), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%439 = nn.conv2d(%437, meta[relay.Constant][201] /* ty=Tensor[(1, 1, 64, 1), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%440 = add(%439, meta[relay.Constant][202] /* ty=Tensor[(1, 1, 1), float32] */) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%441 = nn.conv2d(%421, meta[relay.Constant][203] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%442 = add(%441, meta[relay.Constant][204] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%443 = sigmoid(%442) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%444 = multiply(%442, %443) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%445 = nn.conv2d(%444, meta[relay.Constant][205] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%446 = add(%445, meta[relay.Constant][206] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%447 = sigmoid(%446) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%448 = multiply(%446, %447) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%449 = nn.conv2d(%448, meta[relay.Constant][207] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%450 = add(%449, meta[relay.Constant][208] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%451 = sigmoid(%450) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%452 = multiply(%450, %451) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%453 = nn.conv2d(%452, meta[relay.Constant][209] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%454 = add(%453, meta[relay.Constant][210] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%455 = sigmoid(%454) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%456 = multiply(%454, %455) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%457 = nn.conv2d(%456, meta[relay.Constant][211] /* ty=Tensor[(1, 1, 64, 80), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%458 = add(%457, meta[relay.Constant][212] /* ty=Tensor[(1, 1, 1, 80), float32] */) /* ty=Tensor[(?, ?, ?, 80), float32] */;
%459 = add(%438, meta[relay.Constant][200] /* ty=Tensor[(1, 1, 1, 4), float32] */) /* ty=Tensor[(?, ?, ?, 4), float32] */;
%460 = sigmoid(%440) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%461 = sigmoid(%458) /* ty=Tensor[(?, ?, ?, 80), float32] */;
%462 = (%459, %460, %461);
%463 = concatenate(%462, axis=3) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%464 = layout_transform(%463, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%465 = nn.conv2d(%417, meta[relay.Constant][213] /* ty=Tensor[(3, 3, 128, 1), float32] */, strides=[2, 2], padding=[1, 1, 1, 1], groups=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%466 = add(%465, meta[relay.Constant][214] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%467 = sigmoid(%466) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%468 = multiply(%466, %467) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%469 = nn.conv2d(%468, meta[relay.Constant][215] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%470 = add(%469, meta[relay.Constant][216] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%471 = sigmoid(%470) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%472 = multiply(%470, %471) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%473 = (%472, %258);
%474 = concatenate(%473, axis=3) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%475 = nn.conv2d(%474, meta[relay.Constant][217] /* ty=Tensor[(1, 1, 256, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%476 = add(%475, meta[relay.Constant][218] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%477 = sigmoid(%476) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%478 = multiply(%476, %477) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%479 = nn.conv2d(%478, meta[relay.Constant][219] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%480 = add(%479, meta[relay.Constant][220] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%481 = sigmoid(%480) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%482 = multiply(%480, %481) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%483 = nn.conv2d(%482, meta[relay.Constant][221] /* ty=Tensor[(3, 3, 128, 1), float32] */, padding=[1, 1, 1, 1], groups=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%484 = add(%483, meta[relay.Constant][222] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%485 = sigmoid(%484) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%486 = multiply(%484, %485) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%487 = nn.conv2d(%486, meta[relay.Constant][223] /* ty=Tensor[(1, 1, 128, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%488 = add(%487, meta[relay.Constant][224] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%489 = sigmoid(%488) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%490 = nn.conv2d(%474, meta[relay.Constant][225] /* ty=Tensor[(1, 1, 256, 128), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%491 = add(%490, meta[relay.Constant][226] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%492 = sigmoid(%491) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%493 = multiply(%488, %489) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%494 = multiply(%491, %492) /* ty=Tensor[(?, ?, ?, 128), float32] */;
%495 = (%493, %494);
%496 = concatenate(%495, axis=3) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%497 = nn.conv2d(%496, meta[relay.Constant][227] /* ty=Tensor[(1, 1, 256, 256), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%498 = add(%497, meta[relay.Constant][228] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%499 = sigmoid(%498) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%500 = multiply(%498, %499) /* ty=Tensor[(?, ?, ?, 256), float32] */;
%501 = nn.conv2d(%500, meta[relay.Constant][229] /* ty=Tensor[(1, 1, 256, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%502 = add(%501, meta[relay.Constant][230] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%503 = sigmoid(%502) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%504 = multiply(%502, %503) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%505 = nn.conv2d(%504, meta[relay.Constant][231] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%506 = add(%505, meta[relay.Constant][232] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%507 = sigmoid(%506) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%508 = multiply(%506, %507) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%509 = nn.conv2d(%508, meta[relay.Constant][233] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%510 = add(%509, meta[relay.Constant][234] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%511 = sigmoid(%510) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%512 = multiply(%510, %511) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%513 = nn.conv2d(%512, meta[relay.Constant][235] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%514 = add(%513, meta[relay.Constant][236] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%515 = sigmoid(%514) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%516 = multiply(%514, %515) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%517 = nn.conv2d(%516, meta[relay.Constant][237] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%518 = add(%517, meta[relay.Constant][238] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%519 = sigmoid(%518) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%520 = multiply(%518, %519) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%521 = nn.conv2d(%520, meta[relay.Constant][239] /* ty=Tensor[(1, 1, 64, 4), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%522 = nn.conv2d(%520, meta[relay.Constant][241] /* ty=Tensor[(1, 1, 64, 1), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%523 = add(%522, meta[relay.Constant][242] /* ty=Tensor[(1, 1, 1), float32] */) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%524 = nn.conv2d(%504, meta[relay.Constant][243] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%525 = add(%524, meta[relay.Constant][244] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%526 = sigmoid(%525) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%527 = multiply(%525, %526) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%528 = nn.conv2d(%527, meta[relay.Constant][245] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%529 = add(%528, meta[relay.Constant][246] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%530 = sigmoid(%529) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%531 = multiply(%529, %530) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%532 = nn.conv2d(%531, meta[relay.Constant][247] /* ty=Tensor[(3, 3, 64, 1), float32] */, padding=[1, 1, 1, 1], groups=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWOI") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%533 = add(%532, meta[relay.Constant][248] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%534 = sigmoid(%533) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%535 = multiply(%533, %534) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%536 = nn.conv2d(%535, meta[relay.Constant][249] /* ty=Tensor[(1, 1, 64, 64), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%537 = add(%536, meta[relay.Constant][250] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%538 = sigmoid(%537) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%539 = multiply(%537, %538) /* ty=Tensor[(?, ?, ?, 64), float32] */;
%540 = nn.conv2d(%539, meta[relay.Constant][251] /* ty=Tensor[(1, 1, 64, 80), float32] */, padding=[0, 0, 0, 0], kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%541 = add(%540, meta[relay.Constant][252] /* ty=Tensor[(1, 1, 1, 80), float32] */) /* ty=Tensor[(?, ?, ?, 80), float32] */;
%542 = add(%521, meta[relay.Constant][240] /* ty=Tensor[(1, 1, 1, 4), float32] */) /* ty=Tensor[(?, ?, ?, 4), float32] */;
%543 = sigmoid(%523) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%544 = sigmoid(%541) /* ty=Tensor[(?, ?, ?, 80), float32] */;
%545 = (%542, %543, %544);
%546 = concatenate(%545, axis=3) /* ty=Tensor[(?, ?, ?, ?), float32] */;
%547 = layout_transform(%546, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(?, ?, ?, ?), float32] */;
%548 = reshape(%381, newshape=[1, 85, -1]) /* ty=Tensor[(1, 85, ?), float32] */;
%549 = reshape(%464, newshape=[1, 85, -1]) /* ty=Tensor[(1, 85, ?), float32] */;
%550 = reshape(%547, newshape=[1, 85, -1]) /* ty=Tensor[(1, 85, ?), float32] */;
%551 = (%548, %549, %550);
%552 = concatenate(%551, axis=-1) /* ty=Tensor[(1, 85, ?), float32] */;
transpose(%552, axes=[0, 2, 1]) /* ty=Tensor[(1, ?, 85), float32] */ 
DEBUG:pyxir:Call: transpose
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191941064416
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: reshape
DEBUG:pyxir:Call: layout_transform
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191941295472
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191938793392
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: layout_transform
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191939987696
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: dyn.image.resize
DEBUG:pyxir:Call: layout_transform
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191940823856
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: layout_transform
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191939175600
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: dyn.image.resize
DEBUG:pyxir:Call: layout_transform
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191939353744
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191931856784
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191982487968
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191940522224
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191940934400
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: multiply
DEBUG:pyxir:Call: add
DEBUG:pyxir:Call: nn.conv2d
DEBUG:pyxir:Call: layout_transform
DEBUG:pyxir:Call: concatenate
DEBUG:pyxir:Concatenate: 94191939381456
DEBUG:pyxir:-- Call
DEBUG:pyxir:Call: dyn.strided_slice
DEBUG:pyxir:Call: dyn.strided_slice
DEBUG:pyxir:var: 
DEBUG:pyxir:-- name: inputs
DEBUG:pyxir:-- shape: [1, 3, 416, 416]
DEBUG:pyxir:constant: 
DEBUG:pyxir:constant: 
DEBUG:pyxir:constant: 
DEBUG:pyxir:RelayOp:
DEBUG:pyxir:-- op_name: RelayOp-94191981978496
DEBUG:pyxir:-- expr: dyn.strided_slice

So it seems that the problem is related to dyn.strided_slice expression that has no attribute value.

@comaniac
Copy link
Contributor

cc @jtuyls

@jtuyls
Copy link
Contributor

jtuyls commented Aug 18, 2021

@comaniac I will follow up here: Xilinx/pyxir#63. You can close this issue in favor of that one if you want.

@comaniac
Copy link
Contributor

Thanks @jtuyls, I'll close this issue here.

@runner42195
Copy link

Hi @comaniac @jlamperez ,

I am following the external_yolov3_tutorial.ipynb Jupyter notebook tutorial for compiling a yolov3 model for Vitis-AI. But when I try to use lib.export_library('tvm_dpu_cpu.so') to save 'tvm_dpu_cpu.so' file, I am meet the next problem:

LLVM ERROR: out of memory
Aborted (core dumped)

Any idea of why is failing?

Best regards

@abdulazizm
Copy link

Hi @comaniac @jlamperez ,

I am following the external_yolov3_tutorial.ipynb Jupyter notebook tutorial for compiling a yolov3 model for Vitis-AI. But when I try to use lib.export_library('tvm_dpu_cpu.so') to save 'tvm_dpu_cpu.so' file, I am meet the next problem:

LLVM ERROR: out of memory
Aborted (core dumped)

Any idea of why is failing?

Best regards

@runner42195 Did you find a workaround for this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants