pub trait Module {
type Input;
type Output;
// Required methods
fn forward(&self, x: &Self::Input) -> Self::Output;
fn gather_params(&self, params: &mut HashMap<usize, Tensor>);
fn update_params(&self, params: &mut HashMap<usize, Tensor>);
fn gather_named_params(
&self,
prefix: &str,
params: &mut HashMap<String, Tensor>,
);
fn update_named_params(
&self,
prefix: &str,
params: &mut HashMap<String, Tensor>,
);
// Provided methods
fn params(&self) -> HashMap<usize, Tensor> { ... }
fn named_params(&self, prefix: &str) -> HashMap<String, Tensor> { ... }
fn to_safetensors<P: AsRef<Path>>(&self, filename: P)
where Self: Sized { ... }
fn update_by_safetensors<P: AsRef<Path>>(
&self,
filenames: &[P],
device: impl AsDevice,
) { ... }
}
Required Associated Types§
Required Methods§
fn forward(&self, x: &Self::Input) -> Self::Output
fn gather_params(&self, params: &mut HashMap<usize, Tensor>)
fn update_params(&self, params: &mut HashMap<usize, Tensor>)
fn gather_named_params( &self, prefix: &str, params: &mut HashMap<String, Tensor>, )
fn update_named_params( &self, prefix: &str, params: &mut HashMap<String, Tensor>, )
Provided Methods§
fn params(&self) -> HashMap<usize, Tensor>
fn named_params(&self, prefix: &str) -> HashMap<String, Tensor>
fn to_safetensors<P: AsRef<Path>>(&self, filename: P)where
Self: Sized,
fn update_by_safetensors<P: AsRef<Path>>( &self, filenames: &[P], device: impl AsDevice, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.