pub struct ProximalGradient { /* private fields */ }Expand description
Proximal Gradient Method optimizer
This optimizer handles non-smooth regularization terms using proximal operators, commonly used for L1 regularization.
Implementations§
Source§impl ProximalGradient
impl ProximalGradient
Sourcepub fn new(
params: Vec<Arc<RwLock<Tensor>>>,
lr: f32,
l1_reg: Option<f32>,
l2_reg: Option<f32>,
prox_type: Option<ProximalOperator>,
) -> Self
pub fn new( params: Vec<Arc<RwLock<Tensor>>>, lr: f32, l1_reg: Option<f32>, l2_reg: Option<f32>, prox_type: Option<ProximalOperator>, ) -> Self
Create a new ProximalGradient optimizer
Sourcepub fn lasso(params: Vec<Arc<RwLock<Tensor>>>, lr: f32, l1_reg: f32) -> Self
pub fn lasso(params: Vec<Arc<RwLock<Tensor>>>, lr: f32, l1_reg: f32) -> Self
Create ProximalGradient for LASSO (L1 regularization)
Sourcepub fn elastic_net(
params: Vec<Arc<RwLock<Tensor>>>,
lr: f32,
l1_reg: f32,
l2_reg: f32,
) -> Self
pub fn elastic_net( params: Vec<Arc<RwLock<Tensor>>>, lr: f32, l1_reg: f32, l2_reg: f32, ) -> Self
Create ProximalGradient for Elastic Net
Sourcepub fn regularization(&self) -> (f32, f32)
pub fn regularization(&self) -> (f32, f32)
Get regularization strengths
Sourcepub fn set_regularization(&mut self, l1_reg: f32, l2_reg: f32)
pub fn set_regularization(&mut self, l1_reg: f32, l2_reg: f32)
Set regularization strengths
Trait Implementations§
Source§impl Optimizer for ProximalGradient
impl Optimizer for ProximalGradient
Source§fn step(&mut self) -> OptimizerResult<()>
fn step(&mut self) -> OptimizerResult<()>
Perform a single optimization step
Source§fn add_param_group(
&mut self,
params: Vec<Arc<RwLock<Tensor>>>,
_options: HashMap<String, f32>,
)
fn add_param_group( &mut self, params: Vec<Arc<RwLock<Tensor>>>, _options: HashMap<String, f32>, )
Add a parameter group
Source§fn parameters(&self) -> Vec<Arc<RwLock<Tensor>>>
fn parameters(&self) -> Vec<Arc<RwLock<Tensor>>>
Get the parameter tensors managed by this optimizer. Read more
Source§fn state_dict(&self) -> OptimizerResult<OptimizerState>
fn state_dict(&self) -> OptimizerResult<OptimizerState>
Get state dict for serialization
Source§fn load_state_dict(&mut self, state: OptimizerState) -> OptimizerResult<()>
fn load_state_dict(&mut self, state: OptimizerState) -> OptimizerResult<()>
Load state dict
Auto Trait Implementations§
impl !RefUnwindSafe for ProximalGradient
impl !UnwindSafe for ProximalGradient
impl Freeze for ProximalGradient
impl Send for ProximalGradient
impl Sync for ProximalGradient
impl Unpin for ProximalGradient
impl UnsafeUnpin for ProximalGradient
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<O> OptimizerExt for Owhere
O: Optimizer,
impl<O> OptimizerExt for Owhere
O: Optimizer,
Source§fn distributed(
self,
config: DistributedConfig,
) -> OptimizerResult<DistributedOptimizer<Self>>
fn distributed( self, config: DistributedConfig, ) -> OptimizerResult<DistributedOptimizer<Self>>
Wrap this optimizer with distributed functionality