use candle_nn::Activation;
#[derive(Debug, Clone, PartialEq, serde::Deserialize)]
pub struct W2VBert2_0Config {
pub activation_dropout: f32,
pub adapter_act: String,
pub adapter_kernel_size: usize,
pub adapter_stride: usize,
pub add_adapter: bool,
pub apply_spec_augment: bool,
pub attention_dropout: f32,
pub bos_token_id: usize,
pub classifier_proj_size: usize,
pub codevector_dim: usize,
pub conformer_conv_dropout: f32,
pub contrastive_logits_temperature: f32,
pub conv_depthwise_kernel_size: usize,
pub ctc_loss_reduction: String,
pub ctc_zero_infinity: bool,
pub diversity_loss_weight: f32,
pub eos_token_id: usize,
pub feat_proj_dropout: f32,
pub feat_quantizer_dropout: f32,
pub feature_projection_input_dim: usize,
pub final_dropout: f32,
pub hidden_act: Activation,
pub hidden_dropout: f32,
pub hidden_size: usize,
pub initializer_range: f32,
pub intermediate_size: usize,
pub layer_norm_eps: f64,
pub layerdrop: f32,
pub left_max_position_embeddings: usize,
pub mask_feature_length: usize,
pub mask_feature_min_masks: usize,
pub mask_feature_prob: f32,
pub mask_time_length: usize,
pub mask_time_min_masks: usize,
pub mask_time_prob: f32,
pub max_source_positions: usize,
pub num_adapter_layers: usize,
pub num_attention_heads: usize,
pub num_codevector_groups: usize,
pub num_codevectors_per_group: usize,
pub num_hidden_layers: usize,
pub num_negatives: usize,
pub output_hidden_size: usize,
pub pad_token_id: usize,
pub position_embeddings_type: String,
pub proj_codevector_dim: usize,
pub right_max_position_embeddings: usize,
pub rotary_embedding_base: usize,
pub tdnn_dilation: Vec<usize>,
pub tdnn_dim: Vec<usize>,
pub tdnn_kernel: Vec<usize>,
pub torch_dtype: String,
pub use_intermediate_ffn_before_adapter: bool,
pub use_weighted_layer_sum: bool,
pub vocab_size: Option<usize>,
pub xvector_output_dim: usize,
}