Table of Contents
Shortcuts

# torch.nn.utils.prune.random_structured

torch.nn.utils.prune.random_structured(module, name, amount, dim)

  Prunes tensor corresponding to parameter called `name` in `module` by removing the specified `amount` of (currently unpruned) channels along the specified `dim` selected at random. Modifies module in place (and also return the modified module) by:

  1. adding a named buffer called `name+'_mask'` corresponding to the binary mask applied to the parameter `name` by the pruning method.

  2. replacing the parameter `name` by its pruned version, while the original (unpruned) parameter is stored in a new parameter named `name+'_orig'`.

  Parameters:

    - module (nn.Module) – module containing the tensor to prune

    - name (str) – parameter name within `module` on which pruning will act.

    - amount (int or float) – quantity of parameters to prune. If `float`, should be between 0.0 and 1.0 and represent the fraction of parameters to prune. If `int`, it represents the absolute number of parameters to prune.

    - dim (int) – index of the dim along which we define channels to prune.

  Returns:

    modified (i.e. pruned) version of the input module

  Return type:

    module (nn.Module)

  Examples

      >>> m = prune.random_structured(
      ...     nn.Linear(5, 3), 'weight', amount=3, dim=1
      ... )
      >>> columns_pruned = int(sum(torch.sum(m.weight, dim=0) == 0))
      >>> print(columns_pruned)
      3

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.