pub struct VeraLayer { /* private fields */ }Expand description
VeRA layer implementing Vector-based Random Matrix Adaptation.
Uses frozen random matrices A and B with trainable scaling vectors:
ΔW = B @ diag(d) @ A
Where:
- A: Frozen random matrix [r,
in_features] (Kaiming initialization) - B: Frozen random matrix [
out_features, r] (zero initialization or small random) - d: Trainable scaling vector [r]
- b: Optional trainable bias vector [
out_features]
Implementations§
Source§impl VeraLayer
impl VeraLayer
Sourcepub fn new(
in_features: usize,
out_features: usize,
config: VeraConfig,
device: &Device,
) -> Result<VeraLayer, PeftError>
pub fn new( in_features: usize, out_features: usize, config: VeraConfig, device: &Device, ) -> Result<VeraLayer, PeftError>
Sourcepub fn new_with_bias(
in_features: usize,
out_features: usize,
config: VeraConfig,
device: &Device,
) -> Result<VeraLayer, PeftError>
pub fn new_with_bias( in_features: usize, out_features: usize, config: VeraConfig, device: &Device, ) -> Result<VeraLayer, PeftError>
Sourcepub fn scaling_vector(&self) -> &Tensor
pub fn scaling_vector(&self) -> &Tensor
Get the scaling vector d.
Trait Implementations§
Source§impl Adapter for VeraLayer
impl Adapter for VeraLayer
Source§type Config = VeraConfig
type Config = VeraConfig
The configuration type for this adapter.
Source§fn forward(
&self,
input: &Tensor,
base_output: Option<&Tensor>,
) -> Result<Tensor, PeftError>
fn forward( &self, input: &Tensor, base_output: Option<&Tensor>, ) -> Result<Tensor, PeftError>
Forward pass applying the adapter transformation. Read more
Source§fn num_parameters(&self) -> usize
fn num_parameters(&self) -> usize
Get the number of trainable parameters.
Auto Trait Implementations§
impl Freeze for VeraLayer
impl !RefUnwindSafe for VeraLayer
impl Send for VeraLayer
impl Sync for VeraLayer
impl Unpin for VeraLayer
impl !UnwindSafe for VeraLayer
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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