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

Method __init__

mpu/layers.py:146–173  ·  view source on GitHub ↗
(self, num_embeddings, embedding_dim,
                 init_method=init.xavier_normal_,
                 keep_master_weight_for_test=False)

Source from the content-addressed store, hash-verified

144 init_method: method to initialize weights.
145 """
146 def __init__(self, num_embeddings, embedding_dim,
147 init_method=init.xavier_normal_,
148 keep_master_weight_for_test=False):
149 super(ParallelEmbedding, self).__init__()
150 # Keep the input dimensions.
151 self.num_embeddings = num_embeddings
152 self.embedding_dim = embedding_dim
153 # Set some detauls for compatibility.
154 self.padding_idx = None
155 self.max_norm = None
156 self.norm_type = 2.
157 self.scale_grad_by_freq = False
158 self.sparse = False
159 self._weight = None
160 # Divide the weight matrix along the embedding dimension.
161 world_size = get_model_parallel_world_size()
162 self.embedding_dim_per_partition = divide(self.embedding_dim,
163 world_size)
164
165 # Allocate weights.
166 self.weight = Parameter(torch.Tensor(self.num_embeddings,
167 self.embedding_dim_per_partition))
168 self.weight.model_parallel = True
169 # And initialize.
170 _initialize_affine_weight(
171 self.weight, self.num_embeddings, self.embedding_dim,
172 self.embedding_dim_per_partition, 1, init_method,
173 stride=1, return_master_weight=False)
174
175 def forward(self, input_):
176 input_parallel = copy_to_model_parallel_region(input_)

Callers 3

__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45

Calls 3

divideFunction · 0.85

Tested by

no test coverage detected