MCPcopy Create free account
hub / github.com/zai-org/CodeGeeX / __init__

Method __init__

codegeex/oneflow/codegeex_model.py:58–83  ·  view source on GitHub ↗
(
        self, 
        hidden_size,
        num_attention_heads, 
        layer_number,
        fp16=True,
        attention_softmax_in_fp32=True,
    )

Source from the content-addressed store, hash-verified

56 """
57
58 def __init__(
59 self,
60 hidden_size,
61 num_attention_heads,
62 layer_number,
63 fp16=True,
64 attention_softmax_in_fp32=True,
65 ):
66 super(SelfAttention, self).__init__()
67 self.hidden_size = hidden_size
68 self.num_attention_heads = num_attention_heads
69 self.fp16 = fp16
70 self.attention_softmax_in_fp32 = attention_softmax_in_fp32
71 self.layer_number = max(1, layer_number)
72
73 assert self.hidden_size % self.num_attention_heads == 0
74 self.hidden_size_per_attention_head = int(self.hidden_size // self.num_attention_heads)
75
76 self.query = torch.nn.Linear(self.hidden_size, self.hidden_size)
77 self.key = torch.nn.Linear(self.hidden_size, self.hidden_size)
78 self.value = torch.nn.Linear(self.hidden_size, self.hidden_size)
79
80 self.norm_factor = math.sqrt(self.hidden_size_per_attention_head)
81 self.softmax = torch.nn.Softmax(dim=-1)
82
83 self.dense = torch.nn.Linear(self.hidden_size, self.hidden_size)
84
85 def forward(
86 self,

Callers

nothing calls this directly

Calls 1

__init__Method · 0.45

Tested by

no test coverage detected