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

Method __init__

codegeex/paddle/codegeex_model.py:57–82  ·  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

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

Callers

nothing calls this directly

Calls 1

__init__Method · 0.45

Tested by

no test coverage detected