torchnet 简单使用文档

news2024/11/16 21:41:17

torchnet 是用于 torch 的代码复用和模块化编程的框架
主要包含4个部分:

  • Dataset:各种不同方式处理数据。
  • Engine:各种机器学习算法
  • Meter:性能度量指标。
    L o g : Log: Log
    模块详细分为如下部分:
  • Datasets:
    • BatchDataset
    • ListDataset
    • ResampleDataset
    • ShuffleDataset
    • TensorDataset [new]
    • TransformDataset
  • Meters:
    • APMeter
    • mAPMeter
    • AverageValueMeter
    • AUCMeter
    • ClassErrorMeter
    • ConfusionMeter
    • MovingAverageValueMeter
    • MSEMeter
    • TimeMeter
  • Engines
    • Engine
  • Logger
    • Logger
    • VisdomLogger
    • MeterLogger [new, easy to plot multi-meter via Visdom]

主要用于可视化、数据存储和日志管理

在这里插入图片描述
原本是基于lua-torch的一个库,迁移到python中来,变成pytorch中的一部分。

Dataset部分

抽象类classtorchnet.dataset.dataset.Dataset
传进来的参数是一个可迭代对象即可

产生 B a t c h Batch Batch形式的数据:

  • torchnet.dataset.BatchDataset(dataset, batchsize, perm=<function BatchDataset.>, merge=None, policy=‘include-last’, filter=<function BatchDataset.>)

