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 将修剪重新参数化应用于与调用的参数对应的张量name,module而不实际修剪任何单位。
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. 华为Ensp拓扑,使用MSTP、OSPF、DHCP、VRRP、链路聚合、CHAP

    OSPF+DHCP+VRRP+Eth-trunk+PPP(CHAP)+MSTP 实验目标: LSW1和LSW2核心交换机互为备份,配置链路聚合,设备冗余设计,LSW1和LSW2作为核心交换机配置DHC ...

  2. JavaScript对象获取属性的方法(.和[]方式)

    js对象获取属性有两种方法:1.通过.的方式  2. 通过[]方式 // 通过.方式获取属性值,key是静态的 var aa = {name: "zhang", age: 18}; ...

  3. 字符串、列表、元组、字典(python)

    文章目录 1.python字符串 1.1 python访问字符串中的值 1.2Python 字符串连接 1.3Python字符串运算符 2.python列表 2.1访问列表中的值 2.2更新列表 2. ...

  4. 【JVM第3课】运行时数据区

    运行时数据区结构图如下: 可分为 5 个区域,分别是方法区.堆区.虚拟机栈.本地方法栈.程序计数器.这里大概介绍一下各个模块的作用,会在后面的文章展开讲. 类加载子系统会把类信息加载到方法区,程序运行 ...

  5. github/gitee个人博客到底是什么一个运行原理?

    本文主要讲的是GitHub.Gitee这样的代码存储网站上提供的个人博客建站的原理分析,需要注意的是,本文并不介绍GitHub.Gitee上建立个人blog的操作步骤,本文只介绍原理,不介绍实操步骤. ...

  6. 劉玥 的国内网站 —— https://spicy-gum.com

    劉玥 的国内网站 -- https://spicy-gum.com

  7. 我的博客网站为什么又回归Blazor了

    引言 在博客网站的开发征程中,站长可谓是一路披荆斩棘.从最初的构思到实践,先后涉足了多种开发技术,包括 [MVC](ASP.NET Core MVC 概述 | Microsoft Learn).[Ra ...

  8. 国产数据库oceanBbase,达梦,金仓与mysql数据库的性能对比 四、python读mysql写入达梦数据库

    一.说明 安装达梦的驱动 pip install dmPython==2.5.5 参数接收那里,其他数据库都是用%,达梦要用? 二.源码 #coding=utf-8 import pymysql im ...

  9. ABP实践(5)-abp前端vue框架之IView实现三级菜单(博友需要特此分享)

    为响应博友想要知道三级菜单怎么实现本篇文章先介绍三级菜单的实现,后续再分享其他部分内容 1 修改菜单组件sidebarMenu.vue 图为原代码和修改后代码比对 修改前后的源码如下 <styl ...

  10. MySQL原理简介—1.SQL的执行流程

    大纲(2426字) 1.MySQL驱动的作用 2.Java系统中的数据库连接池的作用 3.MySQL中的数据库连接池的作用 4.网络连接必须让线程来处理 5.SQL接口会负责处理接收到的SQL语句 6 ...