use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VisionConfig {
pub encoder_type: String,
pub hidden_size: usize,
pub num_layers: usize,
pub num_heads: usize,
pub patch_size: usize,
pub image_size: usize,
pub intermediate_size: usize,
#[serde(default = "default_projector_type")]
pub projector_type: String,
#[serde(default = "default_projector_depth")]
pub projector_depth: usize,
#[serde(default)]
pub select_layer: Option<i32>,
}
fn default_projector_type() -> String {
"linear".to_string()
}
fn default_projector_depth() -> usize {
2
}