Tensorflow1 前端#
下面以 mobilenet_v2 float_v2_1.4_224 为例,展示 Tensorflow 前端。
先运行简单的测试:
import os
import warnings
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
import tensorflow as tf
tf.get_logger().setLevel("ERROR")
warnings.simplefilter("ignore")
try:
tf1 = tf.compat.v1
except (ImportError, AttributeError):
tf1 = tf
import numpy as np
import set_env # 加载 TVM
import tvm.relay.testing.tf as tf_testing
import tvm
from tvm import relay
shape = 1, 224, 224, 3
data = np.random.uniform(size=shape).astype("float32")
output_name = "MobilenetV2/Predictions/Reshape_1"
input_name = "input"
input_dict = {f"{input_name}:0": data}
with tf.Graph().as_default():
graph_def = tf_testing.get_workload(
"https://storage.googleapis.com/mobilenet_v2/checkpoints/mobilenet_v2_1.4_224.tgz",
"mobilenet_v2_1.4_224_frozen.pb",
)
# 调用实用程序将图定义导入默认 graph
graph_def = tf_testing.ProcessGraphDefParam(graph_def)
with tf1.Session() as sess:
# 添加 shapes 到 graph
graph_def = tf_testing.AddShapesToGraphDef(sess, output_name)
# 获取 TF 结果
out_tensor = sess.graph.get_tensor_by_name(f"{output_name}:0")
tf_output = sess.run(out_tensor, input_dict)
# TVM 编译
mod, params = relay.frontend.from_tensorflow(
graph_def,
shape={
input_name: shape
}
)
TensorFlow 数据布局变换#
原始模型输入布局为 NHWC,可将其转换为 NCHW:
desired_layouts = {
# 'image.resize2d': ['NCHW'],
'nn.conv2d': ['NCHW', 'default'],
'nn.max_pool2d': ['NCHW', 'default'],
'nn.avg_pool2d': ['NCHW', 'default'],
}
# 将布局转换为 NCHW
# RemoveUnusedFunctions 用于清理图。
seq = tvm.transform.Sequential([relay.transform.RemoveUnusedFunctions(),
relay.transform.ConvertLayout(desired_layouts)])
with tvm.transform.PassContext(opt_level=3):
mod = seq(mod)
target = tvm.target.Target("llvm", host="llvm")
dev = tvm.cpu(0)
with relay.build_config(opt_level=3):
lib = relay.build(mod, target, params=params)
m = tvm.contrib.graph_executor.GraphModule(lib["default"](dev))
m.set_input(**{input_name: data})
m.run()
tvm_output = [m.get_output(kk).numpy() for kk in range(m.get_num_outputs())]
np.testing.assert_allclose(
np.squeeze(tvm_output[0]), np.squeeze(tf_output[0]), rtol=1e-2, atol=1e-3
)
TF1 变换为 PyTorch 模型#
简化模型:
with tvm.transform.PassContext(opt_level=3):
mod = relay.quantize.prerequisite_optimize(mod, params)
替换 NHWC 为 NCHW 模型:
from tvm.relay.dataflow_pattern import (
wildcard, is_op, is_var,
# FunctionPattern,
DFPatternCallback,
rewrite
)
class InputNHWC2NCHW(DFPatternCallback):
def __init__(self):
super().__init__()
self.x = is_var()
self.layout_transform = is_op("layout_transform")(self.x)
self.pattern = self.layout_transform
def callback(self, pre, post, node_map):
x = node_map[self.x][0]
layout_transform = node_map[self.layout_transform][0]
inp_type = relay.transform.InferTypeLocal(x)
N, H, W, C = inp_type.shape
if layout_transform.attrs.src_layout=="NHWC" and layout_transform.attrs.dst_layout=="NCHW":
x = relay.var(x.name_hint, shape=(N, C, H, W), dtype=inp_type.dtype, span=x.span)
# relay.transform.InferTypeLocal(x)
return x
return post
expr = rewrite(InputNHWC2NCHW(), mod["main"].body)
run_mod = tvm.IRModule.from_expr(expr)
run_mod = relay.transform.InferType()(run_mod)
with tvm.transform.PassContext(opt_level=3):
run_mod = relay.quantize.prerequisite_optimize(run_mod, params)
验证数值一致性:
target = tvm.target.Target("llvm", host="llvm")
dev = tvm.cpu(0)
with relay.build_config(opt_level=3):
lib = relay.build(run_mod, target, params=params)
m = tvm.contrib.graph_executor.GraphModule(lib["default"](dev))
m.set_input(**{input_name: data.transpose((0, 3, 1, 2))})
m.run()
new_tvm_output = [m.get_output(kk).numpy() for kk in range(m.get_num_outputs())]
np.testing.assert_allclose(
np.squeeze(tvm_output[0]), np.squeeze(new_tvm_output[0]), rtol=1e-2, atol=1e-3
)
from tvm.contrib.msc.core.frontend import translate
from tvm.contrib.msc.framework.tvm import codegen as tvm_codegen
from tvm.contrib.msc.framework.torch import codegen
graph, weights = translate.from_relay(run_mod, params, opt_config={"opt_level": 3})
from tvm.relax.testing import relay_translator
target = tvm.target.Target("llvm", host="llvm")
relax_mod = relay_translator.from_relay(run_mod["main"], target)
[09:18:56] /media/pc/data/lxw/ai/tvm/src/relax/ir/block_builder.cc:65: Warning: BlockBuilder destroyed with remaining blocks!
[09:18:56] /media/pc/data/lxw/ai/tvm/src/relax/ir/block_builder.cc:65: Warning: BlockBuilder destroyed with remaining blocks!
from tvm.contrib.msc.core.frontend import translate
graph, weights = translate.from_relax(relax_mod)
print(graph)
main <INPUTS: input:0| OUTPUTS: call_tir_159:0>
ID_0 input <PARENTS: | CHILDERN: call_tir>
OUT: input:0(input)<1,3,224,224|float32>
OPTYPE: input
ID_1 call_tir <PARENTS: input| CHILDERN: call_tir_1>
IN: input:0(input)<1,3,224,224|float32>
OUT: call_tir:0<1,1,224,224,3|float32>
OPTYPE: call_tir
SCOPE: block
ID_2 const <PARENTS: | CHILDERN: call_tir_1>
OUT: const:0<12,1,3,3,3,4|float32>
OPTYPE: constant
WEIGHTS:
const: const<12,1,3,3,3,4|float32>
ID_3 call_tir_1 <PARENTS: call_tir,const| CHILDERN: call_tir_2>
IN: call_tir:0<1,1,224,224,3|float32>,const:0<12,1,3,3,3,4|float32>
OUT: call_tir_1:0<1,12,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_4 const_1 <PARENTS: | CHILDERN: call_tir_2>
OUT: const_1:0<1,12,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_1<1,12,1,1,4|float32>
ID_5 call_tir_2 <PARENTS: call_tir_1,const_1| CHILDERN: call_tir_3>
IN: call_tir_1:0<1,12,112,112,4|float32>,const_1:0<1,12,1,1,4|float32>
OUT: call_tir_2:0<1,12,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_6 call_tir_3 <PARENTS: call_tir_2| CHILDERN: call_tir_4>
IN: call_tir_2:0<1,12,112,112,4|float32>
OUT: call_tir_3:0<1,12,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_7 const_2 <PARENTS: | CHILDERN: call_tir_4>
OUT: const_2:0<12,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_2<12,1,3,3,1,4|float32>
ID_8 call_tir_4 <PARENTS: call_tir_3,const_2| CHILDERN: call_tir_5>
IN: call_tir_3:0<1,12,112,112,4|float32>,const_2:0<12,1,3,3,1,4|float32>
OUT: call_tir_4:0<1,12,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_9 const_3 <PARENTS: | CHILDERN: call_tir_5>
OUT: const_3:0<1,12,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_3<1,12,1,1,4|float32>
ID_10 call_tir_5 <PARENTS: call_tir_4,const_3| CHILDERN: call_tir_6>
IN: call_tir_4:0<1,12,112,112,4|float32>,const_3:0<1,12,1,1,4|float32>
OUT: call_tir_5:0<1,12,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_11 call_tir_6 <PARENTS: call_tir_5| CHILDERN: call_tir_7>
IN: call_tir_5:0<1,12,112,112,4|float32>
OUT: call_tir_6:0<1,12,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_12 const_4 <PARENTS: | CHILDERN: call_tir_7>
OUT: const_4:0<6,12,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_4<6,12,1,1,4,4|float32>
ID_13 call_tir_7 <PARENTS: call_tir_6,const_4| CHILDERN: call_tir_8>
IN: call_tir_6:0<1,12,112,112,4|float32>,const_4:0<6,12,1,1,4,4|float32>
OUT: call_tir_7:0<1,6,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_14 const_5 <PARENTS: | CHILDERN: call_tir_8>
OUT: const_5:0<1,6,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_5<1,6,1,1,4|float32>
ID_15 call_tir_8 <PARENTS: call_tir_7,const_5| CHILDERN: call_tir_9>
IN: call_tir_7:0<1,6,112,112,4|float32>,const_5:0<1,6,1,1,4|float32>
OUT: call_tir_8:0<1,6,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_16 const_6 <PARENTS: | CHILDERN: call_tir_9>
OUT: const_6:0<36,6,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_6<36,6,1,1,4,4|float32>
ID_17 call_tir_9 <PARENTS: call_tir_8,const_6| CHILDERN: call_tir_10>
IN: call_tir_8:0<1,6,112,112,4|float32>,const_6:0<36,6,1,1,4,4|float32>
OUT: call_tir_9:0<1,36,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_18 const_7 <PARENTS: | CHILDERN: call_tir_10>
OUT: const_7:0<1,36,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_7<1,36,1,1,4|float32>
ID_19 call_tir_10 <PARENTS: call_tir_9,const_7| CHILDERN: call_tir_11>
IN: call_tir_9:0<1,36,112,112,4|float32>,const_7:0<1,36,1,1,4|float32>
OUT: call_tir_10:0<1,36,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_20 call_tir_11 <PARENTS: call_tir_10| CHILDERN: call_tir_12>
IN: call_tir_10:0<1,36,112,112,4|float32>
OUT: call_tir_11:0<1,36,112,112,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_21 const_8 <PARENTS: | CHILDERN: call_tir_12>
OUT: const_8:0<36,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_8<36,1,3,3,1,4|float32>
ID_22 call_tir_12 <PARENTS: call_tir_11,const_8| CHILDERN: call_tir_13>
IN: call_tir_11:0<1,36,112,112,4|float32>,const_8:0<36,1,3,3,1,4|float32>
OUT: call_tir_12:0<1,36,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_23 const_9 <PARENTS: | CHILDERN: call_tir_13>
OUT: const_9:0<1,36,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_9<1,36,1,1,4|float32>
ID_24 call_tir_13 <PARENTS: call_tir_12,const_9| CHILDERN: call_tir_14>
IN: call_tir_12:0<1,36,56,56,4|float32>,const_9:0<1,36,1,1,4|float32>
OUT: call_tir_13:0<1,36,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_25 call_tir_14 <PARENTS: call_tir_13| CHILDERN: call_tir_15>
IN: call_tir_13:0<1,36,56,56,4|float32>
OUT: call_tir_14:0<1,36,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_26 const_10 <PARENTS: | CHILDERN: call_tir_15>
OUT: const_10:0<8,36,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_10<8,36,1,1,4,4|float32>
ID_27 call_tir_15 <PARENTS: call_tir_14,const_10| CHILDERN: call_tir_16>
IN: call_tir_14:0<1,36,56,56,4|float32>,const_10:0<8,36,1,1,4,4|float32>
OUT: call_tir_15:0<1,8,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_28 const_11 <PARENTS: | CHILDERN: call_tir_16>
OUT: const_11:0<1,8,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_11<1,8,1,1,4|float32>
ID_29 call_tir_16 <PARENTS: call_tir_15,const_11| CHILDERN: call_tir_17,call_tir_25>
IN: call_tir_15:0<1,8,56,56,4|float32>,const_11:0<1,8,1,1,4|float32>
OUT: call_tir_16:0<1,8,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_30 const_12 <PARENTS: | CHILDERN: call_tir_17>
OUT: const_12:0<48,8,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_12<48,8,1,1,4,4|float32>
ID_31 call_tir_17 <PARENTS: call_tir_16,const_12| CHILDERN: call_tir_18>
IN: call_tir_16:0<1,8,56,56,4|float32>,const_12:0<48,8,1,1,4,4|float32>
OUT: call_tir_17:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_32 const_13 <PARENTS: | CHILDERN: call_tir_18>
OUT: const_13:0<1,48,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_13<1,48,1,1,4|float32>
ID_33 call_tir_18 <PARENTS: call_tir_17,const_13| CHILDERN: call_tir_19>
IN: call_tir_17:0<1,48,56,56,4|float32>,const_13:0<1,48,1,1,4|float32>
OUT: call_tir_18:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_34 call_tir_19 <PARENTS: call_tir_18| CHILDERN: call_tir_20>
IN: call_tir_18:0<1,48,56,56,4|float32>
OUT: call_tir_19:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_35 const_14 <PARENTS: | CHILDERN: call_tir_20>
OUT: const_14:0<48,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_14<48,1,3,3,1,4|float32>
ID_36 call_tir_20 <PARENTS: call_tir_19,const_14| CHILDERN: call_tir_21>
IN: call_tir_19:0<1,48,56,56,4|float32>,const_14:0<48,1,3,3,1,4|float32>
OUT: call_tir_20:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_37 const_15 <PARENTS: | CHILDERN: call_tir_21>
OUT: const_15:0<1,48,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_15<1,48,1,1,4|float32>
ID_38 call_tir_21 <PARENTS: call_tir_20,const_15| CHILDERN: call_tir_22>
IN: call_tir_20:0<1,48,56,56,4|float32>,const_15:0<1,48,1,1,4|float32>
OUT: call_tir_21:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_39 call_tir_22 <PARENTS: call_tir_21| CHILDERN: call_tir_23>
IN: call_tir_21:0<1,48,56,56,4|float32>
OUT: call_tir_22:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_40 const_16 <PARENTS: | CHILDERN: call_tir_23>
OUT: const_16:0<8,48,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_16<8,48,1,1,4,4|float32>
ID_41 call_tir_23 <PARENTS: call_tir_22,const_16| CHILDERN: call_tir_24>
IN: call_tir_22:0<1,48,56,56,4|float32>,const_16:0<8,48,1,1,4,4|float32>
OUT: call_tir_23:0<1,8,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_42 const_17 <PARENTS: | CHILDERN: call_tir_24>
OUT: const_17:0<1,8,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_17<1,8,1,1,4|float32>
ID_43 call_tir_24 <PARENTS: call_tir_23,const_17| CHILDERN: call_tir_25>
IN: call_tir_23:0<1,8,56,56,4|float32>,const_17:0<1,8,1,1,4|float32>
OUT: call_tir_24:0<1,8,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_44 call_tir_25 <PARENTS: call_tir_24,call_tir_16| CHILDERN: call_tir_26>
IN: call_tir_24:0<1,8,56,56,4|float32>,call_tir_16:0<1,8,56,56,4|float32>
OUT: call_tir_25:0<1,8,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_45 const_18 <PARENTS: | CHILDERN: call_tir_26>
OUT: const_18:0<48,8,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_18<48,8,1,1,4,4|float32>
ID_46 call_tir_26 <PARENTS: call_tir_25,const_18| CHILDERN: call_tir_27>
IN: call_tir_25:0<1,8,56,56,4|float32>,const_18:0<48,8,1,1,4,4|float32>
OUT: call_tir_26:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_47 const_19 <PARENTS: | CHILDERN: call_tir_27>
OUT: const_19:0<1,48,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_19<1,48,1,1,4|float32>
ID_48 call_tir_27 <PARENTS: call_tir_26,const_19| CHILDERN: call_tir_28>
IN: call_tir_26:0<1,48,56,56,4|float32>,const_19:0<1,48,1,1,4|float32>
OUT: call_tir_27:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_49 call_tir_28 <PARENTS: call_tir_27| CHILDERN: call_tir_29>
IN: call_tir_27:0<1,48,56,56,4|float32>
OUT: call_tir_28:0<1,48,56,56,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_50 const_20 <PARENTS: | CHILDERN: call_tir_29>
OUT: const_20:0<48,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_20<48,1,3,3,1,4|float32>
ID_51 call_tir_29 <PARENTS: call_tir_28,const_20| CHILDERN: call_tir_30>
IN: call_tir_28:0<1,48,56,56,4|float32>,const_20:0<48,1,3,3,1,4|float32>
OUT: call_tir_29:0<1,48,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_52 const_21 <PARENTS: | CHILDERN: call_tir_30>
OUT: const_21:0<1,48,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_21<1,48,1,1,4|float32>
ID_53 call_tir_30 <PARENTS: call_tir_29,const_21| CHILDERN: call_tir_31>
IN: call_tir_29:0<1,48,28,28,4|float32>,const_21:0<1,48,1,1,4|float32>
OUT: call_tir_30:0<1,48,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_54 call_tir_31 <PARENTS: call_tir_30| CHILDERN: call_tir_32>
IN: call_tir_30:0<1,48,28,28,4|float32>
OUT: call_tir_31:0<1,48,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_55 const_22 <PARENTS: | CHILDERN: call_tir_32>
OUT: const_22:0<12,48,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_22<12,48,1,1,4,4|float32>
ID_56 call_tir_32 <PARENTS: call_tir_31,const_22| CHILDERN: call_tir_33>
IN: call_tir_31:0<1,48,28,28,4|float32>,const_22:0<12,48,1,1,4,4|float32>
OUT: call_tir_32:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_57 const_23 <PARENTS: | CHILDERN: call_tir_33>
OUT: const_23:0<1,12,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_23<1,12,1,1,4|float32>
ID_58 call_tir_33 <PARENTS: call_tir_32,const_23| CHILDERN: call_tir_34,call_tir_42>
IN: call_tir_32:0<1,12,28,28,4|float32>,const_23:0<1,12,1,1,4|float32>
OUT: call_tir_33:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_59 const_24 <PARENTS: | CHILDERN: call_tir_34>
OUT: const_24:0<72,12,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_24<72,12,1,1,4,4|float32>
ID_60 call_tir_34 <PARENTS: call_tir_33,const_24| CHILDERN: call_tir_35>
IN: call_tir_33:0<1,12,28,28,4|float32>,const_24:0<72,12,1,1,4,4|float32>
OUT: call_tir_34:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_61 const_25 <PARENTS: | CHILDERN: call_tir_35>
OUT: const_25:0<1,72,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_25<1,72,1,1,4|float32>
ID_62 call_tir_35 <PARENTS: call_tir_34,const_25| CHILDERN: call_tir_36>
IN: call_tir_34:0<1,72,28,28,4|float32>,const_25:0<1,72,1,1,4|float32>
OUT: call_tir_35:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_63 call_tir_36 <PARENTS: call_tir_35| CHILDERN: call_tir_37>
IN: call_tir_35:0<1,72,28,28,4|float32>
OUT: call_tir_36:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_64 const_26 <PARENTS: | CHILDERN: call_tir_37>
OUT: const_26:0<72,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_26<72,1,3,3,1,4|float32>
ID_65 call_tir_37 <PARENTS: call_tir_36,const_26| CHILDERN: call_tir_38>
IN: call_tir_36:0<1,72,28,28,4|float32>,const_26:0<72,1,3,3,1,4|float32>
OUT: call_tir_37:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_66 const_27 <PARENTS: | CHILDERN: call_tir_38>
OUT: const_27:0<1,72,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_27<1,72,1,1,4|float32>
ID_67 call_tir_38 <PARENTS: call_tir_37,const_27| CHILDERN: call_tir_39>
IN: call_tir_37:0<1,72,28,28,4|float32>,const_27:0<1,72,1,1,4|float32>
OUT: call_tir_38:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_68 call_tir_39 <PARENTS: call_tir_38| CHILDERN: call_tir_40>
IN: call_tir_38:0<1,72,28,28,4|float32>
OUT: call_tir_39:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_69 const_28 <PARENTS: | CHILDERN: call_tir_40>
OUT: const_28:0<12,72,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_28<12,72,1,1,4,4|float32>
ID_70 call_tir_40 <PARENTS: call_tir_39,const_28| CHILDERN: call_tir_41>
IN: call_tir_39:0<1,72,28,28,4|float32>,const_28:0<12,72,1,1,4,4|float32>
OUT: call_tir_40:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_71 const_29 <PARENTS: | CHILDERN: call_tir_41>
OUT: const_29:0<1,12,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_29<1,12,1,1,4|float32>
ID_72 call_tir_41 <PARENTS: call_tir_40,const_29| CHILDERN: call_tir_42>
IN: call_tir_40:0<1,12,28,28,4|float32>,const_29:0<1,12,1,1,4|float32>
OUT: call_tir_41:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_73 call_tir_42 <PARENTS: call_tir_41,call_tir_33| CHILDERN: call_tir_43,call_tir_51>
IN: call_tir_41:0<1,12,28,28,4|float32>,call_tir_33:0<1,12,28,28,4|float32>
OUT: call_tir_42:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_74 const_30 <PARENTS: | CHILDERN: call_tir_43>
OUT: const_30:0<72,12,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_30<72,12,1,1,4,4|float32>
ID_75 call_tir_43 <PARENTS: call_tir_42,const_30| CHILDERN: call_tir_44>
IN: call_tir_42:0<1,12,28,28,4|float32>,const_30:0<72,12,1,1,4,4|float32>
OUT: call_tir_43:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_76 const_31 <PARENTS: | CHILDERN: call_tir_44>
OUT: const_31:0<1,72,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_31<1,72,1,1,4|float32>
ID_77 call_tir_44 <PARENTS: call_tir_43,const_31| CHILDERN: call_tir_45>
IN: call_tir_43:0<1,72,28,28,4|float32>,const_31:0<1,72,1,1,4|float32>
OUT: call_tir_44:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_78 call_tir_45 <PARENTS: call_tir_44| CHILDERN: call_tir_46>
IN: call_tir_44:0<1,72,28,28,4|float32>
OUT: call_tir_45:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_79 const_32 <PARENTS: | CHILDERN: call_tir_46>
OUT: const_32:0<72,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_32<72,1,3,3,1,4|float32>
ID_80 call_tir_46 <PARENTS: call_tir_45,const_32| CHILDERN: call_tir_47>
IN: call_tir_45:0<1,72,28,28,4|float32>,const_32:0<72,1,3,3,1,4|float32>
OUT: call_tir_46:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_81 const_33 <PARENTS: | CHILDERN: call_tir_47>
OUT: const_33:0<1,72,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_33<1,72,1,1,4|float32>
ID_82 call_tir_47 <PARENTS: call_tir_46,const_33| CHILDERN: call_tir_48>
IN: call_tir_46:0<1,72,28,28,4|float32>,const_33:0<1,72,1,1,4|float32>
OUT: call_tir_47:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_83 call_tir_48 <PARENTS: call_tir_47| CHILDERN: call_tir_49>
IN: call_tir_47:0<1,72,28,28,4|float32>
OUT: call_tir_48:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_84 const_34 <PARENTS: | CHILDERN: call_tir_49>
OUT: const_34:0<12,72,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_34<12,72,1,1,4,4|float32>
ID_85 call_tir_49 <PARENTS: call_tir_48,const_34| CHILDERN: call_tir_50>
IN: call_tir_48:0<1,72,28,28,4|float32>,const_34:0<12,72,1,1,4,4|float32>
OUT: call_tir_49:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_86 const_35 <PARENTS: | CHILDERN: call_tir_50>
OUT: const_35:0<1,12,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_35<1,12,1,1,4|float32>
ID_87 call_tir_50 <PARENTS: call_tir_49,const_35| CHILDERN: call_tir_51>
IN: call_tir_49:0<1,12,28,28,4|float32>,const_35:0<1,12,1,1,4|float32>
OUT: call_tir_50:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_88 call_tir_51 <PARENTS: call_tir_50,call_tir_42| CHILDERN: call_tir_52>
IN: call_tir_50:0<1,12,28,28,4|float32>,call_tir_42:0<1,12,28,28,4|float32>
OUT: call_tir_51:0<1,12,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_89 const_36 <PARENTS: | CHILDERN: call_tir_52>
OUT: const_36:0<72,12,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_36<72,12,1,1,4,4|float32>
ID_90 call_tir_52 <PARENTS: call_tir_51,const_36| CHILDERN: call_tir_53>
IN: call_tir_51:0<1,12,28,28,4|float32>,const_36:0<72,12,1,1,4,4|float32>
OUT: call_tir_52:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_91 const_37 <PARENTS: | CHILDERN: call_tir_53>
OUT: const_37:0<1,72,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_37<1,72,1,1,4|float32>
ID_92 call_tir_53 <PARENTS: call_tir_52,const_37| CHILDERN: call_tir_54>
IN: call_tir_52:0<1,72,28,28,4|float32>,const_37:0<1,72,1,1,4|float32>
OUT: call_tir_53:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_93 call_tir_54 <PARENTS: call_tir_53| CHILDERN: call_tir_55>
IN: call_tir_53:0<1,72,28,28,4|float32>
OUT: call_tir_54:0<1,72,28,28,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_94 const_38 <PARENTS: | CHILDERN: call_tir_55>
OUT: const_38:0<72,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_38<72,1,3,3,1,4|float32>
ID_95 call_tir_55 <PARENTS: call_tir_54,const_38| CHILDERN: call_tir_56>
IN: call_tir_54:0<1,72,28,28,4|float32>,const_38:0<72,1,3,3,1,4|float32>
OUT: call_tir_55:0<1,72,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_96 const_39 <PARENTS: | CHILDERN: call_tir_56>
OUT: const_39:0<1,72,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_39<1,72,1,1,4|float32>
ID_97 call_tir_56 <PARENTS: call_tir_55,const_39| CHILDERN: call_tir_57>
IN: call_tir_55:0<1,72,14,14,4|float32>,const_39:0<1,72,1,1,4|float32>
OUT: call_tir_56:0<1,72,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_98 call_tir_57 <PARENTS: call_tir_56| CHILDERN: call_tir_58>
IN: call_tir_56:0<1,72,14,14,4|float32>
OUT: call_tir_57:0<1,72,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_99 const_40 <PARENTS: | CHILDERN: call_tir_58>
OUT: const_40:0<22,72,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_40<22,72,1,1,4,4|float32>
ID_100 call_tir_58 <PARENTS: call_tir_57,const_40| CHILDERN: call_tir_59>
IN: call_tir_57:0<1,72,14,14,4|float32>,const_40:0<22,72,1,1,4,4|float32>
OUT: call_tir_58:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_101 const_41 <PARENTS: | CHILDERN: call_tir_59>
OUT: const_41:0<1,22,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_41<1,22,1,1,4|float32>
ID_102 call_tir_59 <PARENTS: call_tir_58,const_41| CHILDERN: call_tir_60,call_tir_68>
IN: call_tir_58:0<1,22,14,14,4|float32>,const_41:0<1,22,1,1,4|float32>
OUT: call_tir_59:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_103 const_42 <PARENTS: | CHILDERN: call_tir_60>
OUT: const_42:0<132,22,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_42<132,22,1,1,4,4|float32>
ID_104 call_tir_60 <PARENTS: call_tir_59,const_42| CHILDERN: call_tir_61>
IN: call_tir_59:0<1,22,14,14,4|float32>,const_42:0<132,22,1,1,4,4|float32>
OUT: call_tir_60:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_105 const_43 <PARENTS: | CHILDERN: call_tir_61>
OUT: const_43:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_43<1,132,1,1,4|float32>
ID_106 call_tir_61 <PARENTS: call_tir_60,const_43| CHILDERN: call_tir_62>
IN: call_tir_60:0<1,132,14,14,4|float32>,const_43:0<1,132,1,1,4|float32>
OUT: call_tir_61:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_107 call_tir_62 <PARENTS: call_tir_61| CHILDERN: call_tir_63>
IN: call_tir_61:0<1,132,14,14,4|float32>
OUT: call_tir_62:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_108 const_44 <PARENTS: | CHILDERN: call_tir_63>
OUT: const_44:0<132,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_44<132,1,3,3,1,4|float32>
ID_109 call_tir_63 <PARENTS: call_tir_62,const_44| CHILDERN: call_tir_64>
IN: call_tir_62:0<1,132,14,14,4|float32>,const_44:0<132,1,3,3,1,4|float32>
OUT: call_tir_63:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_110 const_45 <PARENTS: | CHILDERN: call_tir_64>
OUT: const_45:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_45<1,132,1,1,4|float32>
ID_111 call_tir_64 <PARENTS: call_tir_63,const_45| CHILDERN: call_tir_65>
IN: call_tir_63:0<1,132,14,14,4|float32>,const_45:0<1,132,1,1,4|float32>
OUT: call_tir_64:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_112 call_tir_65 <PARENTS: call_tir_64| CHILDERN: call_tir_66>
IN: call_tir_64:0<1,132,14,14,4|float32>
OUT: call_tir_65:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_113 const_46 <PARENTS: | CHILDERN: call_tir_66>
OUT: const_46:0<22,132,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_46<22,132,1,1,4,4|float32>
ID_114 call_tir_66 <PARENTS: call_tir_65,const_46| CHILDERN: call_tir_67>
IN: call_tir_65:0<1,132,14,14,4|float32>,const_46:0<22,132,1,1,4,4|float32>
OUT: call_tir_66:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_115 const_47 <PARENTS: | CHILDERN: call_tir_67>
OUT: const_47:0<1,22,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_47<1,22,1,1,4|float32>
ID_116 call_tir_67 <PARENTS: call_tir_66,const_47| CHILDERN: call_tir_68>
IN: call_tir_66:0<1,22,14,14,4|float32>,const_47:0<1,22,1,1,4|float32>
OUT: call_tir_67:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_117 call_tir_68 <PARENTS: call_tir_67,call_tir_59| CHILDERN: call_tir_69,call_tir_77>
IN: call_tir_67:0<1,22,14,14,4|float32>,call_tir_59:0<1,22,14,14,4|float32>
OUT: call_tir_68:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_118 const_48 <PARENTS: | CHILDERN: call_tir_69>
OUT: const_48:0<132,22,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_48<132,22,1,1,4,4|float32>
ID_119 call_tir_69 <PARENTS: call_tir_68,const_48| CHILDERN: call_tir_70>
IN: call_tir_68:0<1,22,14,14,4|float32>,const_48:0<132,22,1,1,4,4|float32>
OUT: call_tir_69:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_120 const_49 <PARENTS: | CHILDERN: call_tir_70>
OUT: const_49:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_49<1,132,1,1,4|float32>
ID_121 call_tir_70 <PARENTS: call_tir_69,const_49| CHILDERN: call_tir_71>
IN: call_tir_69:0<1,132,14,14,4|float32>,const_49:0<1,132,1,1,4|float32>
OUT: call_tir_70:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_122 call_tir_71 <PARENTS: call_tir_70| CHILDERN: call_tir_72>
IN: call_tir_70:0<1,132,14,14,4|float32>
OUT: call_tir_71:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_123 const_50 <PARENTS: | CHILDERN: call_tir_72>
OUT: const_50:0<132,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_50<132,1,3,3,1,4|float32>
ID_124 call_tir_72 <PARENTS: call_tir_71,const_50| CHILDERN: call_tir_73>
IN: call_tir_71:0<1,132,14,14,4|float32>,const_50:0<132,1,3,3,1,4|float32>
OUT: call_tir_72:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_125 const_51 <PARENTS: | CHILDERN: call_tir_73>
OUT: const_51:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_51<1,132,1,1,4|float32>
ID_126 call_tir_73 <PARENTS: call_tir_72,const_51| CHILDERN: call_tir_74>
IN: call_tir_72:0<1,132,14,14,4|float32>,const_51:0<1,132,1,1,4|float32>
OUT: call_tir_73:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_127 call_tir_74 <PARENTS: call_tir_73| CHILDERN: call_tir_75>
IN: call_tir_73:0<1,132,14,14,4|float32>
OUT: call_tir_74:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_128 const_52 <PARENTS: | CHILDERN: call_tir_75>
OUT: const_52:0<22,132,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_52<22,132,1,1,4,4|float32>
ID_129 call_tir_75 <PARENTS: call_tir_74,const_52| CHILDERN: call_tir_76>
IN: call_tir_74:0<1,132,14,14,4|float32>,const_52:0<22,132,1,1,4,4|float32>
OUT: call_tir_75:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_130 const_53 <PARENTS: | CHILDERN: call_tir_76>
OUT: const_53:0<1,22,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_53<1,22,1,1,4|float32>
ID_131 call_tir_76 <PARENTS: call_tir_75,const_53| CHILDERN: call_tir_77>
IN: call_tir_75:0<1,22,14,14,4|float32>,const_53:0<1,22,1,1,4|float32>
OUT: call_tir_76:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_132 call_tir_77 <PARENTS: call_tir_76,call_tir_68| CHILDERN: call_tir_78,call_tir_86>
IN: call_tir_76:0<1,22,14,14,4|float32>,call_tir_68:0<1,22,14,14,4|float32>
OUT: call_tir_77:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_133 const_54 <PARENTS: | CHILDERN: call_tir_78>
OUT: const_54:0<132,22,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_54<132,22,1,1,4,4|float32>
ID_134 call_tir_78 <PARENTS: call_tir_77,const_54| CHILDERN: call_tir_79>
IN: call_tir_77:0<1,22,14,14,4|float32>,const_54:0<132,22,1,1,4,4|float32>
OUT: call_tir_78:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_135 const_55 <PARENTS: | CHILDERN: call_tir_79>
OUT: const_55:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_55<1,132,1,1,4|float32>
ID_136 call_tir_79 <PARENTS: call_tir_78,const_55| CHILDERN: call_tir_80>
IN: call_tir_78:0<1,132,14,14,4|float32>,const_55:0<1,132,1,1,4|float32>
OUT: call_tir_79:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_137 call_tir_80 <PARENTS: call_tir_79| CHILDERN: call_tir_81>
IN: call_tir_79:0<1,132,14,14,4|float32>
OUT: call_tir_80:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_138 const_56 <PARENTS: | CHILDERN: call_tir_81>
OUT: const_56:0<132,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_56<132,1,3,3,1,4|float32>
ID_139 call_tir_81 <PARENTS: call_tir_80,const_56| CHILDERN: call_tir_82>
IN: call_tir_80:0<1,132,14,14,4|float32>,const_56:0<132,1,3,3,1,4|float32>
OUT: call_tir_81:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_140 const_57 <PARENTS: | CHILDERN: call_tir_82>
OUT: const_57:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_57<1,132,1,1,4|float32>
ID_141 call_tir_82 <PARENTS: call_tir_81,const_57| CHILDERN: call_tir_83>
IN: call_tir_81:0<1,132,14,14,4|float32>,const_57:0<1,132,1,1,4|float32>
OUT: call_tir_82:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_142 call_tir_83 <PARENTS: call_tir_82| CHILDERN: call_tir_84>
IN: call_tir_82:0<1,132,14,14,4|float32>
OUT: call_tir_83:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_143 const_58 <PARENTS: | CHILDERN: call_tir_84>
OUT: const_58:0<22,132,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_58<22,132,1,1,4,4|float32>
ID_144 call_tir_84 <PARENTS: call_tir_83,const_58| CHILDERN: call_tir_85>
IN: call_tir_83:0<1,132,14,14,4|float32>,const_58:0<22,132,1,1,4,4|float32>
OUT: call_tir_84:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_145 const_59 <PARENTS: | CHILDERN: call_tir_85>
OUT: const_59:0<1,22,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_59<1,22,1,1,4|float32>
ID_146 call_tir_85 <PARENTS: call_tir_84,const_59| CHILDERN: call_tir_86>
IN: call_tir_84:0<1,22,14,14,4|float32>,const_59:0<1,22,1,1,4|float32>
OUT: call_tir_85:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_147 call_tir_86 <PARENTS: call_tir_85,call_tir_77| CHILDERN: call_tir_87>
IN: call_tir_85:0<1,22,14,14,4|float32>,call_tir_77:0<1,22,14,14,4|float32>
OUT: call_tir_86:0<1,22,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_148 const_60 <PARENTS: | CHILDERN: call_tir_87>
OUT: const_60:0<132,22,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_60<132,22,1,1,4,4|float32>
ID_149 call_tir_87 <PARENTS: call_tir_86,const_60| CHILDERN: call_tir_88>
IN: call_tir_86:0<1,22,14,14,4|float32>,const_60:0<132,22,1,1,4,4|float32>
OUT: call_tir_87:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_150 const_61 <PARENTS: | CHILDERN: call_tir_88>
OUT: const_61:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_61<1,132,1,1,4|float32>
ID_151 call_tir_88 <PARENTS: call_tir_87,const_61| CHILDERN: call_tir_89>
IN: call_tir_87:0<1,132,14,14,4|float32>,const_61:0<1,132,1,1,4|float32>
OUT: call_tir_88:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_152 call_tir_89 <PARENTS: call_tir_88| CHILDERN: call_tir_90>
IN: call_tir_88:0<1,132,14,14,4|float32>
OUT: call_tir_89:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_153 const_62 <PARENTS: | CHILDERN: call_tir_90>
OUT: const_62:0<132,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_62<132,1,3,3,1,4|float32>
ID_154 call_tir_90 <PARENTS: call_tir_89,const_62| CHILDERN: call_tir_91>
IN: call_tir_89:0<1,132,14,14,4|float32>,const_62:0<132,1,3,3,1,4|float32>
OUT: call_tir_90:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_155 const_63 <PARENTS: | CHILDERN: call_tir_91>
OUT: const_63:0<1,132,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_63<1,132,1,1,4|float32>
ID_156 call_tir_91 <PARENTS: call_tir_90,const_63| CHILDERN: call_tir_92>
IN: call_tir_90:0<1,132,14,14,4|float32>,const_63:0<1,132,1,1,4|float32>
OUT: call_tir_91:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_157 call_tir_92 <PARENTS: call_tir_91| CHILDERN: call_tir_93>
IN: call_tir_91:0<1,132,14,14,4|float32>
OUT: call_tir_92:0<1,132,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_158 const_64 <PARENTS: | CHILDERN: call_tir_93>
OUT: const_64:0<34,132,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_64<34,132,1,1,4,4|float32>
ID_159 call_tir_93 <PARENTS: call_tir_92,const_64| CHILDERN: call_tir_94>
IN: call_tir_92:0<1,132,14,14,4|float32>,const_64:0<34,132,1,1,4,4|float32>
OUT: call_tir_93:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_160 const_65 <PARENTS: | CHILDERN: call_tir_94>
OUT: const_65:0<1,34,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_65<1,34,1,1,4|float32>
ID_161 call_tir_94 <PARENTS: call_tir_93,const_65| CHILDERN: call_tir_95,call_tir_103>
IN: call_tir_93:0<1,34,14,14,4|float32>,const_65:0<1,34,1,1,4|float32>
OUT: call_tir_94:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_162 const_66 <PARENTS: | CHILDERN: call_tir_95>
OUT: const_66:0<204,34,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_66<204,34,1,1,4,4|float32>
ID_163 call_tir_95 <PARENTS: call_tir_94,const_66| CHILDERN: call_tir_96>
IN: call_tir_94:0<1,34,14,14,4|float32>,const_66:0<204,34,1,1,4,4|float32>
OUT: call_tir_95:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_164 const_67 <PARENTS: | CHILDERN: call_tir_96>
OUT: const_67:0<1,204,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_67<1,204,1,1,4|float32>
ID_165 call_tir_96 <PARENTS: call_tir_95,const_67| CHILDERN: call_tir_97>
IN: call_tir_95:0<1,204,14,14,4|float32>,const_67:0<1,204,1,1,4|float32>
OUT: call_tir_96:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_166 call_tir_97 <PARENTS: call_tir_96| CHILDERN: call_tir_98>
IN: call_tir_96:0<1,204,14,14,4|float32>
OUT: call_tir_97:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_167 const_68 <PARENTS: | CHILDERN: call_tir_98>
OUT: const_68:0<204,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_68<204,1,3,3,1,4|float32>
ID_168 call_tir_98 <PARENTS: call_tir_97,const_68| CHILDERN: call_tir_99>
IN: call_tir_97:0<1,204,14,14,4|float32>,const_68:0<204,1,3,3,1,4|float32>
OUT: call_tir_98:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_169 const_69 <PARENTS: | CHILDERN: call_tir_99>
OUT: const_69:0<1,204,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_69<1,204,1,1,4|float32>
ID_170 call_tir_99 <PARENTS: call_tir_98,const_69| CHILDERN: call_tir_100>
IN: call_tir_98:0<1,204,14,14,4|float32>,const_69:0<1,204,1,1,4|float32>
OUT: call_tir_99:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_171 call_tir_100 <PARENTS: call_tir_99| CHILDERN: call_tir_101>
IN: call_tir_99:0<1,204,14,14,4|float32>
OUT: call_tir_100:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_172 const_70 <PARENTS: | CHILDERN: call_tir_101>
OUT: const_70:0<34,204,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_70<34,204,1,1,4,4|float32>
ID_173 call_tir_101 <PARENTS: call_tir_100,const_70| CHILDERN: call_tir_102>
IN: call_tir_100:0<1,204,14,14,4|float32>,const_70:0<34,204,1,1,4,4|float32>
OUT: call_tir_101:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_174 const_71 <PARENTS: | CHILDERN: call_tir_102>
OUT: const_71:0<1,34,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_71<1,34,1,1,4|float32>
ID_175 call_tir_102 <PARENTS: call_tir_101,const_71| CHILDERN: call_tir_103>
IN: call_tir_101:0<1,34,14,14,4|float32>,const_71:0<1,34,1,1,4|float32>
OUT: call_tir_102:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_176 call_tir_103 <PARENTS: call_tir_102,call_tir_94| CHILDERN: call_tir_104,call_tir_112>
IN: call_tir_102:0<1,34,14,14,4|float32>,call_tir_94:0<1,34,14,14,4|float32>
OUT: call_tir_103:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_177 const_72 <PARENTS: | CHILDERN: call_tir_104>
OUT: const_72:0<204,34,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_72<204,34,1,1,4,4|float32>
ID_178 call_tir_104 <PARENTS: call_tir_103,const_72| CHILDERN: call_tir_105>
IN: call_tir_103:0<1,34,14,14,4|float32>,const_72:0<204,34,1,1,4,4|float32>
OUT: call_tir_104:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_179 const_73 <PARENTS: | CHILDERN: call_tir_105>
OUT: const_73:0<1,204,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_73<1,204,1,1,4|float32>
ID_180 call_tir_105 <PARENTS: call_tir_104,const_73| CHILDERN: call_tir_106>
IN: call_tir_104:0<1,204,14,14,4|float32>,const_73:0<1,204,1,1,4|float32>
OUT: call_tir_105:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_181 call_tir_106 <PARENTS: call_tir_105| CHILDERN: call_tir_107>
IN: call_tir_105:0<1,204,14,14,4|float32>
OUT: call_tir_106:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_182 const_74 <PARENTS: | CHILDERN: call_tir_107>
OUT: const_74:0<204,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_74<204,1,3,3,1,4|float32>
ID_183 call_tir_107 <PARENTS: call_tir_106,const_74| CHILDERN: call_tir_108>
IN: call_tir_106:0<1,204,14,14,4|float32>,const_74:0<204,1,3,3,1,4|float32>
OUT: call_tir_107:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_184 const_75 <PARENTS: | CHILDERN: call_tir_108>
OUT: const_75:0<1,204,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_75<1,204,1,1,4|float32>
ID_185 call_tir_108 <PARENTS: call_tir_107,const_75| CHILDERN: call_tir_109>
IN: call_tir_107:0<1,204,14,14,4|float32>,const_75:0<1,204,1,1,4|float32>
OUT: call_tir_108:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_186 call_tir_109 <PARENTS: call_tir_108| CHILDERN: call_tir_110>
IN: call_tir_108:0<1,204,14,14,4|float32>
OUT: call_tir_109:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_187 const_76 <PARENTS: | CHILDERN: call_tir_110>
OUT: const_76:0<34,204,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_76<34,204,1,1,4,4|float32>
ID_188 call_tir_110 <PARENTS: call_tir_109,const_76| CHILDERN: call_tir_111>
IN: call_tir_109:0<1,204,14,14,4|float32>,const_76:0<34,204,1,1,4,4|float32>
OUT: call_tir_110:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_189 const_77 <PARENTS: | CHILDERN: call_tir_111>
OUT: const_77:0<1,34,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_77<1,34,1,1,4|float32>
ID_190 call_tir_111 <PARENTS: call_tir_110,const_77| CHILDERN: call_tir_112>
IN: call_tir_110:0<1,34,14,14,4|float32>,const_77:0<1,34,1,1,4|float32>
OUT: call_tir_111:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_191 call_tir_112 <PARENTS: call_tir_111,call_tir_103| CHILDERN: call_tir_113>
IN: call_tir_111:0<1,34,14,14,4|float32>,call_tir_103:0<1,34,14,14,4|float32>
OUT: call_tir_112:0<1,34,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_192 const_78 <PARENTS: | CHILDERN: call_tir_113>
OUT: const_78:0<204,34,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_78<204,34,1,1,4,4|float32>
ID_193 call_tir_113 <PARENTS: call_tir_112,const_78| CHILDERN: call_tir_114>
IN: call_tir_112:0<1,34,14,14,4|float32>,const_78:0<204,34,1,1,4,4|float32>
OUT: call_tir_113:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_194 const_79 <PARENTS: | CHILDERN: call_tir_114>
OUT: const_79:0<1,204,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_79<1,204,1,1,4|float32>
ID_195 call_tir_114 <PARENTS: call_tir_113,const_79| CHILDERN: call_tir_115>
IN: call_tir_113:0<1,204,14,14,4|float32>,const_79:0<1,204,1,1,4|float32>
OUT: call_tir_114:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_196 call_tir_115 <PARENTS: call_tir_114| CHILDERN: call_tir_116>
IN: call_tir_114:0<1,204,14,14,4|float32>
OUT: call_tir_115:0<1,204,14,14,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_197 const_80 <PARENTS: | CHILDERN: call_tir_116>
OUT: const_80:0<204,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_80<204,1,3,3,1,4|float32>
ID_198 call_tir_116 <PARENTS: call_tir_115,const_80| CHILDERN: call_tir_117>
IN: call_tir_115:0<1,204,14,14,4|float32>,const_80:0<204,1,3,3,1,4|float32>
OUT: call_tir_116:0<1,204,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_199 const_81 <PARENTS: | CHILDERN: call_tir_117>
OUT: const_81:0<1,204,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_81<1,204,1,1,4|float32>
ID_200 call_tir_117 <PARENTS: call_tir_116,const_81| CHILDERN: call_tir_118>
IN: call_tir_116:0<1,204,7,7,4|float32>,const_81:0<1,204,1,1,4|float32>
OUT: call_tir_117:0<1,204,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_201 call_tir_118 <PARENTS: call_tir_117| CHILDERN: call_tir_119>
IN: call_tir_117:0<1,204,7,7,4|float32>
OUT: call_tir_118:0<1,204,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_202 const_82 <PARENTS: | CHILDERN: call_tir_119>
OUT: const_82:0<56,204,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_82<56,204,1,1,4,4|float32>
ID_203 call_tir_119 <PARENTS: call_tir_118,const_82| CHILDERN: call_tir_120>
IN: call_tir_118:0<1,204,7,7,4|float32>,const_82:0<56,204,1,1,4,4|float32>
OUT: call_tir_119:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_204 const_83 <PARENTS: | CHILDERN: call_tir_120>
OUT: const_83:0<1,56,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_83<1,56,1,1,4|float32>
ID_205 call_tir_120 <PARENTS: call_tir_119,const_83| CHILDERN: call_tir_121,call_tir_129>
IN: call_tir_119:0<1,56,7,7,4|float32>,const_83:0<1,56,1,1,4|float32>
OUT: call_tir_120:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_206 const_84 <PARENTS: | CHILDERN: call_tir_121>
OUT: const_84:0<336,56,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_84<336,56,1,1,4,4|float32>
ID_207 call_tir_121 <PARENTS: call_tir_120,const_84| CHILDERN: call_tir_122>
IN: call_tir_120:0<1,56,7,7,4|float32>,const_84:0<336,56,1,1,4,4|float32>
OUT: call_tir_121:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_208 const_85 <PARENTS: | CHILDERN: call_tir_122>
OUT: const_85:0<1,336,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_85<1,336,1,1,4|float32>
ID_209 call_tir_122 <PARENTS: call_tir_121,const_85| CHILDERN: call_tir_123>
IN: call_tir_121:0<1,336,7,7,4|float32>,const_85:0<1,336,1,1,4|float32>
OUT: call_tir_122:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_210 call_tir_123 <PARENTS: call_tir_122| CHILDERN: call_tir_124>
IN: call_tir_122:0<1,336,7,7,4|float32>
OUT: call_tir_123:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_211 const_86 <PARENTS: | CHILDERN: call_tir_124>
OUT: const_86:0<336,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_86<336,1,3,3,1,4|float32>
ID_212 call_tir_124 <PARENTS: call_tir_123,const_86| CHILDERN: call_tir_125>
IN: call_tir_123:0<1,336,7,7,4|float32>,const_86:0<336,1,3,3,1,4|float32>
OUT: call_tir_124:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_213 const_87 <PARENTS: | CHILDERN: call_tir_125>
OUT: const_87:0<1,336,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_87<1,336,1,1,4|float32>
ID_214 call_tir_125 <PARENTS: call_tir_124,const_87| CHILDERN: call_tir_126>
IN: call_tir_124:0<1,336,7,7,4|float32>,const_87:0<1,336,1,1,4|float32>
OUT: call_tir_125:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_215 call_tir_126 <PARENTS: call_tir_125| CHILDERN: call_tir_127>
IN: call_tir_125:0<1,336,7,7,4|float32>
OUT: call_tir_126:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_216 const_88 <PARENTS: | CHILDERN: call_tir_127>
OUT: const_88:0<56,336,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_88<56,336,1,1,4,4|float32>
ID_217 call_tir_127 <PARENTS: call_tir_126,const_88| CHILDERN: call_tir_128>
IN: call_tir_126:0<1,336,7,7,4|float32>,const_88:0<56,336,1,1,4,4|float32>
OUT: call_tir_127:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_218 const_89 <PARENTS: | CHILDERN: call_tir_128>
OUT: const_89:0<1,56,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_89<1,56,1,1,4|float32>
ID_219 call_tir_128 <PARENTS: call_tir_127,const_89| CHILDERN: call_tir_129>
IN: call_tir_127:0<1,56,7,7,4|float32>,const_89:0<1,56,1,1,4|float32>
OUT: call_tir_128:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_220 call_tir_129 <PARENTS: call_tir_128,call_tir_120| CHILDERN: call_tir_130,call_tir_138>
IN: call_tir_128:0<1,56,7,7,4|float32>,call_tir_120:0<1,56,7,7,4|float32>
OUT: call_tir_129:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_221 const_90 <PARENTS: | CHILDERN: call_tir_130>
OUT: const_90:0<336,56,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_90<336,56,1,1,4,4|float32>
ID_222 call_tir_130 <PARENTS: call_tir_129,const_90| CHILDERN: call_tir_131>
IN: call_tir_129:0<1,56,7,7,4|float32>,const_90:0<336,56,1,1,4,4|float32>
OUT: call_tir_130:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_223 const_91 <PARENTS: | CHILDERN: call_tir_131>
OUT: const_91:0<1,336,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_91<1,336,1,1,4|float32>
ID_224 call_tir_131 <PARENTS: call_tir_130,const_91| CHILDERN: call_tir_132>
IN: call_tir_130:0<1,336,7,7,4|float32>,const_91:0<1,336,1,1,4|float32>
OUT: call_tir_131:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_225 call_tir_132 <PARENTS: call_tir_131| CHILDERN: call_tir_133>
IN: call_tir_131:0<1,336,7,7,4|float32>
OUT: call_tir_132:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_226 const_92 <PARENTS: | CHILDERN: call_tir_133>
OUT: const_92:0<336,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_92<336,1,3,3,1,4|float32>
ID_227 call_tir_133 <PARENTS: call_tir_132,const_92| CHILDERN: call_tir_134>
IN: call_tir_132:0<1,336,7,7,4|float32>,const_92:0<336,1,3,3,1,4|float32>
OUT: call_tir_133:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_228 const_93 <PARENTS: | CHILDERN: call_tir_134>
OUT: const_93:0<1,336,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_93<1,336,1,1,4|float32>
ID_229 call_tir_134 <PARENTS: call_tir_133,const_93| CHILDERN: call_tir_135>
IN: call_tir_133:0<1,336,7,7,4|float32>,const_93:0<1,336,1,1,4|float32>
OUT: call_tir_134:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_230 call_tir_135 <PARENTS: call_tir_134| CHILDERN: call_tir_136>
IN: call_tir_134:0<1,336,7,7,4|float32>
OUT: call_tir_135:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_231 const_94 <PARENTS: | CHILDERN: call_tir_136>
OUT: const_94:0<56,336,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_94<56,336,1,1,4,4|float32>
ID_232 call_tir_136 <PARENTS: call_tir_135,const_94| CHILDERN: call_tir_137>
IN: call_tir_135:0<1,336,7,7,4|float32>,const_94:0<56,336,1,1,4,4|float32>
OUT: call_tir_136:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_233 const_95 <PARENTS: | CHILDERN: call_tir_137>
OUT: const_95:0<1,56,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_95<1,56,1,1,4|float32>
ID_234 call_tir_137 <PARENTS: call_tir_136,const_95| CHILDERN: call_tir_138>
IN: call_tir_136:0<1,56,7,7,4|float32>,const_95:0<1,56,1,1,4|float32>
OUT: call_tir_137:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_235 call_tir_138 <PARENTS: call_tir_137,call_tir_129| CHILDERN: call_tir_139>
IN: call_tir_137:0<1,56,7,7,4|float32>,call_tir_129:0<1,56,7,7,4|float32>
OUT: call_tir_138:0<1,56,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_236 const_96 <PARENTS: | CHILDERN: call_tir_139>
OUT: const_96:0<336,56,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_96<336,56,1,1,4,4|float32>
ID_237 call_tir_139 <PARENTS: call_tir_138,const_96| CHILDERN: call_tir_140>
IN: call_tir_138:0<1,56,7,7,4|float32>,const_96:0<336,56,1,1,4,4|float32>
OUT: call_tir_139:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_238 const_97 <PARENTS: | CHILDERN: call_tir_140>
OUT: const_97:0<1,336,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_97<1,336,1,1,4|float32>
ID_239 call_tir_140 <PARENTS: call_tir_139,const_97| CHILDERN: call_tir_141>
IN: call_tir_139:0<1,336,7,7,4|float32>,const_97:0<1,336,1,1,4|float32>
OUT: call_tir_140:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_240 call_tir_141 <PARENTS: call_tir_140| CHILDERN: call_tir_142>
IN: call_tir_140:0<1,336,7,7,4|float32>
OUT: call_tir_141:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_241 const_98 <PARENTS: | CHILDERN: call_tir_142>
OUT: const_98:0<336,1,3,3,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_98<336,1,3,3,1,4|float32>
ID_242 call_tir_142 <PARENTS: call_tir_141,const_98| CHILDERN: call_tir_143>
IN: call_tir_141:0<1,336,7,7,4|float32>,const_98:0<336,1,3,3,1,4|float32>
OUT: call_tir_142:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_243 const_99 <PARENTS: | CHILDERN: call_tir_143>
OUT: const_99:0<1,336,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_99<1,336,1,1,4|float32>
ID_244 call_tir_143 <PARENTS: call_tir_142,const_99| CHILDERN: call_tir_144>
IN: call_tir_142:0<1,336,7,7,4|float32>,const_99:0<1,336,1,1,4|float32>
OUT: call_tir_143:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_245 call_tir_144 <PARENTS: call_tir_143| CHILDERN: call_tir_145>
IN: call_tir_143:0<1,336,7,7,4|float32>
OUT: call_tir_144:0<1,336,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_246 const_100 <PARENTS: | CHILDERN: call_tir_145>
OUT: const_100:0<112,336,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_100<112,336,1,1,4,4|float32>
ID_247 call_tir_145 <PARENTS: call_tir_144,const_100| CHILDERN: call_tir_146>
IN: call_tir_144:0<1,336,7,7,4|float32>,const_100:0<112,336,1,1,4,4|float32>
OUT: call_tir_145:0<1,112,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_248 const_101 <PARENTS: | CHILDERN: call_tir_146>
OUT: const_101:0<1,112,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_101<1,112,1,1,4|float32>
ID_249 call_tir_146 <PARENTS: call_tir_145,const_101| CHILDERN: call_tir_147>
IN: call_tir_145:0<1,112,7,7,4|float32>,const_101:0<1,112,1,1,4|float32>
OUT: call_tir_146:0<1,112,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_250 const_102 <PARENTS: | CHILDERN: call_tir_147>
OUT: const_102:0<448,112,1,1,4,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_102<448,112,1,1,4,4|float32>
ID_251 call_tir_147 <PARENTS: call_tir_146,const_102| CHILDERN: call_tir_148>
IN: call_tir_146:0<1,112,7,7,4|float32>,const_102:0<448,112,1,1,4,4|float32>
OUT: call_tir_147:0<1,448,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_252 const_103 <PARENTS: | CHILDERN: call_tir_148>
OUT: const_103:0<1,448,1,1,4|float32>
OPTYPE: constant
WEIGHTS:
const: const_103<1,448,1,1,4|float32>
ID_253 call_tir_148 <PARENTS: call_tir_147,const_103| CHILDERN: call_tir_149>
IN: call_tir_147:0<1,448,7,7,4|float32>,const_103:0<1,448,1,1,4|float32>
OUT: call_tir_148:0<1,448,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_254 call_tir_149 <PARENTS: call_tir_148| CHILDERN: call_tir_150>
IN: call_tir_148:0<1,448,7,7,4|float32>
OUT: call_tir_149:0<1,448,7,7,4|float32>
OPTYPE: call_tir
SCOPE: block
ID_255 call_tir_150 <PARENTS: call_tir_149| CHILDERN: call_tir_151>
IN: call_tir_149:0<1,448,7,7,4|float32>
OUT: call_tir_150:0<1,1792,7,7|float32>
OPTYPE: call_tir
SCOPE: block
ID_256 call_tir_151 <PARENTS: call_tir_150| CHILDERN: call_tir_152>
IN: call_tir_150:0<1,1792,7,7|float32>
OUT: call_tir_151:0<1,1792,1,1|float32>
OPTYPE: call_tir
SCOPE: block
ID_257 call_tir_152 <PARENTS: call_tir_151| CHILDERN: call_tir_153>
IN: call_tir_151:0<1,1792,1,1|float32>
OUT: call_tir_152:0<1,1792,1,1,1|float32>
OPTYPE: call_tir
SCOPE: block
ID_258 const_104 <PARENTS: | CHILDERN: call_tir_153>
OUT: const_104:0<1001,1792,1,1,1,1|float32>
OPTYPE: constant
WEIGHTS:
const: const_104<1001,1792,1,1,1,1|float32>
ID_259 call_tir_153 <PARENTS: call_tir_152,const_104| CHILDERN: call_tir_154>
IN: call_tir_152:0<1,1792,1,1,1|float32>,const_104:0<1001,1792,1,1,1,1|float32>
OUT: call_tir_153:0<1,1001,1,1,1|float32>
OPTYPE: call_tir
SCOPE: block
ID_260 const_105 <PARENTS: | CHILDERN: call_tir_154>
OUT: const_105:0<1,1001,1,1,1|float32>
OPTYPE: constant
WEIGHTS:
const: const_105<1,1001,1,1,1|float32>
ID_261 call_tir_154 <PARENTS: call_tir_153,const_105| CHILDERN: call_tir_155>
IN: call_tir_153:0<1,1001,1,1,1|float32>,const_105:0<1,1001,1,1,1|float32>
OUT: call_tir_154:0<1,1001,1,1,1|float32>
OPTYPE: call_tir
SCOPE: block
ID_262 call_tir_155 <PARENTS: call_tir_154| CHILDERN: call_tir_156>
IN: call_tir_154:0<1,1001,1,1,1|float32>
OUT: call_tir_155:0<1,1001,1|float32>
OPTYPE: call_tir
SCOPE: block
ID_263 call_tir_156 <PARENTS: call_tir_155| CHILDERN: call_tir_157>
IN: call_tir_155:0<1,1001,1|float32>
OUT: call_tir_156:0<1,1001|float32>
OPTYPE: call_tir
SCOPE: block
ID_264 call_tir_157 <PARENTS: call_tir_156| CHILDERN: call_tir_158>
IN: call_tir_156:0<1,1001|float32>
OUT: call_tir_157:0<1,1001|float32>
OPTYPE: call_tir
SCOPE: block
ID_265 call_tir_158 <PARENTS: call_tir_157| CHILDERN: call_tir_159>
IN: call_tir_157:0<1,1001|float32>
OUT: call_tir_158:0<1,1001|float32>
OPTYPE: call_tir
SCOPE: block
ID_266 call_tir_159 <PARENTS: call_tir_158| CHILDERN: >
IN: call_tir_158:0<1,1001|float32>
OUT: call_tir_159:0(call_tir_159)<1,1001|float32>
OPTYPE: call_tir
SCOPE: block
model = codegen.to_torch(graph, weights)
---------------------------------------------------------------------------
InternalError Traceback (most recent call last)
Cell In[121], line 1
----> 1 model = codegen.to_torch(graph, weights)
File /media/pc/data/lxw/ai/tvm/python/tvm/contrib/msc/framework/torch/codegen/codegen.py:80, in to_torch(graph, weights, codegen_config, print_config, build_folder, plugin)
78 codegen = CodeGen(graph, _ffi_api.GetTorchSources, codegen_config, print_config, build_folder)
79 model_args = [plugin] if plugin else []
---> 80 return codegen.load(model_args, pre_load=_save_weights, post_load=_bind_weights)
File /media/pc/data/lxw/ai/tvm/python/tvm/contrib/msc/core/codegen/codegen.py:93, in CodeGen.load(self, inputs, pre_load, post_load, build_model)
67 def load(
68 self,
69 inputs: Optional[List[Any]] = None,
(...)
72 build_model: bool = True,
73 ) -> Any:
74 """Generate source and load the model
75
76 Parameters
(...)
90 The model object for the framework.
91 """
---> 93 sources = self._source_getter(self._graph, self._codegen_config, self._print_config)
94 inputs = inputs or []
95 with self._build_folder as folder:
96 # pre processing
File /media/pc/data/lxw/ai/tvm/python/tvm/_ffi/_ctypes/packed_func.py:245, in PackedFuncBase.__call__(self, *args)
233 ret_tcode = ctypes.c_int()
234 if (
235 _LIB.TVMFuncCall(
236 self.handle,
(...)
243 != 0
244 ):
--> 245 raise_last_ffi_error()
246 _ = temp_args
247 _ = args
File /media/pc/data/lxw/ai/tvm/python/tvm/_ffi/base.py:481, in raise_last_ffi_error()
475 # The exception PyObject may contain a large amount of state,
476 # including all stack frames that may be inspected in a later
477 # PDB post-mortem. Therefore, we must make sure to remove the
478 # underlying PyObject* from the C++ side after we retrieve it.
479 _LIB.TVMDropLastPythonError()
--> 481 raise py_err
InternalError: Traceback (most recent call last):
6: _ZN3tvm7runtime13PackedFun
5: tvm::runtime::TypedPackedFunc<tvm::runtime::Map<tvm::runtime::String, tvm::runtime::String, void, void> (tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)>::AssignTypedLambda<tvm::contrib::msc::__mk_TVM0::{lambda(tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)#1}>(tvm::contrib::msc::__mk_TVM0::{lambda(tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const, tvm::runtime::TVMRetValue) const
4: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::GetSources(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
3: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::CodeGenScript()
2: tvm::contrib::msc::TorchCodeGen::CodeGenGraph()
1: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::CodeGenNode(tvm::contrib::msc::MSCJoint const&, bool)
0: tvm::contrib::msc::TorchCodeGen::GetOpCodes(tvm::contrib::msc::MSCJoint const&)
SCOPE: block
OPTYPE: call_tir
OUT: call_tir:0<1,1,224,224,3|float32>
IN: input:0(input)<1,3,224,224|float32>
File "/media/pc/data/lxw/ai/tvm/src/contrib/msc/framework/torch/codegen.cc", line 144
InternalError: Check failed: (it != ops_map->end()) is false: Unsupported torch op(call_tir): ID_1 call_tir <PARENTS: input| CHILDERN: call_tir_1>