pub struct Gemma4Hparams {Show 17 fields
pub arch: String,
pub n_layer: usize,
pub hidden_dim: usize,
pub ffn_dims: Vec<usize>,
pub n_heads: usize,
pub n_kv_heads: usize,
pub head_dim_full: usize,
pub head_dim_swa: usize,
pub sliding_window: usize,
pub is_swa: Vec<bool>,
pub n_layer_kv_from_start: usize,
pub embd_per_layer: usize,
pub rms_norm_eps: f32,
pub rope_theta: f32,
pub rope_theta_swa: f32,
pub final_logit_softcap: Option<f32>,
pub attention_scale: f32,
}Expand description
Hyperparameters from {arch}.* GGUF metadata.
Fields§
§arch: String§n_layer: usize§ffn_dims: Vec<usize>Per-layer FFN intermediate sizes (feed_forward_length array or scalar).
n_heads: usize§n_kv_heads: usize§head_dim_full: usize§head_dim_swa: usize§sliding_window: usize§is_swa: Vec<bool>true = SWA layer; length == n_layer.
n_layer_kv_from_start: usizeFirst this many layers own a KV cache; later layers reuse.
embd_per_layer: usize§rms_norm_eps: f32§rope_theta: f32§rope_theta_swa: f32§final_logit_softcap: Option<f32>§attention_scale: f32Attention score scale passed to the kernel (Gemma-4: 1.0).
Implementations§
Source§impl Gemma4Hparams
impl Gemma4Hparams
pub fn is_swa_layer(&self, il: usize) -> bool
pub fn head_dim(&self, il: usize) -> usize
pub fn has_kv(&self, il: usize) -> bool
Sourcepub fn kv_reuse_layer(&self, il: usize) -> usize
pub fn kv_reuse_layer(&self, il: usize) -> usize
Layer whose KV cache is reused when !has_kv(il) (llama.cpp GEMMA4 reuse).
pub fn rope_theta_for(&self, il: usize) -> f32
pub fn ffn_dim(&self, il: usize) -> usize
Trait Implementations§
Source§impl Clone for Gemma4Hparams
impl Clone for Gemma4Hparams
Source§fn clone(&self) -> Gemma4Hparams
fn clone(&self) -> Gemma4Hparams
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for Gemma4Hparams
impl RefUnwindSafe for Gemma4Hparams
impl Send for Gemma4Hparams
impl Sync for Gemma4Hparams
impl Unpin for Gemma4Hparams
impl UnsafeUnpin for Gemma4Hparams
impl UnwindSafe for Gemma4Hparams
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more