program(1.0) [buildInfo = dict, tensor>({{"coremlc-component-MIL", "3520.4.1"}, {"coremlc-version", "3520.5.1"}, {"coremltools-component-torch", "2.5.1"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "8.3.0"}})] { func main(tensor waveform) [FlexibleShapeInformation = tuple, dict, tensor>>, tuple, dict, list, ?>>>>((("DefaultShapes", {{"waveform", [1, 88747]}}), ("RangeDims", {{"waveform", [[1, 1], [3200, 480000]]}})))] { tensor cmvn_inv_std = const()[name = tensor("cmvn_inv_std"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(64)))]; tensor cmvn_neg_mean = const()[name = tensor("cmvn_neg_mean"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(2368)))]; tensor lfr_kernel = const()[name = tensor("lfr_kernel"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(4672)))]; tensor window = const()[name = tensor("window"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(1259136)))]; tensor frame_kernel = const()[name = tensor("frame_kernel"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(1260800)))]; tensor var_11_axes_0 = const()[name = tensor("op_11_axes_0"), val = tensor([1])]; tensor var_11 = expand_dims(axes = var_11_axes_0, x = waveform)[name = tensor("op_11")]; tensor var_27_pad_type_0 = const()[name = tensor("op_27_pad_type_0"), val = tensor("valid")]; tensor var_27_strides_0 = const()[name = tensor("op_27_strides_0"), val = tensor([160])]; tensor var_27_pad_0 = const()[name = tensor("op_27_pad_0"), val = tensor([0, 0])]; tensor var_27_dilations_0 = const()[name = tensor("op_27_dilations_0"), val = tensor([1])]; tensor var_27_groups_0 = const()[name = tensor("op_27_groups_0"), val = tensor(1)]; tensor var_27 = conv(dilations = var_27_dilations_0, groups = var_27_groups_0, pad = var_27_pad_0, pad_type = var_27_pad_type_0, strides = var_27_strides_0, weight = frame_kernel, x = var_11)[name = tensor("op_27")]; tensor var_30_begin_0 = const()[name = tensor("op_30_begin_0"), val = tensor([0, 0, 0])]; tensor var_30_end_0 = const()[name = tensor("op_30_end_0"), val = tensor([1, 400, 0])]; tensor var_30_end_mask_0 = const()[name = tensor("op_30_end_mask_0"), val = tensor([false, true, true])]; tensor var_30_squeeze_mask_0 = const()[name = tensor("op_30_squeeze_mask_0"), val = tensor([true, false, false])]; tensor var_30 = slice_by_index(begin = var_30_begin_0, end = var_30_end_0, end_mask = var_30_end_mask_0, squeeze_mask = var_30_squeeze_mask_0, x = var_27)[name = tensor("op_30")]; tensor frames_1_perm_0 = const()[name = tensor("frames_1_perm_0"), val = tensor([1, 0])]; tensor var_36_axes_0 = const()[name = tensor("op_36_axes_0"), val = tensor([1])]; tensor var_36_keep_dims_0 = const()[name = tensor("op_36_keep_dims_0"), val = tensor(true)]; tensor frames_1 = transpose(perm = frames_1_perm_0, x = var_30)[name = tensor("transpose_5")]; tensor var_36 = reduce_mean(axes = var_36_axes_0, keep_dims = var_36_keep_dims_0, x = frames_1)[name = tensor("op_36")]; tensor frames_3 = sub(x = frames_1, y = var_36)[name = tensor("frames_3")]; tensor var_48_begin_0 = const()[name = tensor("op_48_begin_0"), val = tensor([0, 0])]; tensor var_48_end_0 = const()[name = tensor("op_48_end_0"), val = tensor([0, 1])]; tensor var_48_end_mask_0 = const()[name = tensor("op_48_end_mask_0"), val = tensor([true, false])]; tensor var_48 = slice_by_index(begin = var_48_begin_0, end = var_48_end_0, end_mask = var_48_end_mask_0, x = frames_3)[name = tensor("op_48")]; tensor var_58_begin_0 = const()[name = tensor("op_58_begin_0"), val = tensor([0, 0])]; tensor var_58_end_0 = const()[name = tensor("op_58_end_0"), val = tensor([0, 399])]; tensor var_58_end_mask_0 = const()[name = tensor("op_58_end_mask_0"), val = tensor([true, false])]; tensor var_58 = slice_by_index(begin = var_58_begin_0, end = var_58_end_0, end_mask = var_58_end_mask_0, x = frames_3)[name = tensor("op_58")]; tensor var_60 = const()[name = tensor("op_60"), val = tensor(1)]; tensor shifted_interleave_0 = const()[name = tensor("shifted_interleave_0"), val = tensor(false)]; tensor shifted = concat(axis = var_60, interleave = shifted_interleave_0, values = (var_48, var_58))[name = tensor("shifted")]; tensor var_62 = const()[name = tensor("op_62"), val = tensor(0x1.f0a3d8p-1)]; tensor var_63 = mul(x = shifted, y = var_62)[name = tensor("op_63")]; tensor frames_5 = sub(x = frames_3, y = var_63)[name = tensor("frames_5")]; tensor input = mul(x = frames_5, y = window)[name = tensor("input")]; tensor const_0 = const()[name = tensor("const_0"), val = tensor(0x0p+0)]; tensor frames_pad_0 = const()[name = tensor("frames_pad_0"), val = tensor([0, 0, 0, 112])]; tensor frames_mode_0 = const()[name = tensor("frames_mode_0"), val = tensor("constant")]; tensor frames = pad(constant_val = const_0, mode = frames_mode_0, pad = frames_pad_0, x = input)[name = tensor("frames")]; tensor transpose_0 = const()[name = tensor("transpose_0"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(1900864)))]; tensor re_bias_0 = const()[name = tensor("re_bias_0"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(2427264)))]; tensor re = linear(bias = re_bias_0, weight = transpose_0, x = frames)[name = tensor("re")]; tensor transpose_1 = const()[name = tensor("transpose_1"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(2428416)))]; tensor im = linear(bias = re_bias_0, weight = transpose_1, x = frames)[name = tensor("im")]; tensor var_75 = mul(x = re, y = re)[name = tensor("op_75")]; tensor var_76 = mul(x = im, y = im)[name = tensor("op_76")]; tensor power = add(x = var_75, y = var_76)[name = tensor("power")]; tensor transpose_2 = const()[name = tensor("transpose_2"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(2954816)))]; tensor mel_energies_bias_0 = const()[name = tensor("mel_energies_bias_0"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(3037120)))]; tensor mel_energies = linear(bias = mel_energies_bias_0, weight = transpose_2, x = power)[name = tensor("mel_energies")]; tensor var_80 = const()[name = tensor("op_80"), val = tensor(0x1p-23)]; tensor const_1 = const()[name = tensor("const_1"), val = tensor(0x1.fffffep+127)]; tensor clip_0 = clip(alpha = var_80, beta = const_1, x = mel_energies)[name = tensor("clip_0")]; tensor fbank_1_epsilon_0 = const()[name = tensor("fbank_1_epsilon_0"), val = tensor(0x1p-149)]; tensor fbank_1 = log(epsilon = fbank_1_epsilon_0, x = clip_0)[name = tensor("fbank_1")]; tensor var_88_begin_0 = const()[name = tensor("op_88_begin_0"), val = tensor([0, 0])]; tensor var_88_end_0 = const()[name = tensor("op_88_end_0"), val = tensor([1, 80])]; tensor var_88_end_mask_0 = const()[name = tensor("op_88_end_mask_0"), val = tensor([false, true])]; tensor var_88 = slice_by_index(begin = var_88_begin_0, end = var_88_end_0, end_mask = var_88_end_mask_0, x = fbank_1)[name = tensor("op_88")]; tensor var_91 = const()[name = tensor("op_91"), val = tensor([3, 1])]; tensor var_92 = tile(reps = var_91, x = var_88)[name = tensor("op_92")]; tensor var_97_begin_0 = const()[name = tensor("op_97_begin_0"), val = tensor([-1, 0])]; tensor var_97_end_0 = const()[name = tensor("op_97_end_0"), val = tensor([0, 80])]; tensor var_97_end_mask_0 = const()[name = tensor("op_97_end_mask_0"), val = tensor([true, true])]; tensor var_97 = slice_by_index(begin = var_97_begin_0, end = var_97_end_0, end_mask = var_97_end_mask_0, x = fbank_1)[name = tensor("op_97")]; tensor var_100 = const()[name = tensor("op_100"), val = tensor([7, 1])]; tensor var_101 = tile(reps = var_100, x = var_97)[name = tensor("op_101")]; tensor var_103 = const()[name = tensor("op_103"), val = tensor(0)]; tensor fbank_interleave_0 = const()[name = tensor("fbank_interleave_0"), val = tensor(false)]; tensor fbank = concat(axis = var_103, interleave = fbank_interleave_0, values = (var_92, fbank_1, var_101))[name = tensor("fbank")]; tensor var_105_perm_0 = const()[name = tensor("op_105_perm_0"), val = tensor([1, 0])]; tensor var_107_axes_0 = const()[name = tensor("op_107_axes_0"), val = tensor([0])]; tensor var_105 = transpose(perm = var_105_perm_0, x = fbank)[name = tensor("transpose_4")]; tensor var_107 = expand_dims(axes = var_107_axes_0, x = var_105)[name = tensor("op_107")]; tensor var_123_pad_type_0 = const()[name = tensor("op_123_pad_type_0"), val = tensor("valid")]; tensor var_123_strides_0 = const()[name = tensor("op_123_strides_0"), val = tensor([6])]; tensor var_123_pad_0 = const()[name = tensor("op_123_pad_0"), val = tensor([0, 0])]; tensor var_123_dilations_0 = const()[name = tensor("op_123_dilations_0"), val = tensor([1])]; tensor var_123_groups_0 = const()[name = tensor("op_123_groups_0"), val = tensor(1)]; tensor var_123 = conv(dilations = var_123_dilations_0, groups = var_123_groups_0, pad = var_123_pad_0, pad_type = var_123_pad_type_0, strides = var_123_strides_0, weight = lfr_kernel, x = var_107)[name = tensor("op_123")]; tensor var_126_begin_0 = const()[name = tensor("op_126_begin_0"), val = tensor([0, 0, 0])]; tensor var_126_end_0 = const()[name = tensor("op_126_end_0"), val = tensor([1, 560, 0])]; tensor var_126_end_mask_0 = const()[name = tensor("op_126_end_mask_0"), val = tensor([false, true, true])]; tensor var_126_squeeze_mask_0 = const()[name = tensor("op_126_squeeze_mask_0"), val = tensor([true, false, false])]; tensor var_126 = slice_by_index(begin = var_126_begin_0, end = var_126_end_0, end_mask = var_126_end_mask_0, squeeze_mask = var_126_squeeze_mask_0, x = var_123)[name = tensor("op_126")]; tensor lfr_perm_0 = const()[name = tensor("lfr_perm_0"), val = tensor([1, 0])]; tensor lfr = transpose(perm = lfr_perm_0, x = var_126)[name = tensor("transpose_3")]; tensor var_129 = add(x = lfr, y = cmvn_neg_mean)[name = tensor("op_129")]; tensor feats = mul(x = var_129, y = cmvn_inv_std)[name = tensor("feats")]; tensor var_132_axes_0 = const()[name = tensor("op_132_axes_0"), val = tensor([0])]; tensor features = expand_dims(axes = var_132_axes_0, x = feats)[name = tensor("op_132")]; } -> (features); }