MCPcopy Create free account
hub / github.com/OpenBitSys/BitDistiller / set_op_by_name

Function set_op_by_name

quantization/pre_quant.py:19–30  ·  view source on GitHub ↗
(layer, name, new_module)

Source from the content-addressed store, hash-verified

17 return {name: m for name, m in module.named_modules() if isinstance(m, nn.Linear)}
18
19def set_op_by_name(layer, name, new_module):
20 levels = name.split('.')
21 if len(levels) > 1:
22 mod_ = layer
23 for l_idx in range(len(levels)-1):
24 if levels[l_idx].isdigit():
25 mod_ = mod_[int(levels[l_idx])]
26 else:
27 mod_ = getattr(mod_, levels[l_idx])
28 setattr(mod_, levels[-1], new_module)
29 else:
30 setattr(layer, name, new_module)
31
32def get_blocks(model):
33 if model.__class__.__name__ == 'LlamaForCausalLM':

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected