from a base "default_mask" (which should be a mask of ones if
      the tensor has not been pruned yet), generate a random mask to
      apply on top of the "default_mask" by randomly zeroing out
      channels along the specified dim of the tensor.
  Parameters:
     * **t** (*torch.Tensor*) -- tensor representing the parameter
       to prune

     * **default_mask** (*torch.Tensor*) -- Base mask from
       previous pruning iterations, that need to be respected
       after the new mask is applied. Same dims as "t".

  Returns:
     mask to apply to "t", of same dims as "t"

  Return type:
     mask (torch.Tensor)

  Raises:
     **IndexError** -- if "self.dim >= len(t.shape)"

prune(t, default_mask=None, importance_scores=None)
  Computes and returns a pruned version of input tensor "t"
  according to the pruning rule specified in "compute_mask()".

  Parameters:
     * **t** (*torch.Tensor*) -- tensor to prune (of same
