{"format_version":1,"text":"program(1.3)\n[buildInfo = dict({{\"coremlc-component-MIL\", \"3510.2.1\"}, {\"coremlc-version\", \"3505.4.1\"}, {\"coremltools-component-milinternal\", \"\"}, {\"coremltools-version\", \"9.0\"}})]\n{\n func main(tensor hid_in) {\n tensor norm_w_1 = const()[name = string(\"norm_w_1\"), val = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(64)))];\n tensor abs_2 = abs(x=hid_in)[name = string(\"abs_2\")];\n tensor iv_3 = const()[name = string(\"iv_3\"), val = tensor([1])];\n bool b_4 = const()[name = string(\"b_4\"), val = bool(true)];\n tensor reduce_max_5 = reduce_max(x=abs_2, axes=iv_3, keep_dims=b_4)[name = string(\"reduce_max_5\")];\n fp16 c_6 = const()[name = string(\"c_6\"), val = fp16(0.062500000000)];\n tensor maximum_7 = maximum(x=reduce_max_5, y=c_6)[name = string(\"maximum_7\")];\n fp16 c_8 = const()[name = string(\"c_8\"), val = fp16(1.000000000000)];\n tensor real_div_9 = real_div(x=c_8, y=maximum_7)[name = string(\"real_div_9\")];\n tensor mul_10 = mul(x=hid_in, y=real_div_9)[name = string(\"mul_10\")];\n fp16 c_11 = const()[name = string(\"c_11\"), val = fp16(2.000000000000)];\n tensor pow_12 = pow(x=mul_10, y=c_11)[name = string(\"pow_12\")];\n tensor reduce_sum_13 = reduce_sum(x=pow_12, axes=iv_3, keep_dims=b_4)[name = string(\"reduce_sum_13\")];\n fp16 c_14 = const()[name = string(\"c_14\"), val = fp16(0.000195312500)];\n tensor mul_15 = mul(x=reduce_sum_13, y=c_14)[name = string(\"mul_15\")];\n tensor pow_16 = pow(x=real_div_9, y=c_11)[name = string(\"pow_16\")];\n fp16 c_17 = const()[name = string(\"c_17\"), val = fp16(0.000001000000)];\n tensor mul_18 = mul(x=pow_16, y=c_17)[name = string(\"mul_18\")];\n tensor add_19 = add(x=mul_15, y=mul_18)[name = string(\"add_19\")];\n fp16 c_20 = const()[name = string(\"c_20\"), val = fp16(0.000000000000)];\n tensor rsqrt_21 = rsqrt(x=add_19, epsilon=c_20)[name = string(\"rsqrt_21\")];\n tensor mul_22 = mul(x=mul_10, y=rsqrt_21)[name = string(\"mul_22\")];\n tensor mul_23 = mul(x=mul_22, y=norm_w_1)[name = string(\"mul_23\")];\n tensor w_gate_up_lut_24 = const()[name = string(\"w_gate_up_lut_24\"), val = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(133703872)))];\n tensor w_gate_up_25 = constexpr_lut_to_dense(indices = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(10368))), lut = w_gate_up_lut_24)[name = string(\"w_gate_up_25\")];\n tensor iv_26 = const()[name = string(\"iv_26\"), val = tensor([1, 1])];\n int32 i_27 = const()[name = string(\"i_27\"), val = int32(1)];\n tensor iv_28 = const()[name = string(\"iv_28\"), val = tensor([0, 0, 0, 0])];\n string str_29 = const()[name = string(\"str_29\"), val = string(\"valid\")];\n tensor conv_30 = conv(dilations=iv_26, groups=i_27, pad=iv_28, pad_type=str_29, strides=iv_26, weight=w_gate_up_25, x=mul_23)[name = string(\"conv_30\")];\n tensor iv_31 = const()[name = string(\"iv_31\"), val = tensor([1, 17408, 1, 128])];\n tensor slice_by_size_32 = slice_by_size(x=conv_30, begin=iv_28, size=iv_31)[name = string(\"slice_by_size_32\")];\n tensor iv_33 = const()[name = string(\"iv_33\"), val = tensor([0, 17408, 0, 0])];\n tensor slice_by_size_34 = slice_by_size(x=conv_30, begin=iv_33, size=iv_31)[name = string(\"slice_by_size_34\")];\n fp16 c_35 = const()[name = string(\"c_35\"), val = fp16(-1.000000000000)];\n tensor mul_36 = mul(x=slice_by_size_32, y=c_35)[name = string(\"mul_36\")];\n tensor exp_37 = exp(x=mul_36)[name = string(\"exp_37\")];\n tensor add_38 = add(x=exp_37, y=c_8)[name = string(\"add_38\")];\n tensor real_div_39 = real_div(x=slice_by_size_32, y=add_38)[name = string(\"real_div_39\")];\n tensor mul_40 = mul(x=real_div_39, y=slice_by_size_34)[name = string(\"mul_40\")];\n tensor abs_41 = abs(x=mul_40)[name = string(\"abs_41\")];\n tensor reduce_max_42 = reduce_max(x=abs_41, axes=iv_3, keep_dims=b_4)[name = string(\"reduce_max_42\")];\n fp16 c_43 = const()[name = string(\"c_43\"), val = fp16(4096.000000000000)];\n fp16 c_44 = const()[name = string(\"c_44\"), val = fp16(256.000000000000)];\n tensor maximum_45 = maximum(x=reduce_max_42, y=c_44)[name = string(\"maximum_45\")];\n tensor real_div_46 = real_div(x=c_43, y=maximum_45)[name = string(\"real_div_46\")];\n tensor mul_47 = mul(x=mul_40, y=real_div_46)[name = string(\"mul_47\")];\n tensor iv_48 = const()[name = string(\"iv_48\"), val = tensor([1, 4352, 1, 128])];\n tensor slice_by_size_49 = slice_by_size(x=mul_47, begin=iv_28, size=iv_48)[name = string(\"slice_by_size_49\")];\n tensor w_down0_lut_50 = const()[name = string(\"w_down0_lut_50\"), val = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(150694208)))];\n tensor w_down0_51 = constexpr_lut_to_dense(indices = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(133982464))), lut = w_down0_lut_50)[name = string(\"w_down0_51\")];\n tensor conv_52 = conv(dilations=iv_26, groups=i_27, pad=iv_28, pad_type=str_29, strides=iv_26, weight=w_down0_51, x=slice_by_size_49)[name = string(\"conv_52\")];\n tensor iv_53 = const()[name = string(\"iv_53\"), val = tensor([0, 4352, 0, 0])];\n tensor slice_by_size_54 = slice_by_size(x=mul_47, begin=iv_53, size=iv_48)[name = string(\"slice_by_size_54\")];\n tensor w_down1_lut_55 = const()[name = string(\"w_down1_lut_55\"), val = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(167446976)))];\n tensor w_down1_56 = constexpr_lut_to_dense(indices = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(150735232))), lut = w_down1_lut_55)[name = string(\"w_down1_56\")];\n tensor conv_57 = conv(dilations=iv_26, groups=i_27, pad=iv_28, pad_type=str_29, strides=iv_26, weight=w_down1_56, x=slice_by_size_54)[name = string(\"conv_57\")];\n tensor iv_58 = const()[name = string(\"iv_58\"), val = tensor([0, 8704, 0, 0])];\n tensor slice_by_size_59 = slice_by_size(x=mul_47, begin=iv_58, size=iv_48)[name = string(\"slice_by_size_59\")];\n tensor w_down2_lut_60 = const()[name = string(\"w_down2_lut_60\"), val = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(184199744)))];\n tensor w_down2_61 = constexpr_lut_to_dense(indices = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(167488000))), lut = w_down2_lut_60)[name = string(\"w_down2_61\")];\n tensor conv_62 = conv(dilations=iv_26, groups=i_27, pad=iv_28, pad_type=str_29, strides=iv_26, weight=w_down2_61, x=slice_by_size_59)[name = string(\"conv_62\")];\n tensor iv_63 = const()[name = string(\"iv_63\"), val = tensor([0, 13056, 0, 0])];\n tensor slice_by_size_64 = slice_by_size(x=mul_47, begin=iv_63, size=iv_48)[name = string(\"slice_by_size_64\")];\n tensor w_down3_lut_65 = const()[name = string(\"w_down3_lut_65\"), val = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(200952512)))];\n tensor w_down3_66 = constexpr_lut_to_dense(indices = tensor(BLOBFILE(path = string(\"@model_path/weights/weight.bin\"), offset = uint64(184240768))), lut = w_down3_lut_65)[name = string(\"w_down3_66\")];\n tensor conv_67 = conv(dilations=iv_26, groups=i_27, pad=iv_28, pad_type=str_29, strides=iv_26, weight=w_down3_66, x=slice_by_size_64)[name = string(\"conv_67\")];\n tensor add_68 = add(x=conv_52, y=conv_57)[name = string(\"add_68\")];\n tensor add_69 = add(x=add_68, y=conv_62)[name = string(\"add_69\")];\n tensor add_70 = add(x=add_69, y=conv_67)[name = string(\"add_70\")];\n tensor real_div_71 = real_div(x=c_8, y=real_div_46)[name = string(\"real_div_71\")];\n tensor mul_72 = mul(x=add_70, y=real_div_71)[name = string(\"mul_72\")];\n tensor add_73 = add(x=hid_in, y=mul_72)[name = string(\"add_73\")];\n tensor hid_out = identity(x=add_73)[name = string(\"hid_out\")];\n } -> (hid_out);\n}\n","weight_file":"programs/63/mlp.bin","inputs":[{"name":"hid_in","shape":[1,5120,1,128],"dtype":"fp16"}],"outputs":[{"name":"hid_out","shape":[1,5120,1,128],"dtype":"fp16"}]}