def __init__(self, name: str, encoder: Attendable, dropout_keep_prob: float = 1.0, state_size: int = None, max_fertility: int = 5, reuse: ModelPart = None, save_checkpoint: str = None, load_checkpoint: str = None, initializers: InitializerSpecs = None) -> None: check_argument_types() Attention.__init__(self, name, encoder, dropout_keep_prob, state_size, reuse, save_checkpoint, load_checkpoint, initializers) self.max_fertility = max_fertility
def build_attention(config: Dict, encoder: RecurrentEncoder) -> Tuple[Attention, str]: attention = Attention(name=ATTENTION_NAME, encoder=encoder) attention_ini = ATTENTION_TEMPLATE.format(ATTENTION_NAME) return attention, attention_ini
def __init__(self, name: str, encoder: Union[TemporalStateful, SpatialStateful], dropout_keep_prob: float = 1.0, state_size: int = None, max_fertility: int = 5, save_checkpoint: str = None, load_checkpoint: str = None) -> None: check_argument_types() Attention.__init__(self, name, encoder, dropout_keep_prob, state_size, save_checkpoint, load_checkpoint) self.max_fertility = max_fertility self.coverage_weights = tf.get_variable("coverage_matrix", [1, 1, 1, self.state_size]) self.fertility_weights = tf.get_variable( "fertility_matrix", [1, 1, self.context_vector_size]) self.fertility = 1e-8 + self.max_fertility * tf.sigmoid( tf.reduce_sum(self.fertility_weights * self.attention_states, [2]))
def __init__(self, name: str, encoder: Attendable, dropout_keep_prob: float = 1.0, state_size: int = None, max_fertility: int = 5, reuse: ModelPart = None, save_checkpoint: str = None, load_checkpoint: str = None, initializers: InitializerSpecs = None) -> None: check_argument_types() Attention.__init__(self, name, encoder, dropout_keep_prob, state_size, reuse, save_checkpoint, load_checkpoint, initializers) self.max_fertility = max_fertility self.coverage_weights = tf.get_variable("coverage_matrix", [1, 1, 1, self.state_size]) self.fertility_weights = tf.get_variable( "fertility_matrix", [1, 1, self.context_vector_size]) self.fertility = 1e-8 + self.max_fertility * tf.sigmoid( tf.reduce_sum(self.fertility_weights * self.attention_states, [2]))