class_docstr: This is the base class to implement custom selectors to skip certain
  layers during quantization. To implement a custom selector, create a class
  that inherits this class and override `do_quantize()` method.
  
  Examples
  --------
  .. highlight:: python
  .. code-block:: python
  
      class MyLayerSelector(QuantizedLayerSelector):
          def __init__(self):
              super(MyLayerSelector, self).__init__()
  
          def do_quantize(self, layer, **kwargs):
              ret = super(MyLayerSelector, self).do_quantize(layer)
              if not ret or layer.name == 'dense_2':
                  return False
              return True
  
      selector = MyLayerSelector()
      quantized_model = quantize_weights(mlmodel, 8, quantization_mode='linear', selector=selector)
class_docstr_tok: ["This","is","the","base","class","to","implement","custom","selectors","to","skip","certain","layers","during","quantization",".","To","implement","a","custom","selector",",","create","a","class","that","inherits","this","class","and","override","`","do_quantize","(",")","`","method",".","Examples","--","--","--","--","..","highlight",":",":","python","..","code-block",":",":","python","class","MyLayerSelector","(","QuantizedLayerSelector",")",":","def","__init__","(","self",")",":","super","(","MyLayerSelector",",","self",")",".__init__","(",")","def","do_quantize","(","self",",","layer",",","*","*","kwargs",")",":","ret","=","super","(","MyLayerSelector",",","self",")",".do_quantize","(","layer",")","if","not","ret","or","layer.name","==","'dense_2","'",":","return","False","return","True","selector","=","MyLayerSelector","(",")","quantized_model","=","quantize_weights","(","mlmodel",",","8",",","quantization_mode='linear","'",",","selector=selector",")"]
code: def do_quantize(self, layer, **kwargs):
      return layer.WhichOneof("layer") in self.quantizable_layer_types
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import numpy
  from sys import stdout
  from os import listdir
  from six import string_types
  from .optimization_utils import _optimize_nn
  from coremltools.models import _SUPPORTED_QUANTIZATION_MODES, _QUANTIZATION_MODE_DEQUANTIZE, _QUANTIZATION_MODE_LOOKUP_TABLE_LINEAR, _QUANTIZATION_MODE_LOOKUP_TABLE_KMEANS, _QUANTIZATION_MODE_CUSTOM_LOOKUP_TABLE, _QUANTIZATION_MODE_LINEAR_QUANTIZATION, _QUANTIZATION_MODE_LINEAR_SYMMETRIC, _LUT_BASED_QUANTIZATION
  from ..utils import _get_nn_layers, _wp_to_fp16wp, _get_model, _macos_version
  from ..._deps import _HAS_SKLEARN
  from ...None import _MINIMUM_QUANTIZED_MODEL_SPEC_VERSION, _MINIMUM_FP16_SPEC_VERSION, _SPECIFICATION_VERSION_IOS_14
label_desc: Use image node_id 2 for calling the QuantizedLayerSelector obj's underlying member method code with example usage: obj.do_quantize(layer) and returns: unknown