MCPcopy Create free account
hub / github.com/OpenNMT/CTranslate2 / set_decoder

Method set_decoder

python/ctranslate2/converters/transformers.py:1476–1490  ·  view source on GitHub ↗
(self, spec, module)

Source from the content-addressed store, hash-verified

1474 config.unk_token = tokenizer.unk_token
1475
1476 def set_decoder(self, spec, module):
1477 self.set_embeddings(spec.embeddings, module.wte)
1478 self.set_layer_norm(spec.layer_norm, module.norm_f)
1479
1480 spec.scale_embeddings = False
1481 spec.projection.weight = spec.embeddings.weight
1482
1483 for layer_spec, layer in zip(spec.layer, module.blocks):
1484 self.set_layer_norm(layer_spec.self_attention.layer_norm, layer.norm_1)
1485 self.set_linear(layer_spec.self_attention.linear[0], layer.attn.Wqkv)
1486 self.set_linear(layer_spec.self_attention.linear[1], layer.attn.out_proj)
1487
1488 self.set_layer_norm(layer_spec.ffn.layer_norm, layer.norm_2)
1489 self.set_linear(layer_spec.ffn.linear_0, layer.ffn.up_proj)
1490 self.set_linear(layer_spec.ffn.linear_1, layer.ffn.down_proj)
1491
1492 def set_layer_norm(self, spec, module):
1493 spec.gamma = module.weight

Callers 1

get_model_specMethod · 0.95

Calls 3

set_layer_normMethod · 0.95
set_embeddingsMethod · 0.45
set_linearMethod · 0.45

Tested by

no test coverage detected