MCPcopy Create free account
hub / github.com/OpenDriveLab/ReSim / copy_layer_norm

Function copy_layer_norm

SwissArmyTransformer/examples/cait/transform_param.py:41–54  ·  view source on GitHub ↗
(src, dst)

Source from the content-addressed store, hash-verified

39 dst.data = src.data
40
41def copy_layer_norm(src, dst):
42 src_ln = []
43 for k, v in src.named_parameters():
44 if 'norm' in k.lower() and type(v) is not torch.nn.Identity():
45 src_ln.append((k, v))
46 dst_ln = []
47 for k, v in dst.named_parameters():
48 if 'layernorm' in k.lower() and not ('decoder' in k and 'post_attention' in k):
49 dst_ln.append((k, v))
50 assert len(src_ln) == len(dst_ln)
51 for kvs, kvd in zip(src_ln, dst_ln):
52 assert kvd[1].data.shape == kvs[1].data.shape
53 kvd[1].data = kvs[1].data
54 assert (kvd[1].data == kvs[1].data).all()
55
56def copy_transformer_layer_wo_ln_encoder(src, dst, ind):
57 new_weight = src.attn.qkv.weight.data

Callers 1

transform_weightFunction · 0.70

Calls 1

appendMethod · 0.80

Tested by

no test coverage detected