def call(self, hidden_states, attention_mask, head_mask, output_attentions, output_hidden_states, return_dict, training=False):
    all_hidden_states = (() if output_hidden_states else None)
    all_attentions = (() if output_attentions else None)
    for (i, layer_module) in enumerate(self.layer):
        if output_hidden_states:
            all_hidden_states = (all_hidden_states + (hidden_states,))
        layer_outputs = layer_module(hidden_states, attention_mask, head_mask[i], output_attentions, training=training)
        hidden_states = layer_outputs[0]
        if output_attentions:
            all_attentions = (all_attentions + (layer_outputs[1],))
    if output_hidden_states:
        all_hidden_states = (all_hidden_states + (hidden_states,))
    if (not return_dict):
        return tuple((v for v in [hidden_states, all_hidden_states, all_attentions] if (v is not None)))
    return TFBaseModelOutput(last_hidden_state=hidden_states, hidden_states=all_hidden_states, attentions=all_attentions)
def call(self, hidden_states, attention_mask, head_mask, output_attentions, output_hidden_states, return_dict, training=False):
    all_hidden_states = (() if output_hidden_states else None)
    all_attentions = (() if output_attentions else None)
    for (i, layer_module) in enumerate(self.layer):
        if output_hidden_states:
            all_hidden_states = (all_hidden_states + (hidden_states,))
        layer_outputs = layer_module(hidden_states, attention_mask, head_mask[i], output_attentions, training=training)
        hidden_states = layer_outputs[0]
        if output_attentions:
            all_attentions = (all_attentions + (layer_outputs[1],))
    if output_hidden_states:
        all_hidden_states = (all_hidden_states + (hidden_states,))
    if (not return_dict):
        return tuple((v for v in [hidden_states, all_hidden_states, all_attentions] if (v is not None)))
    return TFBaseModelOutput(last_hidden_state=hidden_states, hidden_states=all_hidden_states, attentions=all_attentions)