program(1.0) [buildInfo = dict, tensor>({{"coremlc-component-MIL", "3500.14.1"}, {"coremlc-version", "3500.32.1"}, {"coremltools-component-torch", "2.7.0"}, {"coremltools-source-dialect", "TorchScript"}, {"coremltools-version", "9.0b1"}})] { func main(tensor decoder_step, tensor encoder_step) { tensor input_1_perm_0 = const()[name = tensor("input_1_perm_0"), val = tensor([0, 2, 1])]; tensor encoder_step_to_fp16_dtype_0 = const()[name = tensor("encoder_step_to_fp16_dtype_0"), val = tensor("fp16")]; tensor input_3_perm_0 = const()[name = tensor("input_3_perm_0"), val = tensor([0, 2, 1])]; tensor decoder_step_to_fp16_dtype_0 = const()[name = tensor("decoder_step_to_fp16_dtype_0"), val = tensor("fp16")]; tensor joint_module_enc_weight_to_fp16 = const()[name = tensor("joint_module_enc_weight_to_fp16"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(64)))]; tensor joint_module_enc_bias_to_fp16 = const()[name = tensor("joint_module_enc_bias_to_fp16"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(1310848)))]; tensor encoder_step_to_fp16 = cast(dtype = encoder_step_to_fp16_dtype_0, x = encoder_step)[name = tensor("cast_3")]; tensor input_1_cast_fp16 = transpose(perm = input_1_perm_0, x = encoder_step_to_fp16)[name = tensor("transpose_1")]; tensor linear_0_cast_fp16 = linear(bias = joint_module_enc_bias_to_fp16, weight = joint_module_enc_weight_to_fp16, x = input_1_cast_fp16)[name = tensor("linear_0_cast_fp16")]; tensor joint_module_pred_weight_to_fp16 = const()[name = tensor("joint_module_pred_weight_to_fp16"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(1312192)))]; tensor joint_module_pred_bias_to_fp16 = const()[name = tensor("joint_module_pred_bias_to_fp16"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(2131456)))]; tensor decoder_step_to_fp16 = cast(dtype = decoder_step_to_fp16_dtype_0, x = decoder_step)[name = tensor("cast_2")]; tensor input_3_cast_fp16 = transpose(perm = input_3_perm_0, x = decoder_step_to_fp16)[name = tensor("transpose_0")]; tensor linear_1_cast_fp16 = linear(bias = joint_module_pred_bias_to_fp16, weight = joint_module_pred_weight_to_fp16, x = input_3_cast_fp16)[name = tensor("linear_1_cast_fp16")]; tensor var_23_axes_0 = const()[name = tensor("op_23_axes_0"), val = tensor([2])]; tensor var_23_cast_fp16 = expand_dims(axes = var_23_axes_0, x = linear_0_cast_fp16)[name = tensor("op_23_cast_fp16")]; tensor var_24_axes_0 = const()[name = tensor("op_24_axes_0"), val = tensor([1])]; tensor var_24_cast_fp16 = expand_dims(axes = var_24_axes_0, x = linear_1_cast_fp16)[name = tensor("op_24_cast_fp16")]; tensor input_5_cast_fp16 = add(x = var_23_cast_fp16, y = var_24_cast_fp16)[name = tensor("input_5_cast_fp16")]; tensor input_7_cast_fp16 = relu(x = input_5_cast_fp16)[name = tensor("input_7_cast_fp16")]; tensor joint_module_joint_net_2_weight_to_fp16 = const()[name = tensor("joint_module_joint_net_2_weight_to_fp16"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(2132800)))]; tensor joint_module_joint_net_2_bias_to_fp16 = const()[name = tensor("joint_module_joint_net_2_bias_to_fp16"), val = tensor(BLOBFILE(path = tensor("@model_path/weights/weight.bin"), offset = tensor(12626304)))]; tensor linear_2_cast_fp16 = linear(bias = joint_module_joint_net_2_bias_to_fp16, weight = joint_module_joint_net_2_weight_to_fp16, x = input_7_cast_fp16)[name = tensor("linear_2_cast_fp16")]; tensor token_logits_begin_0 = const()[name = tensor("token_logits_begin_0"), val = tensor([0, 0, 0, 0])]; tensor token_logits_end_0 = const()[name = tensor("token_logits_end_0"), val = tensor([1, 1, 1, 8193])]; tensor token_logits_end_mask_0 = const()[name = tensor("token_logits_end_mask_0"), val = tensor([true, true, true, false])]; tensor token_logits_cast_fp16 = slice_by_index(begin = token_logits_begin_0, end = token_logits_end_0, end_mask = token_logits_end_mask_0, x = linear_2_cast_fp16)[name = tensor("token_logits_cast_fp16")]; tensor duration_logits_begin_0 = const()[name = tensor("duration_logits_begin_0"), val = tensor([0, 0, 0, 8193])]; tensor duration_logits_end_0 = const()[name = tensor("duration_logits_end_0"), val = tensor([1, 1, 1, 8198])]; tensor duration_logits_end_mask_0 = const()[name = tensor("duration_logits_end_mask_0"), val = tensor([true, true, true, true])]; tensor duration_logits_cast_fp16 = slice_by_index(begin = duration_logits_begin_0, end = duration_logits_end_0, end_mask = duration_logits_end_mask_0, x = linear_2_cast_fp16)[name = tensor("duration_logits_cast_fp16")]; tensor var_43_axis_0 = const()[name = tensor("op_43_axis_0"), val = tensor(-1)]; tensor var_43_keep_dims_0 = const()[name = tensor("op_43_keep_dims_0"), val = tensor(false)]; tensor var_43_output_dtype_0 = const()[name = tensor("op_43_output_dtype_0"), val = tensor("int32")]; tensor token_id = reduce_argmax(axis = var_43_axis_0, keep_dims = var_43_keep_dims_0, output_dtype = var_43_output_dtype_0, x = token_logits_cast_fp16)[name = tensor("op_43_cast_fp16")]; tensor var_49 = const()[name = tensor("op_49"), val = tensor(-1)]; tensor token_probs_all_cast_fp16 = softmax(axis = var_49, x = token_logits_cast_fp16)[name = tensor("token_probs_all_cast_fp16")]; tensor var_58_axes_0 = const()[name = tensor("op_58_axes_0"), val = tensor([-1])]; tensor var_58 = expand_dims(axes = var_58_axes_0, x = token_id)[name = tensor("op_58")]; tensor var_59 = const()[name = tensor("op_59"), val = tensor(-1)]; tensor var_61_validate_indices_0 = const()[name = tensor("op_61_validate_indices_0"), val = tensor(false)]; tensor var_58_to_int16_dtype_0 = const()[name = tensor("op_58_to_int16_dtype_0"), val = tensor("int16")]; tensor var_58_to_int16 = cast(dtype = var_58_to_int16_dtype_0, x = var_58)[name = tensor("cast_1")]; tensor var_61_cast_fp16_cast_int16 = gather_along_axis(axis = var_59, indices = var_58_to_int16, validate_indices = var_61_validate_indices_0, x = token_probs_all_cast_fp16)[name = tensor("op_61_cast_fp16_cast_int16")]; tensor var_63_axes_0 = const()[name = tensor("op_63_axes_0"), val = tensor([-1])]; tensor var_63_cast_fp16 = squeeze(axes = var_63_axes_0, x = var_61_cast_fp16_cast_int16)[name = tensor("op_63_cast_fp16")]; tensor var_63_cast_fp16_to_fp32_dtype_0 = const()[name = tensor("op_63_cast_fp16_to_fp32_dtype_0"), val = tensor("fp32")]; tensor var_66_axis_0 = const()[name = tensor("op_66_axis_0"), val = tensor(-1)]; tensor var_66_keep_dims_0 = const()[name = tensor("op_66_keep_dims_0"), val = tensor(false)]; tensor var_66_output_dtype_0 = const()[name = tensor("op_66_output_dtype_0"), val = tensor("int32")]; tensor duration = reduce_argmax(axis = var_66_axis_0, keep_dims = var_66_keep_dims_0, output_dtype = var_66_output_dtype_0, x = duration_logits_cast_fp16)[name = tensor("op_66_cast_fp16")]; tensor token_prob = cast(dtype = var_63_cast_fp16_to_fp32_dtype_0, x = var_63_cast_fp16)[name = tensor("cast_0")]; } -> (token_id, token_prob, duration); }