Pytorch Utils 总结

Utils


torch.nn.utils模块

clip_grad_norm_ 裁剪参数迭代的梯度范数。
clip_grad_value_ 在指定值处剪辑可迭代参数的梯度。
parameters_to_vector 将参数转换为一个向量
vector_to_parameters 将一个向量转换为参数
prune.BasePruningMethod 用于创建新修剪技术的抽象基类。
prune.PruningContainer 容器包含一系列用于迭代剪枝的剪枝方法。
prune.Identity 实用剪枝方法,不剪枝任何单元,但生成带有掩码的剪枝参数化。
prune.RandomUnstructured 随机修剪(当前未修剪的)张量中的单元。
prune.L1Unstructured 通过将具有最低 L1 范数的单元归零来修剪(当前未修剪)张量中的单元。
prune.RandomStructured 随机修剪张量中的整个(当前未修剪的)通道。
prune.LnStructured 根据 Ln范数在张量中修剪整个(当前未修剪的)通道。
prune.CustomFromMask
prune.identity 将修剪重新参数化应用于与调用的参数对应的张量namemodule而不实际修剪任何单位。
prune.random_unstructured 通过删除随机选择的指定的(当前未修剪的)单元来修剪与调用name的参数相对应的张量。module``amount
prune.l1_unstructured 通过删除具有最低 L1 范数的指定数量的(当前未修剪的)单元来修剪与调用name的参数相对应的张量。module
prune.random_structured 通过沿随机选择的指定删除指定的(当前未修剪的)通道来修剪与调用name的参数相对应的张量。module``amount``dim
prune.ln_structured 通过沿着具有最低 L范数的指定通道移除指定的(当前未修剪的)通道,修剪与调用name的参数相对应的张量。module``amount``dim``n
prune.global_unstructured parameters通过应用指定的来全局修剪与所有参数对应的张量pruning_method
prune.custom_from_mask name通过在 中module应用预先计算的掩码来修剪与调用的参数相对应的张量mask
prune.remove 从模块中删除修剪重新参数化,从前向钩子中删除修剪方法。
prune.is_pruned module通过forward_pre_hooks在其继承自BasePruningMethod.
weight_norm 将权重归一化应用于给定模块中的参数。
remove_weight_norm 从模块中删除权重归一化重新参数化。
spectral_norm 将光谱归一化应用于给定模块中的参数。
remove_spectral_norm 从模块中删除光谱归一化重新参数化。
skip_init 给定一个模块类对象和 args / kwargs,在不初始化参数 / 缓冲区的情况下实例化模块。

使用torch.nn.utils.parameterize.register_parametrization().

parametrizations.orthogonal 将正交或酉参数化应用于矩阵或一组矩阵。
parametrizations.spectral_norm 将光谱归一化应用于给定模块中的参数。

对现有模块上的张量进行参数化的实用函数。请注意,在给定从输入空间映射到参数化空间的特定函数的情况下,这些函数可用于参数化给定的参数或缓冲区。它们不是将对象转换为参数的参数化。 有关如何实现自己的参数化的更多信息,请参阅 参数化教程。

parametrize.register_parametrization 向模块中的张量添加参数化。
parametrize.remove_parametrizations 删除模块中张量的参数化。
parametrize.cached 上下文管理器,在注册的参数化中启用缓存系统register_parametrization()
parametrize.is_parametrized True如果模块具有活动参数化,则返回。
parametrize.ParametrizationList original保存和管理or original0、 、的顺序容器original1

其他模块中的实用功能

nn.utils.rnn.PackedSequence batch_sizes保存打包序列的数据和列表。
nn.utils.rnn.pack_padded_sequence 打包一个包含可变长度填充序列的张量。
nn.utils.rnn.pad_packed_sequence 填充一组打包的可变长度序列。
nn.utils.rnn.pad_sequence 填充可变长度张量列表padding_value
nn.utils.rnn.pack_sequence 打包可变长度张量列表
nn.Flatten 将连续的暗淡范围展平为张量。
nn.Unflatten 将张量变平展开为所需的形状。
posted @ 2022-03-23 20:58  Xu_Lin  阅读(423)  评论(0编辑  收藏  举报