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 将张量变平展开为所需的形状。

Pytorch Utils 总结的更多相关文章

  1. python 迭代器链式处理数据

    pytorch.utils.data可兼容迭代数据训练处理,在dataloader中使用提高训练效率:借助迭代器避免内存溢出不足的现象.借助链式处理使得数据读取利用更高效(可类比操作系统的资源调控) ...

  2. pytorch的torch.utils.data.DataLoader认识

    PyTorch中数据读取的一个重要接口是torch.utils.data.DataLoader,该接口定义在dataloader.py脚本中,只要是用PyTorch来训练模型基本都会用到该接口, 该接 ...

  3. PyTorch源码解读之torch.utils.data.DataLoader(转)

    原文链接 https://blog.csdn.net/u014380165/article/details/79058479 写得特别好!最近正好在学习pytorch,学习一下! PyTorch中数据 ...

  4. 【pytorch】torch.utils.data.DataLoader

    简介 DataLoader是PyTorch中的一种数据类型.用于训练/验证/测试时的数据按批读取. torch.utils.data.DataLoader(dataset, batch_size=1, ...

  5. pytorch梯度裁剪(Clipping Gradient):torch.nn.utils.clip_grad_norm

    torch.nn.utils.clip_grad_norm(parameters, max_norm, norm_type=2) 1.梯度裁剪原理(http://blog.csdn.net/qq_29 ...

  6. 基于pytorch的CNN、LSTM神经网络模型调参小结

    (Demo) 这是最近两个月来的一个小总结,实现的demo已经上传github,里面包含了CNN.LSTM.BiLSTM.GRU以及CNN与LSTM.BiLSTM的结合还有多层多通道CNN.LSTM. ...

  7. pytorch实现VAE

    一.VAE的具体结构 二.VAE的pytorch实现 1加载并规范化MNIST import相关类: from __future__ import print_function import argp ...

  8. PyTorch教程之Training a classifier

    我们已经了解了如何定义神经网络,计算损失并对网络的权重进行更新. 接下来的问题就是: 一.What about data? 通常处理图像.文本.音频或视频数据时,可以使用标准的python包将数据加载 ...

  9. PyTorch官方中文文档:PyTorch中文文档

    PyTorch中文文档 PyTorch是使用GPU和CPU优化的深度学习张量库. 说明 自动求导机制 CUDA语义 扩展PyTorch 多进程最佳实践 序列化语义 Package参考 torch to ...

  10. PyTorch官方中文文档:torch.nn

    torch.nn Parameters class torch.nn.Parameter() 艾伯特(http://www.aibbt.com/)国内第一家人工智能门户,微信公众号:aibbtcom ...

随机推荐

  1. AOT漫谈专题(第七篇): 聊一聊给C#打造的节点依赖图

    一:背景 1. 讲故事 上一篇我们聊过AOT编程中可能会遇到的三大件问题,而这三大件问题又是考验你对AOT中节点图的理解,它是一切的原点,接下来我就画几张图以个人的角度来解读下吧,不一定对. 二:理解 ...

  2. window平台快速部署syslog服务器

    最近内部测试需要部署一套syslog服务器,网上找了下,无论是linux还是windows,部署均非常麻烦,现在和大家分享一个基于windows平台快速部署syslog服务器的方法 这里用到的工具就是 ...

  3. 第八届御网杯线下赛Pwn方向题解

    由于最近比赛有点多,而且赶上招新,导致原本应该及时总结的比赛搁置了,总结来说还是得多练,因为时间很短像这种线下赛,一般只有几个小时,所以思路一定要清晰,我还是经验太少了,导致比赛力不从心,先鸽了~ S ...

  4. 5.9 Linux Vim批量注释和自定义注释

    使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符#再退回命令模式,非常麻烦. 连续行的注释其实可以用替换命令来完成.换句话说,在指定范 ...

  5. 国产化UOS适配

    配置本地iso镜像为apt源 把镜像放到目录下 /home/gaohongyu/debian/uniontechos-server-20-enterprise-1030-arm64.iso 创建目录 ...

  6. 『玩转Streamlit』--交互类组件

    交互类组件在Web应用程序中至关重要,它们允许用户与应用进行实时互动,能够显著提升用户体验. 用户不再只是被动地接收信息,而是可以主动地输入数据.做出选择或触发事件,从而更加深入地参与到应用中来. 此 ...

  7. 【Azure 环境】从网络包中分析出TLS加密套件信息

    问题描述 在抓取到网络包之后,如何来获取TLS信息呢?比如使用的是是么加密套件呢? 因为在应用层面,获取的错误信息非常简单: An TLS 1.2 connection request was rec ...

  8. Python prometheus_client使用方式

    #!/usr/bin/env python # -*- coding: utf8 -*- import socket,re from prometheus_client import generate ...

  9. golang之代码检查工具golangci-lint

    日常开发中,想要保证工程中代码能够正常运行, 一般都会使用vet进行代码静态扫描, 但是每次手动执行命令有点不太方便,如果在每次开发完成之后,git提交的时候都进行下检查就OK了,想好就干!!! 这里 ...

  10. python常用模块汇总

    os模块 os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目 ...