pub struct TransformerDecoderBlock {
pub self_attn: MultiHeadAttention,
pub cross_attn: CrossAttention,
pub ffn: FeedForward,
pub ln1_gamma: Tensor,
pub ln1_beta: Tensor,
pub ln2_gamma: Tensor,
pub ln2_beta: Tensor,
pub ln3_gamma: Tensor,
pub ln3_beta: Tensor,
pub d_model: usize,
}Expand description
Single transformer decoder block: masked self-attention → cross-attention → FFN, each sub-layer wrapped with residual connection and layer normalization.
Fields§
§self_attn: MultiHeadAttention§cross_attn: CrossAttention§ffn: FeedForward§ln1_gamma: Tensor§ln1_beta: Tensor§ln2_gamma: Tensor§ln2_beta: Tensor§ln3_gamma: Tensor§ln3_beta: Tensor§d_model: usizeImplementations§
Source§impl TransformerDecoderBlock
impl TransformerDecoderBlock
Auto Trait Implementations§
impl Freeze for TransformerDecoderBlock
impl RefUnwindSafe for TransformerDecoderBlock
impl Send for TransformerDecoderBlock
impl Sync for TransformerDecoderBlock
impl Unpin for TransformerDecoderBlock
impl UnsafeUnpin for TransformerDecoderBlock
impl UnwindSafe for TransformerDecoderBlock
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> 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