entrenar/yaml_mode/manifest/
lora.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct LoraConfig {
10 pub enabled: bool,
12
13 pub rank: usize,
15
16 pub alpha: f64,
18
19 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub dropout: Option<f64>,
22
23 pub target_modules: Vec<String>,
25
26 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub target_modules_pattern: Option<String>,
29
30 #[serde(default, skip_serializing_if = "Option::is_none")]
32 pub bias: Option<String>,
33
34 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub init_weights: Option<String>,
37
38 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub quantize_base: Option<bool>,
41
42 #[serde(default, skip_serializing_if = "Option::is_none")]
44 pub quantize_bits: Option<u8>,
45
46 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub double_quantize: Option<bool>,
49
50 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub quant_type: Option<String>,
53}