pub enum OutputMerge {
Mean(NoOp),
CatLinear(Linear),
}Expand description
How the two directions of a bidirectional pair are combined.
Variants§
Mean(NoOp)
Element-wise average of the two directions (no parameters).
CatLinear(Linear)
Concatenate along the feature axis and project back down with a learnable
[2 · d_model, d_model] linear layer.
Implementations§
Source§impl OutputMerge
impl OutputMerge
Trait Implementations§
Source§impl AutodiffModule for OutputMerge
impl AutodiffModule for OutputMerge
Source§impl Clone for OutputMerge
impl Clone for OutputMerge
Source§impl Debug for OutputMerge
impl Debug for OutputMerge
Source§impl Display for OutputMerge
impl Display for OutputMerge
Source§impl Module for OutputMerge
impl Module for OutputMerge
Source§type Record = OutputMergeRecord
type Record = OutputMergeRecord
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<Visitor: ModuleVisitor>(&self, visitor: &mut Visitor)
fn visit<Visitor: ModuleVisitor>(&self, visitor: &mut Visitor)
Visit each tensor parameter in the module with a visitor.
Source§fn map<Mapper: ModuleMapper>(self, mapper: &mut Mapper) -> Self
fn map<Mapper: ModuleMapper>(self, mapper: &mut Mapper) -> Self
Map each tensor parameter in the module with a mapper.
Source§fn collect_devices(&self, devices: Devices) -> Devices
fn collect_devices(&self, devices: Devices) -> Devices
Return all the devices found in the underneath module tree added to the given vector
without duplicates.
Source§fn to_device(self, device: &Device) -> Self
fn to_device(self, device: &Device) -> Self
Move the module and all of its sub-modules to the given device. Read more
Source§fn fork(self, device: &Device) -> Self
fn fork(self, device: &Device) -> Self
Fork the module and all of its sub-modules to the given device. Read more
§fn devices(&self) -> Vec<Device>
fn devices(&self) -> Vec<Device>
Return all the devices found in the underneath module tree without duplicates.
§fn train(self) -> Selfwhere
Self: AutodiffModule,
fn train(self) -> Selfwhere
Self: AutodiffModule,
Move the module and all of its sub-modules to the autodiff backend. Read more
§fn quantize_weights(self, quantizer: &mut Quantizer) -> Self
fn quantize_weights(self, quantizer: &mut Quantizer) -> Self
Quantize the weights of the module.
Source§impl ModuleDisplay for OutputMerge
impl ModuleDisplay for OutputMerge
§fn format(&self, passed_settings: DisplaySettings) -> String
fn format(&self, passed_settings: DisplaySettings) -> String
Formats the module with provided display settings. Read more
§fn custom_settings(&self) -> Option<DisplaySettings>
fn custom_settings(&self) -> Option<DisplaySettings>
Custom display settings for the module. Read more
§fn custom_content(&self, _content: Content) -> Option<Content>
fn custom_content(&self, _content: Content) -> Option<Content>
Custom attributes for the module. Read more
Auto Trait Implementations§
impl !Freeze for OutputMerge
impl !RefUnwindSafe for OutputMerge
impl !UnwindSafe for OutputMerge
impl Send for OutputMerge
impl Sync for OutputMerge
impl Unpin for OutputMerge
impl UnsafeUnpin for OutputMerge
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