use tch::Tensor;
use crate::models::layer_output::LayerOutput;
use crate::TransformerError;
pub trait Encoder {
fn encode(
&self,
input: &Tensor,
attention_mask: Option<&Tensor>,
train: bool,
) -> Result<Vec<LayerOutput>, TransformerError>;
fn n_layers(&self) -> i64;
}