| program(1.3) |
| [buildInfo = dict<string, string>({{"coremlc-component-MIL", "3510.2.1"}, {"coremlc-version", "3505.4.1"}})] |
| { |
| func main<ios18>(tensor<fp32, [?, 1, 160000]> input) [FlexibleShapeInformation = tuple<tuple<string, dict<string, tensor<int32, [?]>>>, tuple<string, dict<string, dict<string, tensor<int32, [?]>>>>>((("DefaultShapes", {{"input", [32, 1, 160000]}}), ("EnumeratedShapes", {{"047bedbd", {{"input", [24, 1, 160000]}}}, {"08383b0f", {{"input", [32, 1, 160000]}}}, {"146ea7a4", {{"input", [30, 1, 160000]}}}, {"14a6a9fa", {{"input", [27, 1, 160000]}}}, {"41d6af63", {{"input", [26, 1, 160000]}}}, {"4a349f6d", {{"input", [2, 1, 160000]}}}, {"4c2c6917", {{"input", [8, 1, 160000]}}}, {"4cb052b1", {{"input", [5, 1, 160000]}}}, {"4eab2425", {{"input", [23, 1, 160000]}}}, {"4f2b5bd2", {{"input", [14, 1, 160000]}}}, {"50b949f3", {{"input", [22, 1, 160000]}}}, {"5316ecea", {{"input", [1, 1, 160000]}}}, {"5d89881e", {{"input", [21, 1, 160000]}}}, {"693a1c76", {{"input", [19, 1, 160000]}}}, {"6ac4a6a4", {{"input", [29, 1, 160000]}}}, {"73f266d5", {{"input", [3, 1, 160000]}}}, {"73f43a1d", {{"input", [31, 1, 160000]}}}, {"7ee56056", {{"input", [18, 1, 160000]}}}, {"9035b52a", {{"input", [25, 1, 160000]}}}, {"94f7468c", {{"input", [20, 1, 160000]}}}, {"999a22b0", {{"input", [12, 1, 160000]}}}, {"9fad9511", {{"input", [4, 1, 160000]}}}, {"ab9dbd8c", {{"input", [9, 1, 160000]}}}, {"ae49a11c", {{"input", [16, 1, 160000]}}}, {"bf53b769", {{"input", [15, 1, 160000]}}}, {"c147bbba", {{"input", [11, 1, 160000]}}}, {"c32e6216", {{"input", [28, 1, 160000]}}}, {"d1a076a6", {{"input", [7, 1, 160000]}}}, {"dccf3050", {{"input", [17, 1, 160000]}}}, {"ef60c196", {{"input", [10, 1, 160000]}}}, {"fe5ae199", {{"input", [13, 1, 160000]}}}, {"ffc2aaa2", {{"input", [6, 1, 160000]}}}})))] { |
| tensor<fp32, [1]> sincnet_wav_norm1d_bias = const()[name = string("sincnet_wav_norm1d_bias"), val = tensor<fp32, [1]>([0x1.73505ep-5])]; |
| tensor<fp32, [1]> sincnet_wav_norm1d_weight = const()[name = string("sincnet_wav_norm1d_weight"), val = tensor<fp32, [1]>([0x1.43f862p-7])]; |
| tensor<fp32, [80]> sincnet_norm1d_0_bias = const()[name = string("sincnet_norm1d_0_bias"), val = tensor<fp32, [80]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(64)))]; |
| tensor<fp32, [80]> sincnet_norm1d_0_weight = const()[name = string("sincnet_norm1d_0_weight"), val = tensor<fp32, [80]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(448)))]; |
| tensor<fp32, [60]> sincnet_conv1d_1_bias = const()[name = string("sincnet_conv1d_1_bias"), val = tensor<fp32, [60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(832)))]; |
| tensor<fp32, [60, 80, 5]> sincnet_conv1d_1_weight = const()[name = string("sincnet_conv1d_1_weight"), val = tensor<fp32, [60, 80, 5]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(1152)))]; |
| tensor<fp32, [60]> sincnet_norm1d_1_bias = const()[name = string("sincnet_norm1d_1_bias"), val = tensor<fp32, [60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(97216)))]; |
| tensor<fp32, [60]> sincnet_norm1d_1_weight = const()[name = string("sincnet_norm1d_1_weight"), val = tensor<fp32, [60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(97536)))]; |
| tensor<fp32, [60]> sincnet_conv1d_2_bias = const()[name = string("sincnet_conv1d_2_bias"), val = tensor<fp32, [60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(97856)))]; |
| tensor<fp32, [60, 60, 5]> sincnet_conv1d_2_weight = const()[name = string("sincnet_conv1d_2_weight"), val = tensor<fp32, [60, 60, 5]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(98176)))]; |
| tensor<fp32, [60]> sincnet_norm1d_2_bias = const()[name = string("sincnet_norm1d_2_bias"), val = tensor<fp32, [60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(170240)))]; |
| tensor<fp32, [60]> sincnet_norm1d_2_weight = const()[name = string("sincnet_norm1d_2_weight"), val = tensor<fp32, [60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(170560)))]; |
| tensor<fp32, [128]> linear_0_bias = const()[name = string("linear_0_bias"), val = tensor<fp32, [128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(170880)))]; |
| tensor<fp32, [128, 256]> linear_0_weight = const()[name = string("linear_0_weight"), val = tensor<fp32, [128, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(171456)))]; |
| tensor<fp32, [128]> linear_1_bias = const()[name = string("linear_1_bias"), val = tensor<fp32, [128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(302592)))]; |
| tensor<fp32, [128, 128]> linear_1_weight = const()[name = string("linear_1_weight"), val = tensor<fp32, [128, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(303168)))]; |
| tensor<fp32, [7]> classifier_bias = const()[name = string("classifier_bias"), val = tensor<fp32, [7]>([-0x1.00e888p+0, 0x1.67cb52p-2, 0x1.3d87fp-1, 0x1.c8aa8p-2, -0x1.445f5ep-2, -0x1.591274p-1, -0x1.8fb70ep-2])]; |
| tensor<fp32, [7, 128]> classifier_weight = const()[name = string("classifier_weight"), val = tensor<fp32, [7, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(368768)))]; |
| fp32 var_9 = const()[name = string("op_9"), val = fp32(0x1.47ae14p-7)]; |
| fp32 var_24 = const()[name = string("op_24"), val = fp32(0x1.4f8b58p-17)]; |
| tensor<fp32, [?, 1, 160000]> waveform = instance_norm(beta = sincnet_wav_norm1d_bias, epsilon = var_24, gamma = sincnet_wav_norm1d_weight, x = input)[name = string("waveform")]; |
| tensor<fp32, [80, 1, 251]> filters = const()[name = string("filters"), val = tensor<fp32, [80, 1, 251]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(372416)))]; |
| string outputs_pad_type_0 = const()[name = string("outputs_pad_type_0"), val = string("valid")]; |
| tensor<int32, [1]> outputs_strides_0 = const()[name = string("outputs_strides_0"), val = tensor<int32, [1]>([10])]; |
| tensor<int32, [2]> outputs_pad_0 = const()[name = string("outputs_pad_0"), val = tensor<int32, [2]>([0, 0])]; |
| tensor<int32, [1]> outputs_dilations_0 = const()[name = string("outputs_dilations_0"), val = tensor<int32, [1]>([1])]; |
| int32 outputs_groups_0 = const()[name = string("outputs_groups_0"), val = int32(1)]; |
| tensor<fp32, [?, 80, 15975]> outputs = conv(dilations = outputs_dilations_0, groups = outputs_groups_0, pad = outputs_pad_0, pad_type = outputs_pad_type_0, strides = outputs_strides_0, weight = filters, x = waveform)[name = string("outputs")]; |
| tensor<fp32, [?, 80, 15975]> input_1 = abs(x = outputs)[name = string("input_1")]; |
| tensor<int32, [1]> var_119 = const()[name = string("op_119"), val = tensor<int32, [1]>([3])]; |
| tensor<int32, [1]> var_120 = const()[name = string("op_120"), val = tensor<int32, [1]>([3])]; |
| string input_3_pad_type_0 = const()[name = string("input_3_pad_type_0"), val = string("custom")]; |
| tensor<int32, [2]> input_3_pad_0 = const()[name = string("input_3_pad_0"), val = tensor<int32, [2]>([0, 0])]; |
| bool input_3_ceil_mode_0 = const()[name = string("input_3_ceil_mode_0"), val = bool(false)]; |
| tensor<fp32, [?, 80, 5325]> input_3 = max_pool(ceil_mode = input_3_ceil_mode_0, kernel_sizes = var_119, pad = input_3_pad_0, pad_type = input_3_pad_type_0, strides = var_120, x = input_1)[name = string("input_3")]; |
| tensor<fp32, [?, 80, 5325]> input_5 = instance_norm(beta = sincnet_norm1d_0_bias, epsilon = var_24, gamma = sincnet_norm1d_0_weight, x = input_3)[name = string("input_5")]; |
| tensor<fp32, [?, 80, 5325]> input_7 = leaky_relu(alpha = var_9, x = input_5)[name = string("input_7")]; |
| string input_9_pad_type_0 = const()[name = string("input_9_pad_type_0"), val = string("valid")]; |
| tensor<int32, [1]> input_9_strides_0 = const()[name = string("input_9_strides_0"), val = tensor<int32, [1]>([1])]; |
| tensor<int32, [2]> input_9_pad_0 = const()[name = string("input_9_pad_0"), val = tensor<int32, [2]>([0, 0])]; |
| tensor<int32, [1]> input_9_dilations_0 = const()[name = string("input_9_dilations_0"), val = tensor<int32, [1]>([1])]; |
| int32 input_9_groups_0 = const()[name = string("input_9_groups_0"), val = int32(1)]; |
| tensor<fp32, [?, 60, 5321]> input_9 = conv(bias = sincnet_conv1d_1_bias, dilations = input_9_dilations_0, groups = input_9_groups_0, pad = input_9_pad_0, pad_type = input_9_pad_type_0, strides = input_9_strides_0, weight = sincnet_conv1d_1_weight, x = input_7)[name = string("input_9")]; |
| tensor<int32, [1]> var_135 = const()[name = string("op_135"), val = tensor<int32, [1]>([3])]; |
| tensor<int32, [1]> var_136 = const()[name = string("op_136"), val = tensor<int32, [1]>([3])]; |
| string input_11_pad_type_0 = const()[name = string("input_11_pad_type_0"), val = string("custom")]; |
| tensor<int32, [2]> input_11_pad_0 = const()[name = string("input_11_pad_0"), val = tensor<int32, [2]>([0, 0])]; |
| bool input_11_ceil_mode_0 = const()[name = string("input_11_ceil_mode_0"), val = bool(false)]; |
| tensor<fp32, [?, 60, 1773]> input_11 = max_pool(ceil_mode = input_11_ceil_mode_0, kernel_sizes = var_135, pad = input_11_pad_0, pad_type = input_11_pad_type_0, strides = var_136, x = input_9)[name = string("input_11")]; |
| tensor<fp32, [?, 60, 1773]> input_13 = instance_norm(beta = sincnet_norm1d_1_bias, epsilon = var_24, gamma = sincnet_norm1d_1_weight, x = input_11)[name = string("input_13")]; |
| tensor<fp32, [?, 60, 1773]> input_15 = leaky_relu(alpha = var_9, x = input_13)[name = string("input_15")]; |
| string input_17_pad_type_0 = const()[name = string("input_17_pad_type_0"), val = string("valid")]; |
| tensor<int32, [1]> input_17_strides_0 = const()[name = string("input_17_strides_0"), val = tensor<int32, [1]>([1])]; |
| tensor<int32, [2]> input_17_pad_0 = const()[name = string("input_17_pad_0"), val = tensor<int32, [2]>([0, 0])]; |
| tensor<int32, [1]> input_17_dilations_0 = const()[name = string("input_17_dilations_0"), val = tensor<int32, [1]>([1])]; |
| int32 input_17_groups_0 = const()[name = string("input_17_groups_0"), val = int32(1)]; |
| tensor<fp32, [?, 60, 1769]> input_17 = conv(bias = sincnet_conv1d_2_bias, dilations = input_17_dilations_0, groups = input_17_groups_0, pad = input_17_pad_0, pad_type = input_17_pad_type_0, strides = input_17_strides_0, weight = sincnet_conv1d_2_weight, x = input_15)[name = string("input_17")]; |
| tensor<int32, [1]> var_151 = const()[name = string("op_151"), val = tensor<int32, [1]>([3])]; |
| tensor<int32, [1]> var_152 = const()[name = string("op_152"), val = tensor<int32, [1]>([3])]; |
| string input_19_pad_type_0 = const()[name = string("input_19_pad_type_0"), val = string("custom")]; |
| tensor<int32, [2]> input_19_pad_0 = const()[name = string("input_19_pad_0"), val = tensor<int32, [2]>([0, 0])]; |
| bool input_19_ceil_mode_0 = const()[name = string("input_19_ceil_mode_0"), val = bool(false)]; |
| tensor<fp32, [?, 60, 589]> input_19 = max_pool(ceil_mode = input_19_ceil_mode_0, kernel_sizes = var_151, pad = input_19_pad_0, pad_type = input_19_pad_type_0, strides = var_152, x = input_17)[name = string("input_19")]; |
| tensor<fp32, [?, 60, 589]> input_21 = instance_norm(beta = sincnet_norm1d_2_bias, epsilon = var_24, gamma = sincnet_norm1d_2_weight, x = input_19)[name = string("input_21")]; |
| tensor<fp32, [?, 60, 589]> x = leaky_relu(alpha = var_9, x = input_21)[name = string("x")]; |
| tensor<int32, [3]> var_163 = const()[name = string("op_163"), val = tensor<int32, [3]>([0, 2, 1])]; |
| int32 var_172 = const()[name = string("op_172"), val = int32(128)]; |
| int32 var_173 = const()[name = string("op_173"), val = int32(8)]; |
| tensor<fp32, [?, 589, 60]> input_23 = transpose(perm = var_163, x = x)[name = string("transpose_6")]; |
| tensor<int32, [3]> var_207_shape = shape(x = input_23)[name = string("op_207_shape")]; |
| int32 gather_0_batch_dims_0 = const()[name = string("gather_0_batch_dims_0"), val = int32(0)]; |
| bool gather_0_validate_indices_0 = const()[name = string("gather_0_validate_indices_0"), val = bool(false)]; |
| int32 select_0 = const()[name = string("select_0"), val = int32(0)]; |
| int32 gather_0_axis_1 = const()[name = string("gather_0_axis_1"), val = int32(0)]; |
| int32 gather_0 = gather(axis = gather_0_axis_1, batch_dims = gather_0_batch_dims_0, indices = select_0, validate_indices = gather_0_validate_indices_0, x = var_207_shape)[name = string("gather_0")]; |
| int32 concat_0_axis_0 = const()[name = string("concat_0_axis_0"), val = int32(0)]; |
| bool concat_0_interleave_0 = const()[name = string("concat_0_interleave_0"), val = bool(false)]; |
| tensor<int32, [3]> concat_0 = concat(axis = concat_0_axis_0, interleave = concat_0_interleave_0, values = (var_173, gather_0, var_172))[name = string("concat_0")]; |
| fp32 hx_1_value_0 = const()[name = string("hx_1_value_0"), val = fp32(0x0p+0)]; |
| tensor<fp32, [8, ?, 128]> hx_1 = fill(shape = concat_0, value = hx_1_value_0)[name = string("hx_1")]; |
| tensor<int32, [3]> input_23_batch_first_transpose_perm_0 = const()[name = string("input_23_batch_first_transpose_perm_0"), val = tensor<int32, [3]>([1, 0, 2])]; |
| int32 split_0_num_splits_0 = const()[name = string("split_0_num_splits_0"), val = int32(4)]; |
| int32 split_0_axis_0 = const()[name = string("split_0_axis_0"), val = int32(0)]; |
| tensor<fp32, [2, ?, 128]> split_0_0, tensor<fp32, [2, ?, 128]> split_0_1, tensor<fp32, [2, ?, 128]> split_0_2, tensor<fp32, [2, ?, 128]> split_0_3 = split(axis = split_0_axis_0, num_splits = split_0_num_splits_0, x = hx_1)[name = string("split_0")]; |
| int32 split_1_num_splits_0 = const()[name = string("split_1_num_splits_0"), val = int32(4)]; |
| int32 split_1_axis_0 = const()[name = string("split_1_axis_0"), val = int32(0)]; |
| tensor<fp32, [2, ?, 128]> split_1_0, tensor<fp32, [2, ?, 128]> split_1_1, tensor<fp32, [2, ?, 128]> split_1_2, tensor<fp32, [2, ?, 128]> split_1_3 = split(axis = split_1_axis_0, num_splits = split_1_num_splits_0, x = hx_1)[name = string("split_1")]; |
| tensor<fp32, [512]> add_0 = const()[name = string("add_0"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(452800)))]; |
| tensor<fp32, [512]> add_1 = const()[name = string("add_1"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(454912)))]; |
| tensor<fp32, [512, 60]> concat_6 = const()[name = string("concat_6"), val = tensor<fp32, [512, 60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(457024)))]; |
| tensor<fp32, [512, 128]> concat_7 = const()[name = string("concat_7"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(579968)))]; |
| tensor<fp32, [512, 60]> concat_8 = const()[name = string("concat_8"), val = tensor<fp32, [512, 60]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(842176)))]; |
| tensor<fp32, [512, 128]> concat_9 = const()[name = string("concat_9"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(965120)))]; |
| tensor<int32, [2]> split_10_split_sizes_0 = const()[name = string("split_10_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_10_axis_0 = const()[name = string("split_10_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_10_0, tensor<fp32, [1, ?, 128]> split_10_1 = split(axis = split_10_axis_0, split_sizes = split_10_split_sizes_0, x = split_0_0)[name = string("split_10")]; |
| int32 concat_10_axis_0 = const()[name = string("concat_10_axis_0"), val = int32(2)]; |
| bool concat_10_interleave_0 = const()[name = string("concat_10_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_10 = concat(axis = concat_10_axis_0, interleave = concat_10_interleave_0, values = (split_10_0, split_10_1))[name = string("concat_10")]; |
| tensor<int32, [1]> input_25_lstm_layer_0_lstm_h0_reshaped_axes_0 = const()[name = string("input_25_lstm_layer_0_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_lstm_layer_0_lstm_h0_reshaped = squeeze(axes = input_25_lstm_layer_0_lstm_h0_reshaped_axes_0, x = concat_10)[name = string("input_25_lstm_layer_0_lstm_h0_reshaped")]; |
| tensor<int32, [2]> split_11_split_sizes_0 = const()[name = string("split_11_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_11_axis_0 = const()[name = string("split_11_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_11_0, tensor<fp32, [1, ?, 128]> split_11_1 = split(axis = split_11_axis_0, split_sizes = split_11_split_sizes_0, x = split_1_0)[name = string("split_11")]; |
| int32 concat_11_axis_0 = const()[name = string("concat_11_axis_0"), val = int32(2)]; |
| bool concat_11_interleave_0 = const()[name = string("concat_11_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_11 = concat(axis = concat_11_axis_0, interleave = concat_11_interleave_0, values = (split_11_0, split_11_1))[name = string("concat_11")]; |
| tensor<int32, [1]> input_25_lstm_layer_0_lstm_c0_reshaped_axes_0 = const()[name = string("input_25_lstm_layer_0_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_lstm_layer_0_lstm_c0_reshaped = squeeze(axes = input_25_lstm_layer_0_lstm_c0_reshaped_axes_0, x = concat_11)[name = string("input_25_lstm_layer_0_lstm_c0_reshaped")]; |
| string input_25_lstm_layer_0_direction_0 = const()[name = string("input_25_lstm_layer_0_direction_0"), val = string("bidirectional")]; |
| bool input_25_lstm_layer_0_output_sequence_0 = const()[name = string("input_25_lstm_layer_0_output_sequence_0"), val = bool(true)]; |
| string input_25_lstm_layer_0_recurrent_activation_0 = const()[name = string("input_25_lstm_layer_0_recurrent_activation_0"), val = string("sigmoid")]; |
| string input_25_lstm_layer_0_cell_activation_0 = const()[name = string("input_25_lstm_layer_0_cell_activation_0"), val = string("tanh")]; |
| string input_25_lstm_layer_0_activation_0 = const()[name = string("input_25_lstm_layer_0_activation_0"), val = string("tanh")]; |
| tensor<fp32, [589, ?, 60]> input_23_batch_first_transpose = transpose(perm = input_23_batch_first_transpose_perm_0, x = input_23)[name = string("transpose_5")]; |
| tensor<fp32, [589, ?, 256]> input_25_lstm_layer_0_0, tensor<fp32, [?, 256]> input_25_lstm_layer_0_1, tensor<fp32, [?, 256]> input_25_lstm_layer_0_2 = lstm(activation = input_25_lstm_layer_0_activation_0, bias = add_0, bias_back = add_1, cell_activation = input_25_lstm_layer_0_cell_activation_0, direction = input_25_lstm_layer_0_direction_0, initial_c = input_25_lstm_layer_0_lstm_c0_reshaped, initial_h = input_25_lstm_layer_0_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_0_output_sequence_0, recurrent_activation = input_25_lstm_layer_0_recurrent_activation_0, weight_hh = concat_7, weight_hh_back = concat_9, weight_ih = concat_6, weight_ih_back = concat_8, x = input_23_batch_first_transpose)[name = string("input_25_lstm_layer_0")]; |
| tensor<fp32, [512]> add_2 = const()[name = string("add_2"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(1227328)))]; |
| tensor<fp32, [512]> add_3 = const()[name = string("add_3"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(1229440)))]; |
| tensor<fp32, [512, 256]> concat_16 = const()[name = string("concat_16"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(1231552)))]; |
| tensor<fp32, [512, 128]> concat_17 = const()[name = string("concat_17"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(1755904)))]; |
| tensor<fp32, [512, 256]> concat_18 = const()[name = string("concat_18"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(2018112)))]; |
| tensor<fp32, [512, 128]> concat_19 = const()[name = string("concat_19"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(2542464)))]; |
| tensor<int32, [2]> split_20_split_sizes_0 = const()[name = string("split_20_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_20_axis_0 = const()[name = string("split_20_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_20_0, tensor<fp32, [1, ?, 128]> split_20_1 = split(axis = split_20_axis_0, split_sizes = split_20_split_sizes_0, x = split_0_1)[name = string("split_20")]; |
| int32 concat_20_axis_0 = const()[name = string("concat_20_axis_0"), val = int32(2)]; |
| bool concat_20_interleave_0 = const()[name = string("concat_20_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_20 = concat(axis = concat_20_axis_0, interleave = concat_20_interleave_0, values = (split_20_0, split_20_1))[name = string("concat_20")]; |
| tensor<int32, [1]> input_25_lstm_layer_1_lstm_h0_reshaped_axes_0 = const()[name = string("input_25_lstm_layer_1_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_lstm_layer_1_lstm_h0_reshaped = squeeze(axes = input_25_lstm_layer_1_lstm_h0_reshaped_axes_0, x = concat_20)[name = string("input_25_lstm_layer_1_lstm_h0_reshaped")]; |
| tensor<int32, [2]> split_21_split_sizes_0 = const()[name = string("split_21_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_21_axis_0 = const()[name = string("split_21_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_21_0, tensor<fp32, [1, ?, 128]> split_21_1 = split(axis = split_21_axis_0, split_sizes = split_21_split_sizes_0, x = split_1_1)[name = string("split_21")]; |
| int32 concat_21_axis_0 = const()[name = string("concat_21_axis_0"), val = int32(2)]; |
| bool concat_21_interleave_0 = const()[name = string("concat_21_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_21 = concat(axis = concat_21_axis_0, interleave = concat_21_interleave_0, values = (split_21_0, split_21_1))[name = string("concat_21")]; |
| tensor<int32, [1]> input_25_lstm_layer_1_lstm_c0_reshaped_axes_0 = const()[name = string("input_25_lstm_layer_1_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_lstm_layer_1_lstm_c0_reshaped = squeeze(axes = input_25_lstm_layer_1_lstm_c0_reshaped_axes_0, x = concat_21)[name = string("input_25_lstm_layer_1_lstm_c0_reshaped")]; |
| string input_25_lstm_layer_1_direction_0 = const()[name = string("input_25_lstm_layer_1_direction_0"), val = string("bidirectional")]; |
| bool input_25_lstm_layer_1_output_sequence_0 = const()[name = string("input_25_lstm_layer_1_output_sequence_0"), val = bool(true)]; |
| string input_25_lstm_layer_1_recurrent_activation_0 = const()[name = string("input_25_lstm_layer_1_recurrent_activation_0"), val = string("sigmoid")]; |
| string input_25_lstm_layer_1_cell_activation_0 = const()[name = string("input_25_lstm_layer_1_cell_activation_0"), val = string("tanh")]; |
| string input_25_lstm_layer_1_activation_0 = const()[name = string("input_25_lstm_layer_1_activation_0"), val = string("tanh")]; |
| tensor<fp32, [589, ?, 256]> input_25_lstm_layer_1_0, tensor<fp32, [?, 256]> input_25_lstm_layer_1_1, tensor<fp32, [?, 256]> input_25_lstm_layer_1_2 = lstm(activation = input_25_lstm_layer_1_activation_0, bias = add_2, bias_back = add_3, cell_activation = input_25_lstm_layer_1_cell_activation_0, direction = input_25_lstm_layer_1_direction_0, initial_c = input_25_lstm_layer_1_lstm_c0_reshaped, initial_h = input_25_lstm_layer_1_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_1_output_sequence_0, recurrent_activation = input_25_lstm_layer_1_recurrent_activation_0, weight_hh = concat_17, weight_hh_back = concat_19, weight_ih = concat_16, weight_ih_back = concat_18, x = input_25_lstm_layer_0_0)[name = string("input_25_lstm_layer_1")]; |
| tensor<fp32, [512]> add_4 = const()[name = string("add_4"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(2804672)))]; |
| tensor<fp32, [512]> add_5 = const()[name = string("add_5"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(2806784)))]; |
| tensor<fp32, [512, 256]> concat_26 = const()[name = string("concat_26"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(2808896)))]; |
| tensor<fp32, [512, 128]> concat_27 = const()[name = string("concat_27"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(3333248)))]; |
| tensor<fp32, [512, 256]> concat_28 = const()[name = string("concat_28"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(3595456)))]; |
| tensor<fp32, [512, 128]> concat_29 = const()[name = string("concat_29"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(4119808)))]; |
| tensor<int32, [2]> split_30_split_sizes_0 = const()[name = string("split_30_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_30_axis_0 = const()[name = string("split_30_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_30_0, tensor<fp32, [1, ?, 128]> split_30_1 = split(axis = split_30_axis_0, split_sizes = split_30_split_sizes_0, x = split_0_2)[name = string("split_30")]; |
| int32 concat_30_axis_0 = const()[name = string("concat_30_axis_0"), val = int32(2)]; |
| bool concat_30_interleave_0 = const()[name = string("concat_30_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_30 = concat(axis = concat_30_axis_0, interleave = concat_30_interleave_0, values = (split_30_0, split_30_1))[name = string("concat_30")]; |
| tensor<int32, [1]> input_25_lstm_layer_2_lstm_h0_reshaped_axes_0 = const()[name = string("input_25_lstm_layer_2_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_lstm_layer_2_lstm_h0_reshaped = squeeze(axes = input_25_lstm_layer_2_lstm_h0_reshaped_axes_0, x = concat_30)[name = string("input_25_lstm_layer_2_lstm_h0_reshaped")]; |
| tensor<int32, [2]> split_31_split_sizes_0 = const()[name = string("split_31_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_31_axis_0 = const()[name = string("split_31_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_31_0, tensor<fp32, [1, ?, 128]> split_31_1 = split(axis = split_31_axis_0, split_sizes = split_31_split_sizes_0, x = split_1_2)[name = string("split_31")]; |
| int32 concat_31_axis_0 = const()[name = string("concat_31_axis_0"), val = int32(2)]; |
| bool concat_31_interleave_0 = const()[name = string("concat_31_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_31 = concat(axis = concat_31_axis_0, interleave = concat_31_interleave_0, values = (split_31_0, split_31_1))[name = string("concat_31")]; |
| tensor<int32, [1]> input_25_lstm_layer_2_lstm_c0_reshaped_axes_0 = const()[name = string("input_25_lstm_layer_2_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_lstm_layer_2_lstm_c0_reshaped = squeeze(axes = input_25_lstm_layer_2_lstm_c0_reshaped_axes_0, x = concat_31)[name = string("input_25_lstm_layer_2_lstm_c0_reshaped")]; |
| string input_25_lstm_layer_2_direction_0 = const()[name = string("input_25_lstm_layer_2_direction_0"), val = string("bidirectional")]; |
| bool input_25_lstm_layer_2_output_sequence_0 = const()[name = string("input_25_lstm_layer_2_output_sequence_0"), val = bool(true)]; |
| string input_25_lstm_layer_2_recurrent_activation_0 = const()[name = string("input_25_lstm_layer_2_recurrent_activation_0"), val = string("sigmoid")]; |
| string input_25_lstm_layer_2_cell_activation_0 = const()[name = string("input_25_lstm_layer_2_cell_activation_0"), val = string("tanh")]; |
| string input_25_lstm_layer_2_activation_0 = const()[name = string("input_25_lstm_layer_2_activation_0"), val = string("tanh")]; |
| tensor<fp32, [589, ?, 256]> input_25_lstm_layer_2_0, tensor<fp32, [?, 256]> input_25_lstm_layer_2_1, tensor<fp32, [?, 256]> input_25_lstm_layer_2_2 = lstm(activation = input_25_lstm_layer_2_activation_0, bias = add_4, bias_back = add_5, cell_activation = input_25_lstm_layer_2_cell_activation_0, direction = input_25_lstm_layer_2_direction_0, initial_c = input_25_lstm_layer_2_lstm_c0_reshaped, initial_h = input_25_lstm_layer_2_lstm_h0_reshaped, output_sequence = input_25_lstm_layer_2_output_sequence_0, recurrent_activation = input_25_lstm_layer_2_recurrent_activation_0, weight_hh = concat_27, weight_hh_back = concat_29, weight_ih = concat_26, weight_ih_back = concat_28, x = input_25_lstm_layer_1_0)[name = string("input_25_lstm_layer_2")]; |
| tensor<fp32, [512]> add_6 = const()[name = string("add_6"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(4382016)))]; |
| tensor<fp32, [512]> add_7 = const()[name = string("add_7"), val = tensor<fp32, [512]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(4384128)))]; |
| tensor<fp32, [512, 256]> concat_36 = const()[name = string("concat_36"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(4386240)))]; |
| tensor<fp32, [512, 128]> concat_37 = const()[name = string("concat_37"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(4910592)))]; |
| tensor<fp32, [512, 256]> concat_38 = const()[name = string("concat_38"), val = tensor<fp32, [512, 256]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(5172800)))]; |
| tensor<fp32, [512, 128]> concat_39 = const()[name = string("concat_39"), val = tensor<fp32, [512, 128]>(BLOBFILE(path = string("@model_path/weights/weight.bin"), offset = uint64(5697152)))]; |
| tensor<int32, [2]> split_40_split_sizes_0 = const()[name = string("split_40_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_40_axis_0 = const()[name = string("split_40_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_40_0, tensor<fp32, [1, ?, 128]> split_40_1 = split(axis = split_40_axis_0, split_sizes = split_40_split_sizes_0, x = split_0_3)[name = string("split_40")]; |
| int32 concat_40_axis_0 = const()[name = string("concat_40_axis_0"), val = int32(2)]; |
| bool concat_40_interleave_0 = const()[name = string("concat_40_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_40 = concat(axis = concat_40_axis_0, interleave = concat_40_interleave_0, values = (split_40_0, split_40_1))[name = string("concat_40")]; |
| tensor<int32, [1]> input_25_batch_first_lstm_h0_reshaped_axes_0 = const()[name = string("input_25_batch_first_lstm_h0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_batch_first_lstm_h0_reshaped = squeeze(axes = input_25_batch_first_lstm_h0_reshaped_axes_0, x = concat_40)[name = string("input_25_batch_first_lstm_h0_reshaped")]; |
| tensor<int32, [2]> split_41_split_sizes_0 = const()[name = string("split_41_split_sizes_0"), val = tensor<int32, [2]>([1, 1])]; |
| int32 split_41_axis_0 = const()[name = string("split_41_axis_0"), val = int32(0)]; |
| tensor<fp32, [1, ?, 128]> split_41_0, tensor<fp32, [1, ?, 128]> split_41_1 = split(axis = split_41_axis_0, split_sizes = split_41_split_sizes_0, x = split_1_3)[name = string("split_41")]; |
| int32 concat_41_axis_0 = const()[name = string("concat_41_axis_0"), val = int32(2)]; |
| bool concat_41_interleave_0 = const()[name = string("concat_41_interleave_0"), val = bool(false)]; |
| tensor<fp32, [1, ?, 256]> concat_41 = concat(axis = concat_41_axis_0, interleave = concat_41_interleave_0, values = (split_41_0, split_41_1))[name = string("concat_41")]; |
| tensor<int32, [1]> input_25_batch_first_lstm_c0_reshaped_axes_0 = const()[name = string("input_25_batch_first_lstm_c0_reshaped_axes_0"), val = tensor<int32, [1]>([0])]; |
| tensor<fp32, [?, 256]> input_25_batch_first_lstm_c0_reshaped = squeeze(axes = input_25_batch_first_lstm_c0_reshaped_axes_0, x = concat_41)[name = string("input_25_batch_first_lstm_c0_reshaped")]; |
| string input_25_batch_first_direction_0 = const()[name = string("input_25_batch_first_direction_0"), val = string("bidirectional")]; |
| bool input_25_batch_first_output_sequence_0 = const()[name = string("input_25_batch_first_output_sequence_0"), val = bool(true)]; |
| string input_25_batch_first_recurrent_activation_0 = const()[name = string("input_25_batch_first_recurrent_activation_0"), val = string("sigmoid")]; |
| string input_25_batch_first_cell_activation_0 = const()[name = string("input_25_batch_first_cell_activation_0"), val = string("tanh")]; |
| string input_25_batch_first_activation_0 = const()[name = string("input_25_batch_first_activation_0"), val = string("tanh")]; |
| tensor<fp32, [589, ?, 256]> input_25_batch_first_0, tensor<fp32, [?, 256]> input_25_batch_first_1, tensor<fp32, [?, 256]> input_25_batch_first_2 = lstm(activation = input_25_batch_first_activation_0, bias = add_6, bias_back = add_7, cell_activation = input_25_batch_first_cell_activation_0, direction = input_25_batch_first_direction_0, initial_c = input_25_batch_first_lstm_c0_reshaped, initial_h = input_25_batch_first_lstm_h0_reshaped, output_sequence = input_25_batch_first_output_sequence_0, recurrent_activation = input_25_batch_first_recurrent_activation_0, weight_hh = concat_37, weight_hh_back = concat_39, weight_ih = concat_36, weight_ih_back = concat_38, x = input_25_lstm_layer_2_0)[name = string("input_25_batch_first")]; |
| tensor<int32, [3]> input_25_perm_0 = const()[name = string("input_25_perm_0"), val = tensor<int32, [3]>([1, 0, 2])]; |
| tensor<fp32, [?, 589, 256]> input_25 = transpose(perm = input_25_perm_0, x = input_25_batch_first_0)[name = string("transpose_4")]; |
| tensor<fp32, [?, 589, 128]> input_27 = linear(bias = linear_0_bias, weight = linear_0_weight, x = input_25)[name = string("linear_0")]; |
| fp32 var_220 = const()[name = string("op_220"), val = fp32(0x1.47ae14p-7)]; |
| tensor<fp32, [?, 589, 128]> input_29 = leaky_relu(alpha = var_220, x = input_27)[name = string("input_29")]; |
| tensor<fp32, [?, 589, 128]> input_31 = linear(bias = linear_1_bias, weight = linear_1_weight, x = input_29)[name = string("linear_1")]; |
| fp32 var_225 = const()[name = string("op_225"), val = fp32(0x1.47ae14p-7)]; |
| tensor<fp32, [?, 589, 128]> input_33 = leaky_relu(alpha = var_225, x = input_31)[name = string("input_33")]; |
| tensor<fp32, [?, 589, 7]> input_1_1 = linear(bias = classifier_bias, weight = classifier_weight, x = input_33)[name = string("linear_2")]; |
| int32 var_231 = const()[name = string("op_231"), val = int32(-1)]; |
| tensor<fp32, [?, 589, 7]> var_232_softmax = softmax(axis = var_231, x = input_1_1)[name = string("op_232_softmax")]; |
| fp32 var_232_epsilon_0 = const()[name = string("op_232_epsilon_0"), val = fp32(0x1p-149)]; |
| tensor<fp32, [?, 589, 7]> output = log(epsilon = var_232_epsilon_0, x = var_232_softmax)[name = string("op_232")]; |
| } -> (output); |
| } |