Parameters:

  • **dataset (Dataset): 数据集,这个数据集中的每个元素必须是一个dict,(应该用于multi-task,每个样本由多分类,这时候,存储为item = {‘data’:data , ‘class’:class}会比较方便。
  • batchsize (int) : batchsize
  • perm (function, optional):洗牌函数(数据随机打乱)
  • merge (function, optional) :控制产生 batch 的行为。 在transform.makebatch源码中使用这个函数. Default is None.它的作用是合并数据,直接从 Dataset 得到的一个 batch 是一个 dict 的列表,makebatch 默认行为是将 dict 中的 key 合并的数据合并,合并后使用 merge 进一步处理,默认行为(merge = None)就是将这个dict中的数据按照第一维度拼成一个Tensor(如果可以拼接的话)返回。应该是和torch.utils.data.dataloader中的collate_fn 如果需要pin_memory的话,需要把数据按锁页方式存储
  • policy (str, optional) :处理最后一个batch的策略
    include-last 包**含最后一个,无论剩几个****
      skip-last **最后一个小于 batchsize 的时候丢掉**

divisible-only 数据不能整除batchsize时报错

filter (function, optional) :在产生 batch 之前过滤。 filter(sample) 返回 True 则包含这个数据,False 表示过滤掉,默认 True

拼接 datasets:

torchnet**.dataset.ConcatDataset(datasets)**
Parameters::
datasets:(iterable)一个dataset列表。

产生List形式数据

torchnet.dataset.ListDataset(elem_list, load=<function ListDataset.<lambda>>, path=None)


参数解析

在这里插入图片描述

返回一个采样数据集

torchnet.dataset.ResampleDataset(**dataset, sampler=<function ResampleDataset.>, size=None)

在这里插入图片描述

也是采样,不过是均匀分布

torchnet.dataset.ShuffleDataset(dataset, size=None, replacement=False)

在这里插入图片描述

数据集分割

torchnet.dataset.SplitDataset(dataset, partitions, initial_partition=None)

在这里插入图片描述
方便把一个**已经存在的数据变成标准的结构(**在套上一层)

torchnet.dataset.TensorDataset(data)

在这里插入图片描述

得到一个变换数据集

torchnet.dataset.TransformDataset(dataset, transforms)

  • dataset: (Dataset)
  • transforms (function/dict): 一个函数(可以是compose的),或者dict(值是函数),用于样本的变换。

torchnet.transform部分

主要用的是torchnet.transform.compose函数,将transform拼接在一起
它接收一个transform列表,每个transform是一个函数,接收上一次的输出作为输入。和TransformDataset搭配使用

  • 例如 TransformDataset(ListDataset(class_names), compose([transforms1,transform2]))

TransformDataset

总结

慢慢的会用的时候,将各种的torchnet库都给其搞明白,全部都将其搞彻底都行啦的样子与打算。全部都将其搞彻底都行啦的回事与打算。自己研究透彻,研究彻底都行啦的样子与打算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FLStudio2023电脑版安装下载及fl21版本新功能介绍

FL Studio水果简称FL&#xff0c;全称&#xff1a;Fruity Loops Studio&#xff0c;国人习惯叫它"水果"。软件现有版本是 FL Studio 21&#xff0c;已全面升级支持简体中文语言界面 。FL Studio 能让你的计算机就像是全功能的录音室一样&#xff0c;完成编曲、剪辑、…

YourKit Profiler for .NET功能和内存一体探查器

YourKit Profiler for .NET功能和内存一体探查器 Windows和Linux的简单易用内存和性能.NET探查器。 功能和内存一体的.NET探查器 远程和本地评测各种.NET Center和.NET设计应用程序、服务器和Windows服务。 探索测试、开发和制造环境中的性能问题。 与Visual Studio和JetBrains…

一键式开启:IDaaS 日志接入 SLS日志审计发布

背景 什么是IDaaS 应用身份服务IDaaS(Identity as a Service)是阿里云原生身份管理系统&#xff0c;可以统一管理各应用中分散的账号&#xff0c;并集中分配应用访问控制权限&#xff0c;降低低效、重复的账号访问配置和运维工作。IDaaS 旗下的EIAM&#xff08;Enterprise IA…

java计算机毕业设计ssm乡村疫情防控管理系统37804(附源码、数据库)

java计算机毕业设计ssm乡村疫情防控管理系统37804&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#…

时间都去哪了?

在很长一段时间我并不知道怎么去平衡速率和质量之间的关系&#xff0c;我虽然看过不少书和文章告诉我只有保证质量才能保证速率&#xff0c;但我还没有见过反例&#xff0c;我没办法很好地说服别人&#xff0c;我只能看着他们义无反顾的冲向进度&#xff0c;然后抱怨时间不够。…

大数据hadoop_HDFS的shell操作(2)

文章目录1. 基本语法2. hadoop hdfs命令指南3. 常用命令操作指南3.1 准备工作3.2 上传3.3 下载3.4 基本操作1. 基本语法 hadoop fs 具体的命令 或者 hdfs dfs 具体的命令一般是使用hadoop fs 具体的命令&#xff0c;因为是简单好记&#xff0c;容易理解。 2. hadoop hdfs命令…

TypeScript 开发环境搭建

TypeScript是JavaScript类型的超集&#xff0c;它可以编译成纯JavaScript代码&#xff0c;TypeScript可以在任何浏览器&#xff0c;任何计算机和任何操作系统上运行。 目录 依赖环境 搭建步骤 1.新建一个文件夹 2.初始化一个NPM项目 3.安装typescript 包 4.新建一个tscon…

SQLite 基本命令使用方式

本文介绍创建一个简单的数据库&#xff0c;并能够在需要的时间和地点快速使用它们。SQLite 在世界范围内的许多设备中使用。 什么是SQLite&#xff1f; SQLite是一个进程内的库&#xff0c;实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的…

Spring Cloud Alibaba整合Sentinel进行服务熔断降级

一、下载Sentinel Dashboard控制台服务 Releases alibaba/Sentinel GitHub 一样的&#xff0c;根据自己的Spring Cloud Alibaba版本下载相应版本的Sentinel 启动服务&#xff0c;可以指定端口 java -Dserver.port8849 -Dcsp.sentinel.dashboard.serverlocalhost:8849 -Dp…

记录下QT读取串口数据时遇到的问题

一、如果使用QT读取串口数据 使用定时器定时发送信号&#xff0c;然后调用槽函数来读取串口数据&#xff0c;串口数据读取过程加锁。 timer1 startTimer(15); connect(this, SIGNAL(callCapData()), this, SLOT(CapData()));void ecgfrom::timerEvent(QTimerEvent *event) {…

Allegro如何批量把器件放在指定的格点上操作指导

Allegro如何批量把器件放在指定的格点上操作指导 Allegro支持批量把器件放在指定的格点上,具体操作如下 以下图为例,器件在小数点位以后的格点上,如果只是个别器件,只需要切换好格点,并且手动移动下就可以了,如果有大量的器件都是这样,这样会比较费时 选择File-change…

Java中注解的理解

一.什么是注解 1.Annotation是从JDK5开始引入的最新技术 2.Annotation的作用&#xff1a; 1&#xff09;不是程序本身&#xff0c;可以对程序做出解释&#xff0c;(这一点和注释(comment)没什么区别)。 2&#xff09;可以被其他程序&#xff08;比如编译器&#xff09;读取…

【论文随笔】Time-Incremental Learning from Data Using Temporal Logics

[1] E. Aasi, M. Cai, C. I. Vasile, and C. Belta, “Time-Incremental Learning from Data Using Temporal Logics.” arXiv, Dec. 28, 2021. doi: 10.48550/arXiv.2112.14300. 好久没看文献了&#xff0c;来更一篇 Outline time-variant weights of STL weights are learn…

【Windows基础】Windows用户和用户组的管理

一、用户账户 什么是用户账户&#xff1f; 不同的用户身份拥有不同的权限每个用户包含了一个名称和一个密码每一个用户登录系统后&#xff0c;拥有不同的操作权限。为不同的账户赋权限&#xff0c;也就是为不用账户的SID赋权限&#xff01;每个用户都有自己的配置文件(家目录…

opcj1——mac下如何快速搭建Java开发环境

这是我们OPCJ的第一篇&#xff0c;搭建基础的开发环境。我们的服务会不断增加新组件&#xff0c;我们这里先介绍如何快速搭建开发环境。一般来说Java程序员的电脑上总是会有一些已经配置好的idea、git、maven或者其他的&#xff0c;如果有的话&#xff0c;调整一下直接用就行了…

欧科云链对话ChatGPT:Web3会颠覆互联网?

最近&#xff0c;要说什么最火&#xff1f; 身为“当红炸子鸡”的ChatGPT 说第二就没人敢说第一 ChatGPT&#xff0c;是OpenAI基于Ai技术而实现的一个辅助引擎&#xff0c;通过大量的资料学习&#xff0c;打造出一个类似搜索引擎一样可以回答问题的工具。 它的爆火&#xff0c;…

uniapp使用unipush推送及java后台推送代码(含本地打包apk使用unipush推送)

你懂的&#xff0c;又是项目用到了&#xff0c;作为程序猿义无反顾需要定时 “进化” &#xff0c;硬头皮去写&#xff0c;虽然曾经作为android开发者写了很多的推送&#xff0c;但是uniapp的推送也是有所差异的&#xff0c;记录一下&#xff0c;以后留用。 首先uniapp的推送u…

深度学习-Tensorboard可视化面板

文章目录简介安装SummaryWriter新建添加数字运行添加图片添加直方图实战前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 Tensorboard是Tensorflow官方提供的实用可视化工具&#xf…

[附源码]JAVA毕业设计宿舍管理系统(系统+LW)

[附源码]JAVA毕业设计宿舍管理系统&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

「微服务系列」微服务框架的介绍

为什么要学习微服务框架知识&#xff1f; 从求知的角度、企业的角度&#xff0c;微服务都是必知必会的&#xff01; 需要学习哪些微服务知识&#xff1f; 传统单点架构&#xff0c;无法承载高并发场景&#xff1b;微服务领域按功能模块&#xff0c;将应用拆分成多个服务。大型…