docstr: Returns the arguments required to construct a layer.
  
  For a given `layer_type`, return ( [params], (input_shape) )
  
  Args:
    layer_type: Type of layer, Dense, Conv2D etc.
  
  Returns:
    Arguments to construct layer as a 2-tuple. First value is the list of
    params required to construct the layer. Second value is the input_shape
    for the layer.
docstr_tok: ["Returns","the","arguments","required","to","construct","a","layer",".","For","a","given","`","layer_type","`",",","return","(","[","params","]",",","(","input_shape",")",")","Args",":","layer_type",":","Type","of","layer",",","Dense",",","Conv2D","etc",".","Returns",":","Arguments","to","construct","layer","as","a","2-tuple",".","First","value","is","the","list","of","params","required","to","construct","the","layer",".","Second","value","is","the","input_shape","for","the","layer","."]
code: def _get_params_for_layer(self, layer_type):
      """Returns the arguments required to construct a layer.
  
      For a given `layer_type`, return ( [params], (input_shape) )
  
      Args:
        layer_type: Type of layer, Dense, Conv2D etc.
  
      Returns:
        Arguments to construct layer as a 2-tuple. First value is the list of
        params required to construct the layer. Second value is the input_shape
        for the layer.
      """
      return {
          layers.Conv1D: ([4, 2], (3, 6)),
          layers.Conv2D: ([4, (2, 2)], (4, 6, 1)),
          # TODO(tf-mot): fix for Conv2DTranspose on some form of eager,
          # with or without functions. The weights become nan (though the
          # mask seems fine still).
          # layers.Conv2DTranspose: ([2, (3, 3)], (7, 6, 3)),
          layers.Conv3D: ([2, (3, 3, 3)], (5, 7, 6, 3)),
          # TODO(tf-mot): fix for Conv3DTranspose on some form of eager,
          # with or without functions. The weights become nan (though the
          # mask seems fine still).
          # layers.Conv3DTranspose: ([2, (3, 3, 3)], (5, 7, 6, 3)),
          layers.SeparableConv1D: ([4, 3], (3, 6)),
          layers.SeparableConv2D: ([4, (2, 2)], (4, 6, 1)),
          layers.Dense: ([4], (6,)),
          layers.LocallyConnected1D: ([4, 2], (3, 6)),
          layers.LocallyConnected2D: ([4, (2, 2)], (4, 6, 1)),
          # Embedding has a separate test since training it is not
          # feasible as a single layer.
          layers.Embedding: (None, None),
          # MultiHeadAttention layer has a separate test
          layers.MultiHeadAttention: (None, None),
      }[layer_type]
  
imports: import tempfile
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_model_optimization.python.core.keras import test_utils
  from tensorflow_model_optimization.python.core.sparsity.keras import prune
  from tensorflow_model_optimization.python.core.sparsity.keras import prune_registry
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_callbacks
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_schedule
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_wrapper
  from tensorflow_model_optimization.python.core.sparsity.keras import test_utils
label_desc: Use image node_id 2 for calling the PruneIntegrationTest obj's underlying member method code with example usage: obj._get_params_for_layer(layer_type) and returns: dict