Skip to content

Instantly share code, notes, and snippets.

@masahi
Created February 12, 2021 01:39
Show Gist options
  • Save masahi/58f7fe0f9b1f8399038e54a94c2fd927 to your computer and use it in GitHub Desktop.
Save masahi/58f7fe0f9b1f8399038e54a94c2fd927 to your computer and use it in GitHub Desktop.
def @main(%data: Tensor[(1, 3, 224, 224), float32]) -> Tensor[(1, 1000), float32] {
%2 = fn (%p0: Tensor[(1, 3, 224, 224), float32], %p1: Tensor[(3, 1, 1), float32], %p2: Tensor[(3, 1, 1), float32], Primitive=1) -> Tensor[(1, 224, 224, 3), float32] {
%0 = multiply(%p0, %p1) /* ty=Tensor[(1, 3, 224, 224), float32] */;
%1 = add(%0, %p2) /* ty=Tensor[(1, 3, 224, 224), float32] */;
layout_transform(%1, src_layout="NCHW", dst_layout="NHWC") /* ty=Tensor[(1, 224, 224, 3), float32] */
};
%3 = %2(%data, meta[relay.Constant][0] /* ty=Tensor[(3, 1, 1), float32] */, meta[relay.Constant][1] /* ty=Tensor[(3, 1, 1), float32] */) /* ty=Tensor[(1, 224, 224, 3), float32] */;
%6 = fn (%p01: Tensor[(1, 224, 224, 3), float32], %p11: Tensor[(7, 7, 3, 64), float32], %p21: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 112, 112, 64), float32] {
%4 = nn.conv2d(%p01, %p11, strides=[2, 2], padding=[3, 3, 3, 3], channels=64, kernel_size=[7, 7], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 112, 112, 64), float32] */;
%5 = add(%4, %p21) /* ty=Tensor[(1, 112, 112, 64), float32] */;
nn.relu(%5) /* ty=Tensor[(1, 112, 112, 64), float32] */
};
%7 = %6(%3, meta[relay.Constant][2] /* ty=Tensor[(7, 7, 3, 64), float32] */, meta[relay.Constant][3] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 112, 112, 64), float32] */;
%10 = fn (%p02: Tensor[(1, 112, 112, 64), float32], %p12: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%8 = nn.max_pool2d(%p02, pool_size=[3, 3], strides=[2, 2], padding=[1, 1, 1, 1], layout="NHWC") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%9 = add(%8, %p12) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%9) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%11 = %10(%7, meta[relay.Constant][4] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%14 = fn (%p03: Tensor[(1, 56, 56, 64), float32], %p13: Tensor[(1, 1, 64, 64), float32], %p22: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%12 = nn.conv2d(%p03, %p13, padding=[0, 0, 0, 0], channels=64, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%13 = add(%12, %p22) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%13) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%15 = %14(%11, meta[relay.Constant][5] /* ty=Tensor[(1, 1, 64, 64), float32] */, meta[relay.Constant][6] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%18 = fn (%p04: Tensor[(1, 56, 56, 64), float32], %p14: Tensor[(3, 3, 64, 64), float32], %p23: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%16 = nn.conv2d(%p04, %p14, padding=[1, 1, 1, 1], channels=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%17 = add(%16, %p23) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%17) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%19 = %18(%15, meta[relay.Constant][7] /* ty=Tensor[(3, 3, 64, 64), float32] */, meta[relay.Constant][8] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%20 = fn (%p05: Tensor[(1, 56, 56, 64), float32], %p15: Tensor[(1, 1, 64, 256), float32], Primitive=1) -> Tensor[(1, 56, 56, 256), float32] {
nn.conv2d(%p05, %p15, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 256), float32] */
};
%21 = %20(%11, meta[relay.Constant][10] /* ty=Tensor[(1, 1, 64, 256), float32] */) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%23 = fn (%p06: Tensor[(1, 56, 56, 64), float32], %p16: Tensor[(1, 1, 64, 256), float32], %p24: Tensor[(1, 56, 56, 256), float32], Primitive=1) -> Tensor[(1, 56, 56, 256), float32] {
%22 = nn.conv2d(%p06, %p16, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 256), float32] */;
add(%22, %p24) /* ty=Tensor[(1, 56, 56, 256), float32] */
};
%24 = %23(%19, meta[relay.Constant][9] /* ty=Tensor[(1, 1, 64, 256), float32] */, %21) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%26 = fn (%p07: Tensor[(1, 56, 56, 256), float32], %p17: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 56, 56, 256), float32] {
%25 = add(%p07, %p17) /* ty=Tensor[(1, 56, 56, 256), float32] */;
nn.relu(%25) /* ty=Tensor[(1, 56, 56, 256), float32] */
};
%27 = %26(%24, meta[relay.Constant][11] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%30 = fn (%p08: Tensor[(1, 56, 56, 256), float32], %p18: Tensor[(1, 1, 256, 64), float32], %p25: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%28 = nn.conv2d(%p08, %p18, padding=[0, 0, 0, 0], channels=64, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%29 = add(%28, %p25) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%29) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%31 = %30(%27, meta[relay.Constant][12] /* ty=Tensor[(1, 1, 256, 64), float32] */, meta[relay.Constant][13] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%34 = fn (%p09: Tensor[(1, 56, 56, 64), float32], %p19: Tensor[(3, 3, 64, 64), float32], %p26: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%32 = nn.conv2d(%p09, %p19, padding=[1, 1, 1, 1], channels=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%33 = add(%32, %p26) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%33) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%35 = %34(%31, meta[relay.Constant][14] /* ty=Tensor[(3, 3, 64, 64), float32] */, meta[relay.Constant][15] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%37 = fn (%p010: Tensor[(1, 56, 56, 64), float32], %p110: Tensor[(1, 1, 64, 256), float32], %p27: Tensor[(1, 56, 56, 256), float32], Primitive=1) -> Tensor[(1, 56, 56, 256), float32] {
%36 = nn.conv2d(%p010, %p110, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 256), float32] */;
add(%36, %p27) /* ty=Tensor[(1, 56, 56, 256), float32] */
};
%38 = %37(%35, meta[relay.Constant][16] /* ty=Tensor[(1, 1, 64, 256), float32] */, %24) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%40 = fn (%p011: Tensor[(1, 56, 56, 256), float32], %p111: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 56, 56, 256), float32] {
%39 = add(%p011, %p111) /* ty=Tensor[(1, 56, 56, 256), float32] */;
nn.relu(%39) /* ty=Tensor[(1, 56, 56, 256), float32] */
};
%41 = %40(%38, meta[relay.Constant][17] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%44 = fn (%p012: Tensor[(1, 56, 56, 256), float32], %p112: Tensor[(1, 1, 256, 64), float32], %p28: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%42 = nn.conv2d(%p012, %p112, padding=[0, 0, 0, 0], channels=64, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%43 = add(%42, %p28) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%43) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%45 = %44(%41, meta[relay.Constant][18] /* ty=Tensor[(1, 1, 256, 64), float32] */, meta[relay.Constant][19] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%48 = fn (%p013: Tensor[(1, 56, 56, 64), float32], %p113: Tensor[(3, 3, 64, 64), float32], %p29: Tensor[(1, 1, 1, 64), float32], Primitive=1) -> Tensor[(1, 56, 56, 64), float32] {
%46 = nn.conv2d(%p013, %p113, padding=[1, 1, 1, 1], channels=64, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 64), float32] */;
%47 = add(%46, %p29) /* ty=Tensor[(1, 56, 56, 64), float32] */;
nn.relu(%47) /* ty=Tensor[(1, 56, 56, 64), float32] */
};
%49 = %48(%45, meta[relay.Constant][20] /* ty=Tensor[(3, 3, 64, 64), float32] */, meta[relay.Constant][21] /* ty=Tensor[(1, 1, 1, 64), float32] */) /* ty=Tensor[(1, 56, 56, 64), float32] */;
%53 = fn (%p014: Tensor[(1, 56, 56, 64), float32], %p114: Tensor[(1, 1, 64, 256), float32], %p210: Tensor[(1, 56, 56, 256), float32], %p3: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 56, 56, 256), float32] {
%50 = nn.conv2d(%p014, %p114, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 56, 56, 256), float32] */;
%51 = add(%50, %p210) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%52 = add(%51, %p3) /* ty=Tensor[(1, 56, 56, 256), float32] */;
nn.relu(%52) /* ty=Tensor[(1, 56, 56, 256), float32] */
};
%54 = %53(%49, meta[relay.Constant][22] /* ty=Tensor[(1, 1, 64, 256), float32] */, %38, meta[relay.Constant][23] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 56, 56, 256), float32] */;
%57 = fn (%p015: Tensor[(1, 56, 56, 256), float32], %p115: Tensor[(1, 1, 256, 128), float32], %p211: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%55 = nn.conv2d(%p015, %p115, strides=[2, 2], padding=[0, 0, 0, 0], channels=128, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%56 = add(%55, %p211) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%56) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%58 = %57(%54, meta[relay.Constant][24] /* ty=Tensor[(1, 1, 256, 128), float32] */, meta[relay.Constant][25] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%61 = fn (%p016: Tensor[(1, 28, 28, 128), float32], %p116: Tensor[(3, 3, 128, 128), float32], %p212: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%59 = nn.conv2d(%p016, %p116, padding=[1, 1, 1, 1], channels=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%60 = add(%59, %p212) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%60) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%62 = %61(%58, meta[relay.Constant][26] /* ty=Tensor[(3, 3, 128, 128), float32] */, meta[relay.Constant][27] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%63 = fn (%p017: Tensor[(1, 56, 56, 256), float32], %p117: Tensor[(1, 1, 256, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
nn.conv2d(%p017, %p117, strides=[2, 2], padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%64 = %63(%54, meta[relay.Constant][29] /* ty=Tensor[(1, 1, 256, 512), float32] */) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%66 = fn (%p018: Tensor[(1, 28, 28, 128), float32], %p118: Tensor[(1, 1, 128, 512), float32], %p213: Tensor[(1, 28, 28, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%65 = nn.conv2d(%p018, %p118, padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 512), float32] */;
add(%65, %p213) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%67 = %66(%62, meta[relay.Constant][28] /* ty=Tensor[(1, 1, 128, 512), float32] */, %64) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%69 = fn (%p019: Tensor[(1, 28, 28, 512), float32], %p119: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%68 = add(%p019, %p119) /* ty=Tensor[(1, 28, 28, 512), float32] */;
nn.relu(%68) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%70 = %69(%67, meta[relay.Constant][30] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%73 = fn (%p020: Tensor[(1, 28, 28, 512), float32], %p120: Tensor[(1, 1, 512, 128), float32], %p214: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%71 = nn.conv2d(%p020, %p120, padding=[0, 0, 0, 0], channels=128, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%72 = add(%71, %p214) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%72) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%74 = %73(%70, meta[relay.Constant][31] /* ty=Tensor[(1, 1, 512, 128), float32] */, meta[relay.Constant][32] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%77 = fn (%p021: Tensor[(1, 28, 28, 128), float32], %p121: Tensor[(3, 3, 128, 128), float32], %p215: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%75 = nn.conv2d(%p021, %p121, padding=[1, 1, 1, 1], channels=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%76 = add(%75, %p215) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%76) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%78 = %77(%74, meta[relay.Constant][33] /* ty=Tensor[(3, 3, 128, 128), float32] */, meta[relay.Constant][34] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%80 = fn (%p022: Tensor[(1, 28, 28, 128), float32], %p122: Tensor[(1, 1, 128, 512), float32], %p216: Tensor[(1, 28, 28, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%79 = nn.conv2d(%p022, %p122, padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 512), float32] */;
add(%79, %p216) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%81 = %80(%78, meta[relay.Constant][35] /* ty=Tensor[(1, 1, 128, 512), float32] */, %67) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%83 = fn (%p023: Tensor[(1, 28, 28, 512), float32], %p123: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%82 = add(%p023, %p123) /* ty=Tensor[(1, 28, 28, 512), float32] */;
nn.relu(%82) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%84 = %83(%81, meta[relay.Constant][36] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%87 = fn (%p024: Tensor[(1, 28, 28, 512), float32], %p124: Tensor[(1, 1, 512, 128), float32], %p217: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%85 = nn.conv2d(%p024, %p124, padding=[0, 0, 0, 0], channels=128, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%86 = add(%85, %p217) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%86) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%88 = %87(%84, meta[relay.Constant][37] /* ty=Tensor[(1, 1, 512, 128), float32] */, meta[relay.Constant][38] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%91 = fn (%p025: Tensor[(1, 28, 28, 128), float32], %p125: Tensor[(3, 3, 128, 128), float32], %p218: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%89 = nn.conv2d(%p025, %p125, padding=[1, 1, 1, 1], channels=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%90 = add(%89, %p218) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%90) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%92 = %91(%88, meta[relay.Constant][39] /* ty=Tensor[(3, 3, 128, 128), float32] */, meta[relay.Constant][40] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%94 = fn (%p026: Tensor[(1, 28, 28, 128), float32], %p126: Tensor[(1, 1, 128, 512), float32], %p219: Tensor[(1, 28, 28, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%93 = nn.conv2d(%p026, %p126, padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 512), float32] */;
add(%93, %p219) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%95 = %94(%92, meta[relay.Constant][41] /* ty=Tensor[(1, 1, 128, 512), float32] */, %81) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%97 = fn (%p027: Tensor[(1, 28, 28, 512), float32], %p127: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%96 = add(%p027, %p127) /* ty=Tensor[(1, 28, 28, 512), float32] */;
nn.relu(%96) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%98 = %97(%95, meta[relay.Constant][42] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%101 = fn (%p028: Tensor[(1, 28, 28, 512), float32], %p128: Tensor[(1, 1, 512, 128), float32], %p220: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%99 = nn.conv2d(%p028, %p128, padding=[0, 0, 0, 0], channels=128, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%100 = add(%99, %p220) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%100) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%102 = %101(%98, meta[relay.Constant][43] /* ty=Tensor[(1, 1, 512, 128), float32] */, meta[relay.Constant][44] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%105 = fn (%p029: Tensor[(1, 28, 28, 128), float32], %p129: Tensor[(3, 3, 128, 128), float32], %p221: Tensor[(1, 1, 1, 128), float32], Primitive=1) -> Tensor[(1, 28, 28, 128), float32] {
%103 = nn.conv2d(%p029, %p129, padding=[1, 1, 1, 1], channels=128, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 128), float32] */;
%104 = add(%103, %p221) /* ty=Tensor[(1, 28, 28, 128), float32] */;
nn.relu(%104) /* ty=Tensor[(1, 28, 28, 128), float32] */
};
%106 = %105(%102, meta[relay.Constant][45] /* ty=Tensor[(3, 3, 128, 128), float32] */, meta[relay.Constant][46] /* ty=Tensor[(1, 1, 1, 128), float32] */) /* ty=Tensor[(1, 28, 28, 128), float32] */;
%110 = fn (%p030: Tensor[(1, 28, 28, 128), float32], %p130: Tensor[(1, 1, 128, 512), float32], %p222: Tensor[(1, 28, 28, 512), float32], %p31: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 28, 28, 512), float32] {
%107 = nn.conv2d(%p030, %p130, padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 28, 28, 512), float32] */;
%108 = add(%107, %p222) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%109 = add(%108, %p31) /* ty=Tensor[(1, 28, 28, 512), float32] */;
nn.relu(%109) /* ty=Tensor[(1, 28, 28, 512), float32] */
};
%111 = %110(%106, meta[relay.Constant][47] /* ty=Tensor[(1, 1, 128, 512), float32] */, %95, meta[relay.Constant][48] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 28, 28, 512), float32] */;
%114 = fn (%p031: Tensor[(1, 28, 28, 512), float32], %p131: Tensor[(1, 1, 512, 256), float32], %p223: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%112 = nn.conv2d(%p031, %p131, strides=[2, 2], padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%113 = add(%112, %p223) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%113) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%115 = %114(%111, meta[relay.Constant][49] /* ty=Tensor[(1, 1, 512, 256), float32] */, meta[relay.Constant][50] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%118 = fn (%p032: Tensor[(1, 14, 14, 256), float32], %p132: Tensor[(3, 3, 256, 256), float32], %p224: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%116 = nn.conv2d(%p032, %p132, padding=[1, 1, 1, 1], channels=256, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%117 = add(%116, %p224) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%117) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%119 = %118(%115, meta[relay.Constant][51] /* ty=Tensor[(3, 3, 256, 256), float32] */, meta[relay.Constant][52] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%120 = fn (%p033: Tensor[(1, 28, 28, 512), float32], %p133: Tensor[(1, 1, 512, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
nn.conv2d(%p033, %p133, strides=[2, 2], padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%121 = %120(%111, meta[relay.Constant][54] /* ty=Tensor[(1, 1, 512, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%123 = fn (%p034: Tensor[(1, 14, 14, 256), float32], %p134: Tensor[(1, 1, 256, 1024), float32], %p225: Tensor[(1, 14, 14, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%122 = nn.conv2d(%p034, %p134, padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */;
add(%122, %p225) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%124 = %123(%119, meta[relay.Constant][53] /* ty=Tensor[(1, 1, 256, 1024), float32] */, %121) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%126 = fn (%p035: Tensor[(1, 14, 14, 1024), float32], %p135: Tensor[(1, 1, 1, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%125 = add(%p035, %p135) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
nn.relu(%125) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%127 = %126(%124, meta[relay.Constant][55] /* ty=Tensor[(1, 1, 1, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%130 = fn (%p036: Tensor[(1, 14, 14, 1024), float32], %p136: Tensor[(1, 1, 1024, 256), float32], %p226: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%128 = nn.conv2d(%p036, %p136, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%129 = add(%128, %p226) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%129) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%131 = %130(%127, meta[relay.Constant][56] /* ty=Tensor[(1, 1, 1024, 256), float32] */, meta[relay.Constant][57] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%134 = fn (%p037: Tensor[(1, 14, 14, 256), float32], %p137: Tensor[(3, 3, 256, 256), float32], %p227: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%132 = nn.conv2d(%p037, %p137, padding=[1, 1, 1, 1], channels=256, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%133 = add(%132, %p227) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%133) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%135 = %134(%131, meta[relay.Constant][58] /* ty=Tensor[(3, 3, 256, 256), float32] */, meta[relay.Constant][59] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%137 = fn (%p038: Tensor[(1, 14, 14, 256), float32], %p138: Tensor[(1, 1, 256, 1024), float32], %p228: Tensor[(1, 14, 14, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%136 = nn.conv2d(%p038, %p138, padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */;
add(%136, %p228) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%138 = %137(%135, meta[relay.Constant][60] /* ty=Tensor[(1, 1, 256, 1024), float32] */, %124) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%140 = fn (%p039: Tensor[(1, 14, 14, 1024), float32], %p139: Tensor[(1, 1, 1, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%139 = add(%p039, %p139) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
nn.relu(%139) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%141 = %140(%138, meta[relay.Constant][61] /* ty=Tensor[(1, 1, 1, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%144 = fn (%p040: Tensor[(1, 14, 14, 1024), float32], %p140: Tensor[(1, 1, 1024, 256), float32], %p229: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%142 = nn.conv2d(%p040, %p140, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%143 = add(%142, %p229) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%143) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%145 = %144(%141, meta[relay.Constant][62] /* ty=Tensor[(1, 1, 1024, 256), float32] */, meta[relay.Constant][63] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%148 = fn (%p041: Tensor[(1, 14, 14, 256), float32], %p141: Tensor[(3, 3, 256, 256), float32], %p230: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%146 = nn.conv2d(%p041, %p141, padding=[1, 1, 1, 1], channels=256, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%147 = add(%146, %p230) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%147) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%149 = %148(%145, meta[relay.Constant][64] /* ty=Tensor[(3, 3, 256, 256), float32] */, meta[relay.Constant][65] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%151 = fn (%p042: Tensor[(1, 14, 14, 256), float32], %p142: Tensor[(1, 1, 256, 1024), float32], %p231: Tensor[(1, 14, 14, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%150 = nn.conv2d(%p042, %p142, padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */;
add(%150, %p231) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%152 = %151(%149, meta[relay.Constant][66] /* ty=Tensor[(1, 1, 256, 1024), float32] */, %138) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%154 = fn (%p043: Tensor[(1, 14, 14, 1024), float32], %p143: Tensor[(1, 1, 1, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%153 = add(%p043, %p143) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
nn.relu(%153) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%155 = %154(%152, meta[relay.Constant][67] /* ty=Tensor[(1, 1, 1, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%158 = fn (%p044: Tensor[(1, 14, 14, 1024), float32], %p144: Tensor[(1, 1, 1024, 256), float32], %p232: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%156 = nn.conv2d(%p044, %p144, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%157 = add(%156, %p232) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%157) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%159 = %158(%155, meta[relay.Constant][68] /* ty=Tensor[(1, 1, 1024, 256), float32] */, meta[relay.Constant][69] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%162 = fn (%p045: Tensor[(1, 14, 14, 256), float32], %p145: Tensor[(3, 3, 256, 256), float32], %p233: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%160 = nn.conv2d(%p045, %p145, padding=[1, 1, 1, 1], channels=256, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%161 = add(%160, %p233) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%161) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%163 = %162(%159, meta[relay.Constant][70] /* ty=Tensor[(3, 3, 256, 256), float32] */, meta[relay.Constant][71] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%165 = fn (%p046: Tensor[(1, 14, 14, 256), float32], %p146: Tensor[(1, 1, 256, 1024), float32], %p234: Tensor[(1, 14, 14, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%164 = nn.conv2d(%p046, %p146, padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */;
add(%164, %p234) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%166 = %165(%163, meta[relay.Constant][72] /* ty=Tensor[(1, 1, 256, 1024), float32] */, %152) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%168 = fn (%p047: Tensor[(1, 14, 14, 1024), float32], %p147: Tensor[(1, 1, 1, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%167 = add(%p047, %p147) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
nn.relu(%167) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%169 = %168(%166, meta[relay.Constant][73] /* ty=Tensor[(1, 1, 1, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%172 = fn (%p048: Tensor[(1, 14, 14, 1024), float32], %p148: Tensor[(1, 1, 1024, 256), float32], %p235: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%170 = nn.conv2d(%p048, %p148, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%171 = add(%170, %p235) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%171) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%173 = %172(%169, meta[relay.Constant][74] /* ty=Tensor[(1, 1, 1024, 256), float32] */, meta[relay.Constant][75] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%176 = fn (%p049: Tensor[(1, 14, 14, 256), float32], %p149: Tensor[(3, 3, 256, 256), float32], %p236: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%174 = nn.conv2d(%p049, %p149, padding=[1, 1, 1, 1], channels=256, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%175 = add(%174, %p236) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%175) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%177 = %176(%173, meta[relay.Constant][76] /* ty=Tensor[(3, 3, 256, 256), float32] */, meta[relay.Constant][77] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%179 = fn (%p050: Tensor[(1, 14, 14, 256), float32], %p150: Tensor[(1, 1, 256, 1024), float32], %p237: Tensor[(1, 14, 14, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%178 = nn.conv2d(%p050, %p150, padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */;
add(%178, %p237) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%180 = %179(%177, meta[relay.Constant][78] /* ty=Tensor[(1, 1, 256, 1024), float32] */, %166) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%182 = fn (%p051: Tensor[(1, 14, 14, 1024), float32], %p151: Tensor[(1, 1, 1, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%181 = add(%p051, %p151) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
nn.relu(%181) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%183 = %182(%180, meta[relay.Constant][79] /* ty=Tensor[(1, 1, 1, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%186 = fn (%p052: Tensor[(1, 14, 14, 1024), float32], %p152: Tensor[(1, 1, 1024, 256), float32], %p238: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%184 = nn.conv2d(%p052, %p152, padding=[0, 0, 0, 0], channels=256, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%185 = add(%184, %p238) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%185) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%187 = %186(%183, meta[relay.Constant][80] /* ty=Tensor[(1, 1, 1024, 256), float32] */, meta[relay.Constant][81] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%190 = fn (%p053: Tensor[(1, 14, 14, 256), float32], %p153: Tensor[(3, 3, 256, 256), float32], %p239: Tensor[(1, 1, 1, 256), float32], Primitive=1) -> Tensor[(1, 14, 14, 256), float32] {
%188 = nn.conv2d(%p053, %p153, padding=[1, 1, 1, 1], channels=256, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 256), float32] */;
%189 = add(%188, %p239) /* ty=Tensor[(1, 14, 14, 256), float32] */;
nn.relu(%189) /* ty=Tensor[(1, 14, 14, 256), float32] */
};
%191 = %190(%187, meta[relay.Constant][82] /* ty=Tensor[(3, 3, 256, 256), float32] */, meta[relay.Constant][83] /* ty=Tensor[(1, 1, 1, 256), float32] */) /* ty=Tensor[(1, 14, 14, 256), float32] */;
%195 = fn (%p054: Tensor[(1, 14, 14, 256), float32], %p154: Tensor[(1, 1, 256, 1024), float32], %p240: Tensor[(1, 14, 14, 1024), float32], %p32: Tensor[(1, 1, 1, 1024), float32], Primitive=1) -> Tensor[(1, 14, 14, 1024), float32] {
%192 = nn.conv2d(%p054, %p154, padding=[0, 0, 0, 0], channels=1024, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%193 = add(%192, %p240) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%194 = add(%193, %p32) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
nn.relu(%194) /* ty=Tensor[(1, 14, 14, 1024), float32] */
};
%196 = %195(%191, meta[relay.Constant][84] /* ty=Tensor[(1, 1, 256, 1024), float32] */, %180, meta[relay.Constant][85] /* ty=Tensor[(1, 1, 1, 1024), float32] */) /* ty=Tensor[(1, 14, 14, 1024), float32] */;
%199 = fn (%p055: Tensor[(1, 14, 14, 1024), float32], %p155: Tensor[(1, 1, 1024, 512), float32], %p241: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 7, 7, 512), float32] {
%197 = nn.conv2d(%p055, %p155, strides=[2, 2], padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 512), float32] */;
%198 = add(%197, %p241) /* ty=Tensor[(1, 7, 7, 512), float32] */;
nn.relu(%198) /* ty=Tensor[(1, 7, 7, 512), float32] */
};
%200 = %199(%196, meta[relay.Constant][86] /* ty=Tensor[(1, 1, 1024, 512), float32] */, meta[relay.Constant][87] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 7, 7, 512), float32] */;
%203 = fn (%p056: Tensor[(1, 7, 7, 512), float32], %p156: Tensor[(3, 3, 512, 512), float32], %p242: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 7, 7, 512), float32] {
%201 = nn.conv2d(%p056, %p156, padding=[1, 1, 1, 1], channels=512, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 512), float32] */;
%202 = add(%201, %p242) /* ty=Tensor[(1, 7, 7, 512), float32] */;
nn.relu(%202) /* ty=Tensor[(1, 7, 7, 512), float32] */
};
%204 = %203(%200, meta[relay.Constant][88] /* ty=Tensor[(3, 3, 512, 512), float32] */, meta[relay.Constant][89] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 7, 7, 512), float32] */;
%205 = fn (%p057: Tensor[(1, 14, 14, 1024), float32], %p157: Tensor[(1, 1, 1024, 2048), float32], Primitive=1) -> Tensor[(1, 7, 7, 2048), float32] {
nn.conv2d(%p057, %p157, strides=[2, 2], padding=[0, 0, 0, 0], channels=2048, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 2048), float32] */
};
%206 = %205(%196, meta[relay.Constant][91] /* ty=Tensor[(1, 1, 1024, 2048), float32] */) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%208 = fn (%p058: Tensor[(1, 7, 7, 512), float32], %p158: Tensor[(1, 1, 512, 2048), float32], %p243: Tensor[(1, 7, 7, 2048), float32], Primitive=1) -> Tensor[(1, 7, 7, 2048), float32] {
%207 = nn.conv2d(%p058, %p158, padding=[0, 0, 0, 0], channels=2048, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 2048), float32] */;
add(%207, %p243) /* ty=Tensor[(1, 7, 7, 2048), float32] */
};
%209 = %208(%204, meta[relay.Constant][90] /* ty=Tensor[(1, 1, 512, 2048), float32] */, %206) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%211 = fn (%p059: Tensor[(1, 7, 7, 2048), float32], %p159: Tensor[(1, 1, 1, 2048), float32], Primitive=1) -> Tensor[(1, 7, 7, 2048), float32] {
%210 = add(%p059, %p159) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
nn.relu(%210) /* ty=Tensor[(1, 7, 7, 2048), float32] */
};
%212 = %211(%209, meta[relay.Constant][92] /* ty=Tensor[(1, 1, 1, 2048), float32] */) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%215 = fn (%p060: Tensor[(1, 7, 7, 2048), float32], %p160: Tensor[(1, 1, 2048, 512), float32], %p244: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 7, 7, 512), float32] {
%213 = nn.conv2d(%p060, %p160, padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 512), float32] */;
%214 = add(%213, %p244) /* ty=Tensor[(1, 7, 7, 512), float32] */;
nn.relu(%214) /* ty=Tensor[(1, 7, 7, 512), float32] */
};
%216 = %215(%212, meta[relay.Constant][93] /* ty=Tensor[(1, 1, 2048, 512), float32] */, meta[relay.Constant][94] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 7, 7, 512), float32] */;
%219 = fn (%p061: Tensor[(1, 7, 7, 512), float32], %p161: Tensor[(3, 3, 512, 512), float32], %p245: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 7, 7, 512), float32] {
%217 = nn.conv2d(%p061, %p161, padding=[1, 1, 1, 1], channels=512, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 512), float32] */;
%218 = add(%217, %p245) /* ty=Tensor[(1, 7, 7, 512), float32] */;
nn.relu(%218) /* ty=Tensor[(1, 7, 7, 512), float32] */
};
%220 = %219(%216, meta[relay.Constant][95] /* ty=Tensor[(3, 3, 512, 512), float32] */, meta[relay.Constant][96] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 7, 7, 512), float32] */;
%222 = fn (%p062: Tensor[(1, 7, 7, 512), float32], %p162: Tensor[(1, 1, 512, 2048), float32], %p246: Tensor[(1, 7, 7, 2048), float32], Primitive=1) -> Tensor[(1, 7, 7, 2048), float32] {
%221 = nn.conv2d(%p062, %p162, padding=[0, 0, 0, 0], channels=2048, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 2048), float32] */;
add(%221, %p246) /* ty=Tensor[(1, 7, 7, 2048), float32] */
};
%223 = %222(%220, meta[relay.Constant][97] /* ty=Tensor[(1, 1, 512, 2048), float32] */, %209) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%225 = fn (%p063: Tensor[(1, 7, 7, 2048), float32], %p163: Tensor[(1, 1, 1, 2048), float32], Primitive=1) -> Tensor[(1, 7, 7, 2048), float32] {
%224 = add(%p063, %p163) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
nn.relu(%224) /* ty=Tensor[(1, 7, 7, 2048), float32] */
};
%226 = %225(%223, meta[relay.Constant][98] /* ty=Tensor[(1, 1, 1, 2048), float32] */) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%229 = fn (%p064: Tensor[(1, 7, 7, 2048), float32], %p164: Tensor[(1, 1, 2048, 512), float32], %p247: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 7, 7, 512), float32] {
%227 = nn.conv2d(%p064, %p164, padding=[0, 0, 0, 0], channels=512, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 512), float32] */;
%228 = add(%227, %p247) /* ty=Tensor[(1, 7, 7, 512), float32] */;
nn.relu(%228) /* ty=Tensor[(1, 7, 7, 512), float32] */
};
%230 = %229(%226, meta[relay.Constant][99] /* ty=Tensor[(1, 1, 2048, 512), float32] */, meta[relay.Constant][100] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 7, 7, 512), float32] */;
%233 = fn (%p065: Tensor[(1, 7, 7, 512), float32], %p165: Tensor[(3, 3, 512, 512), float32], %p248: Tensor[(1, 1, 1, 512), float32], Primitive=1) -> Tensor[(1, 7, 7, 512), float32] {
%231 = nn.conv2d(%p065, %p165, padding=[1, 1, 1, 1], channels=512, kernel_size=[3, 3], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 512), float32] */;
%232 = add(%231, %p248) /* ty=Tensor[(1, 7, 7, 512), float32] */;
nn.relu(%232) /* ty=Tensor[(1, 7, 7, 512), float32] */
};
%234 = %233(%230, meta[relay.Constant][101] /* ty=Tensor[(3, 3, 512, 512), float32] */, meta[relay.Constant][102] /* ty=Tensor[(1, 1, 1, 512), float32] */) /* ty=Tensor[(1, 7, 7, 512), float32] */;
%239 = fn (%p066: Tensor[(1, 7, 7, 512), float32], %p166: Tensor[(1, 1, 512, 2048), float32], %p249: Tensor[(1, 7, 7, 2048), float32], %p33: Tensor[(1, 1, 1, 2048), float32], %p4: Tensor[(1, 1, 1, 2048), float32], Primitive=1) -> Tensor[(1, 7, 7, 2048), float32] {
%235 = nn.conv2d(%p066, %p166, padding=[0, 0, 0, 0], channels=2048, kernel_size=[1, 1], data_layout="NHWC", kernel_layout="HWIO") /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%236 = add(%235, %p249) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%237 = multiply(%236, %p33) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%238 = add(%237, %p4) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
nn.relu(%238) /* ty=Tensor[(1, 7, 7, 2048), float32] */
};
%240 = %239(%234, meta[relay.Constant][103] /* ty=Tensor[(1, 1, 512, 2048), float32] */, %223, meta[relay.Constant][104] /* ty=Tensor[(1, 1, 1, 2048), float32] */, meta[relay.Constant][105] /* ty=Tensor[(1, 1, 1, 2048), float32] */) /* ty=Tensor[(1, 7, 7, 2048), float32] */;
%241 = fn (%p067: Tensor[(1, 7, 7, 2048), float32], Primitive=1) -> Tensor[(1, 1, 1, 2048), float32] {
nn.global_avg_pool2d(%p067, layout="NHWC") /* ty=Tensor[(1, 1, 1, 2048), float32] */
};
%242 = %241(%240) /* ty=Tensor[(1, 1, 1, 2048), float32] */;
%244 = fn (%p068: Tensor[(1, 1, 1, 2048), float32], Primitive=1) -> Tensor[(1, 2048), float32] {
%243 = layout_transform(%p068, src_layout="NHWC", dst_layout="NCHW") /* ty=Tensor[(1, 2048, 1, 1), float32] */;
nn.batch_flatten(%243) /* ty=Tensor[(1, 2048), float32] */
};
%245 = %244(%242) /* ty=Tensor[(1, 2048), float32] */;
%247 = fn (%p069: Tensor[(1, 2048), float32], %p167: Tensor[(100, 2048, 10), float32], %p250: Tensor[(1000), float32], Primitive=1) -> Tensor[(1, 1000), float32] {
%246 = nn.contrib_dense_pack(%p069, %p167, units=None, out_dtype="float32") /* ty=Tensor[(1, 1000), float32] */;
add(%246, %p250) /* ty=Tensor[(1, 1000), float32] */
};
%248 = %247(%245, meta[relay.Constant][106] /* ty=Tensor[(100, 2048, 10), float32] */, meta[relay.Constant][107] /* ty=Tensor[(1000), float32] */) /* ty=Tensor[(1, 1000), float32] */;
%249 = fn (%p070: Tensor[(1, 1000), float32], Primitive=1) -> Tensor[(1, 1000), float32] {
nn.softmax(%p070) /* ty=Tensor[(1, 1000), float32] */
};
%249(%248) /* ty=Tensor[(1, 1000), float32] */
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment