in quant/binary/binary_conv.py [0:0]
def _get_w_quantizer(scheme: str, size: int) -> nn.Module:
"""Get weight quantizer function from quantizer scheme."""
QuantConv2d._validate_scheme(scheme)
if scheme == 'fp':
return quantization.QuantizerFP()
elif scheme.startswith('ls'):
quantizer_map = {
'ls-1': weight_quantization.WeightQuantizerLS1,
'ls-2': weight_quantization.WeightQuantizerLS2,
'ls-T': weight_quantization.WeightQuantizerLST,
}
return quantizer_map[scheme](size)
else: # must be gf-k
k = int(scheme.split('-')[1])
return weight_quantization.WeightQuantizerGF(size, k)