pub struct TransformerEncoderBlock {
pub attention: MultiHeadSelfAttention,
pub ln1: LayerNorm,
pub ffn: FeedForward,
pub ln2: LayerNorm,
pub dropout: Dropout,
pub pre_norm: bool,
}Expand description
Transformer encoder block (BERT-style).
Fields§
§attention: MultiHeadSelfAttentionSelf-attention layer
ln1: LayerNormFirst layer norm (pre-attention or post-attention)
ffn: FeedForwardFeed-forward network
ln2: LayerNormSecond layer norm (pre-FFN or post-FFN)
dropout: DropoutResidual dropout
pre_norm: boolWhether to use pre-norm (like GPT) or post-norm (like original BERT)
Implementations§
Trait Implementations§
Source§impl Debug for TransformerEncoderBlock
impl Debug for TransformerEncoderBlock
Source§impl Module for TransformerEncoderBlock
impl Module for TransformerEncoderBlock
Source§fn named_parameters(&self) -> HashMap<String, Parameter>
fn named_parameters(&self) -> HashMap<String, Parameter>
Returns named parameters of this module.
Source§fn num_parameters(&self) -> usize
fn num_parameters(&self) -> usize
Returns the number of trainable parameters.
Source§fn set_training(&mut self, _training: bool)
fn set_training(&mut self, _training: bool)
Sets the training mode.
Source§fn is_training(&self) -> bool
fn is_training(&self) -> bool
Returns whether the module is in training mode.
Auto Trait Implementations§
impl !Freeze for TransformerEncoderBlock
impl !RefUnwindSafe for TransformerEncoderBlock
impl Send for TransformerEncoderBlock
impl Sync for TransformerEncoderBlock
impl Unpin for TransformerEncoderBlock
impl !UnwindSafe for TransformerEncoderBlock
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