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. 哈希表(C语言实现)

    在计算机世界中,哈希表如同一位聪慧的图书管理员.他知道如何计算索书号,从而可以快速找到目标图书. 文章目录 1.哈希表的概念 1.1哈希表的基本操作 1.2哈希表的常用操作 2.基于数实现哈希表 2. ...

  2. Linux 基础-文件及目录管理

    本文大部分内容参看 <Linux基础>一书,根据自己的工程经验和理解加以修改.拓展和优化形成了本篇博客,不适合 Linux 纯小白,适合有一定基础的开发者阅读. 一,概述 在 Linux ...

  3. 实现.NET 4.0下的Task类相似功能组件

    实现 .NET 4.0 下的 Task 类相似功能:TaskExCum 组件详解 引言 随着 .NET 技术的发展,异步编程模型逐渐成为现代应用程序开发中的标准实践之一..NET 4.5 引入了 Ta ...

  4. 深入解析C#异步编程:await 关键字背后的实现原理

    C# 异步编程中 await 实现原理详解 在C#中,async 和 await 关键字用于编写异步代码.本文将详细介绍 await 的实现原理,包括状态机的生成.回调函数的注册和触发等关键步骤. 1 ...

  5. 5.8 Vim多窗口编辑模式

    在编辑文件时,有时需要参考另一个文件,如果在两个文件之间进行切换则比较麻烦.可以使用 Vim 同时打开两个文件,每个文件分别占用一个窗口. 例如,在査看 /etc/passwd 时需要参考 /etc/ ...

  6. c++11多线程入门<学习记录>

    最近学习了c++多线程相关知识,也算是对这方面内容的入门 视频链接c++11并发与多线程视频课程 看了大概两周,简单进行总结 参考文章C++11并发与多线程 PS:c++11提供了标准的可跨平台的线程 ...

  7. NATAPP实现内网穿透简易教程

    NATAPP是什么 NATAPP是一个十分容易上手的内网穿透工具,可以把本机的ip和端口映射到公网,将本机暴露在公网中供他人访问. 这在进行一些回调接口的本地测试(如支付宝微信支付的回调接口)时十分好 ...

  8. Mysql数据库个人整理笔记

    数据类型 tinyint/smallint/int/bigint float double char/varchar date/time/datetime/timestamp DDL 数据库 crea ...

  9. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现二

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  10. 低功耗4G模组:Air780EP之fskv开发示例

    ​ 今天我们学习合宙低功耗4G模组Air780EP的fskv开发示例. 一.简介 兼容fdb的函数 使用fdb的flash空间,启用时也会替代fdb库 功能上与EEPROM是类似的 fskv与fdb的 ...