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

Function copy_layer_norm

SwissArmyTransformer/examples/vit/transform_param.py:27–40  ·  view source on GitHub ↗
(src, dst)

Source from the content-addressed store, hash-verified

25 dst.data = src.data
26
27def copy_layer_norm(src, dst):
28 src_ln = []
29 for k, v in src.named_parameters():
30 if 'norm' in k.lower() and type(v) is not torch.nn.Identity():
31 src_ln.append((k, v))
32 dst_ln = []
33 for k, v in dst.named_parameters():
34 if 'layernorm' in k.lower():
35 dst_ln.append((k, v))
36 assert len(src_ln) == len(dst_ln)
37 for kvs, kvd in zip(src_ln, dst_ln):
38 assert kvd[1].data.shape == kvs[1].data.shape
39 kvd[1].data = kvs[1].data
40 assert (kvd[1].data == kvs[1].data).all()
41
42def copy_transformer_layer_wo_ln(src, dst):
43 new_weight = src.attn.qkv.weight.data

Callers 1

transform_weightFunction · 0.70

Calls 1

appendMethod · 0.80

Tested by

no test coverage detected