pub trait Encoder {
// Required methods
fn encode(
&self,
input: &Tensor,
attention_mask: Option<&Tensor>,
train: bool,
) -> Result<Vec<LayerOutput>, TransformerError>;
fn n_layers(&self) -> i64;
}Expand description
Encoder networks.
Required Methods§
Sourcefn encode(
&self,
input: &Tensor,
attention_mask: Option<&Tensor>,
train: bool,
) -> Result<Vec<LayerOutput>, TransformerError>
fn encode( &self, input: &Tensor, attention_mask: Option<&Tensor>, train: bool, ) -> Result<Vec<LayerOutput>, TransformerError>
Apply the encoder.
Returns the output and attention per layer. The (optional)
attention mask of shape [batch_size, time_steps] indicates
which tokens should be included (true) and excluded (false) from
attention. This can be used to mask inactive timesteps.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".