Struct burn_core::nn::transformer::TransformerDecoder   
source · pub struct TransformerDecoder<B: Backend> { /* private fields */ }Expand description
The transformer decoder module as describe in the paper Attention Is All You Need.
Params
- layers: transformer decoder layers with d_modelinput and output features.
Implementations§
source§impl<B: Backend> TransformerDecoder<B>
 
impl<B: Backend> TransformerDecoder<B>
sourcepub fn forward(&self, input: TransformerDecoderInput<B>) -> Tensor<B, 3>
 
pub fn forward(&self, input: TransformerDecoderInput<B>) -> Tensor<B, 3>
Applies the forward pass.
sourcepub fn forward_autoregressive_inference(
    &self,
    input: TransformerDecoderInput<B>,
    cache: &mut TransformerDecoderAutoregressiveCache<B>
) -> Tensor<B, 3>
 
pub fn forward_autoregressive_inference( &self, input: TransformerDecoderInput<B>, cache: &mut TransformerDecoderAutoregressiveCache<B> ) -> Tensor<B, 3>
Applies the forward pass on the input using autoregressive cache.
sourcepub fn new_autoregressive_cache(
    &self
) -> TransformerDecoderAutoregressiveCache<B>
 
pub fn new_autoregressive_cache( &self ) -> TransformerDecoderAutoregressiveCache<B>
Create an empty autoregressive cache.
Trait Implementations§
source§impl<B> ADModule<B> for TransformerDecoder<B>where
    B: ADBackend + Backend,
 
impl<B> ADModule<B> for TransformerDecoder<B>where B: ADBackend + Backend,
type InnerModule = TransformerDecoder<<B as ADBackend>::InnerBackend>
source§fn valid(&self) -> Self::InnerModule
 
fn valid(&self) -> Self::InnerModule
Get the same module, but on the inner backend without auto-differentiation.
source§impl<B: Backend> Clone for TransformerDecoder<B>
 
impl<B: Backend> Clone for TransformerDecoder<B>
source§impl<B: Backend> Display for TransformerDecoder<B>
 
impl<B: Backend> Display for TransformerDecoder<B>
source§impl<B: Backend> Module<B> for TransformerDecoder<B>
 
impl<B: Backend> Module<B> for TransformerDecoder<B>
§type Record = TransformerDecoderRecord<B>
 
type Record = TransformerDecoderRecord<B>
Type to save and load the module.
source§fn load_record(self, record: Self::Record) -> Self
 
fn load_record(self, record: Self::Record) -> Self
Load the module state from a record.
source§fn into_record(self) -> Self::Record
 
fn into_record(self) -> Self::Record
Convert the module into a record containing the state.
source§fn num_params(&self) -> usize
 
fn num_params(&self) -> usize
Get the number of parameters the module has, including all of its sub-modules.
source§fn visit<V: ModuleVisitor<B>>(&self, visitor: &mut V)
 
fn visit<V: ModuleVisitor<B>>(&self, visitor: &mut V)
Visit each tensor in the module with a visitor.
source§fn map<M: ModuleMapper<B>>(self, mapper: &mut M) -> Self
 
fn map<M: ModuleMapper<B>>(self, mapper: &mut M) -> Self
Map each tensor in the module with a mapper.
source§fn devices(&self) -> Vec<B::Device>
 
fn devices(&self) -> Vec<B::Device>
Get the device list of the module and all of its sub-modules.
source§fn fork(self, device: &B::Device) -> Self
 
fn fork(self, device: &B::Device) -> Self
Fork the module and all of its sub-modules to the given device. Read more
Auto Trait Implementations§
impl<B> RefUnwindSafe for TransformerDecoder<B>where <B as Backend>::TensorPrimitive<1>: RefUnwindSafe, <B as Backend>::TensorPrimitive<2>: RefUnwindSafe,
impl<B> Send for TransformerDecoder<B>
impl<B> Sync for TransformerDecoder<B>
impl<B> Unpin for TransformerDecoder<B>where <B as Backend>::TensorPrimitive<1>: Unpin, <B as Backend>::TensorPrimitive<2>: Unpin,
impl<B> UnwindSafe for TransformerDecoder<B>where <B as Backend>::TensorPrimitive<1>: UnwindSafe, <B as Backend>::TensorPrimitive<2>: UnwindSafe,
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