快捷方式

LnStructured

class torch.nn.utils.prune.LnStructured(amount, n, dim=-1)[source][source]

根據 Ln-範數對張量中的整個(當前未剪枝的)通道進行剪枝。

引數
  • amount (intfloat) – 要剪枝的通道數量。如果是 float 型別,應介於 0.0 和 1.0 之間,表示要剪枝的引數比例。如果是 int 型別,表示要剪枝的引數絕對數量。

  • n (int, float, inf, -inf, 'fro', 'nuc') – 參見 torch.norm() 中引數 p 的有效條目文件。

  • dim (int, 可選) – 定義要剪枝的通道的維度索引。預設值: -1。

classmethod apply(module, name, amount, n, dim, importance_scores=None)[source][source]

新增張量的即時剪枝和重新引數化。

新增前向預鉤子,該鉤子啟用張量的即時剪枝,並基於原始張量和剪枝掩碼對張量進行重新引數化。

引數
  • module (nn.Module) – 包含要剪枝的張量的模組

  • name (str) – 在 module 內要進行剪枝的引數名稱。

  • amount (intfloat) – 要剪枝的引數數量。如果是 float 型別,應介於 0.0 和 1.0 之間,表示要剪枝的引數比例。如果是 int 型別,表示要剪枝的引數絕對數量。

  • n (int, float, inf, -inf, 'fro', 'nuc') – 參見 torch.norm() 中引數 p 的有效條目文件。

  • dim (int) – 定義要剪枝的通道的維度索引。

  • importance_scores (torch.Tensor) – 重要性分數張量(與模組引數形狀相同),用於計算剪枝掩碼。此張量中的值表示待剪枝引數中對應元素的重要性。如果未指定或為 None,則將使用模組引數代替。

apply_mask(module)[source]

簡單處理待剪枝引數與生成的掩碼之間的乘法。

從模組中獲取掩碼和原始張量,並返回張量的剪枝版本。

引數

module (nn.Module) – 包含要剪枝的張量的模組

返回值

輸入張量的剪枝版本

返回型別

pruned_tensor (torch.Tensor)

compute_mask(t, default_mask)[source][source]

計算並返回輸入張量 t 的掩碼。

從基礎 default_mask(如果張量尚未剪枝,該掩碼應全為一)開始,生成一個掩碼應用於 default_mask 之上,方法是將沿指定維度且具有最低 Ln-範數的通道置零。

引數
  • t (torch.Tensor) – 表示要剪枝的引數的張量

  • default_mask (torch.Tensor) – 來自之前剪枝迭代的基礎掩碼,在應用新掩碼後需要保留。與 t 維度相同。

返回值

應用於 t 的掩碼,與 t 維度相同

返回型別

mask (torch.Tensor)

丟擲

IndexError – 如果 self.dim >= len(t.shape)

prune(t, default_mask=None, importance_scores=None)[source]

計算並返回輸入張量 t 的剪枝版本。

根據 compute_mask() 中指定的剪枝規則。

引數
  • t (torch.Tensor) – 要剪枝的張量(與 default_mask 維度相同)。

  • importance_scores (torch.Tensor) – 重要性分數張量(與 t 形狀相同),用於計算剪枝 t 的掩碼。此張量中的值表示待剪枝 t 中對應元素的重要性。如果未指定或為 None,則將使用張量 t 代替。

  • default_mask (torch.Tensor, 可選) – 來自之前剪枝迭代的掩碼(如果有)。在確定剪枝應作用於張量的哪個部分時需要考慮。如果為 None,預設為全一張量。

返回值

張量 t 的剪枝版本。

remove(module)[source]

從模組中移除剪枝重新引數化。

名為 name 的剪枝引數永久保留剪枝狀態,名為 name+'_orig' 的引數從引數列表中移除。類似地,名為 name+'_mask' 的緩衝區從緩衝區列表中移除。

剪枝本身不會被撤銷或反轉!

文件

訪問關於 PyTorch 的全面的開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源