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. WEB 新手篇

    xctf在线场景以使用了,一直想写web题来着 001 view_scoure X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了. 解: 查看网站源码,注释里有 flag 00 ...

  2. Edge缓存清理操作说明

    1. 打开Edge浏览器 2. 点击屏幕右上角三个点的按钮 3. 在出现的菜单里面选择"设置" 4. 在出现页面里面左侧选择"隐私.搜索和服务",然后右侧点击& ...

  3. 出现负载均衡问题IP端口不通的紧急处理

    出现负载均衡IP不能用的处理方案,重启这个服务. 命令: systemctl stop keepalived systemctl start keepalived

  4. AI年代,谁还用难用的Keil?快快换CLion!!! 破解+环境替换 [上]

    安装Clion 由于这个地方碰壁比较多,所以大家严格按照我下面的安装节奏就可以了! 记得CLion的版本等,和我所说的不匹配也会导致破解失败. 包能破解安装上的. 1.下载 链接:https://pa ...

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

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

  6. Java真的没出路了吗?

    Java从1991年由James Gosling和他的同事们开发, 至今已经三十多年, 我们知道,任何产品都有生命周期, 都要经历从诞生.发展.成熟.消亡四个阶段, 目前的Java已经处在成熟阶段, ...

  7. dotnet学习笔记-专题04-配置的读取和写入-01

    配置的读取和写入 读取配置的类,包括手动从json中读取配置.将json配置与配置类绑定.从控制台读取配置.从环境变量读取配置 using System.Diagnostics; using Micr ...

  8. (Redis基础教程之九) 如何在Redis中使用Sorted Sets

    介绍 Redis是一个开源的内存中键值数据存储.在Redis的,排序集合类似于一个数据类型集在这两者都是串的非重复的组.不同之处在于,已排序集中的每个成员都与一个分数相关联,从而可以从最小分数到最大分 ...

  9. Vim基本使用指南

    一般模式:移动光标的方法 h或 向左方向键(←)光标向左移动一个字符 j或 向下方向键(↓)光标向下移动一个字符 k或 向上方向键(↑)光标向上移动一个字符 l或 向右方向键(→)光标向右移动一个字符 ...

  10. PySAGES实记

    技术背景 PySAGES是一款可以使用GPU加速的增强采样插件,它可以直接对接到OpenMM上进行增强采样分子动力学模拟,这里我们测试一下相关的安装,并尝试跑一个简单的增强采样示例. 安装PySAGE ...