Valor Token 中文站

  • pytorch中dataloader的sampler参数详解

KUJI中文网

你的位置:Valor Token 中文站 > KUJI中文网 >

pytorch中dataloader的sampler参数详解

发布日期:2025-01-03 17:45    点击次数:54

1. dataloader() 初始化函数 其中几个常用的参数: dataset 数据集,map-style and iterable-style 可以用index取值的对象、batch_size 大小shuffle 取batch是否随机取, 默认为Falsesampler 定义取batch的方法,是一个迭代器, 每次生成一个key 用于读取dataset中的值batch_sampler 也是一个迭代器, 每次生次一个batch_size的keynum_workers 参与工作的线程数collate_fn 对取出的batch进行处理drop_last 对最后不足batchsize的数据的处理方法 下面看两段取自DataLoader中的__init__代码, 帮助我们理解几个常用参数之间的关系 2. shuffle 与sample 之间的关系 当我们sampler有输入时,shuffle的值就没有意义, 当dataset类型是map style时, shuffle其实就是改变sampler的取值 shuffle为默认值 False时,sampler是SequentialSampler,就是按顺序取样,shuffle为True时,sampler是RandomSampler, 就是按随机取样 3. sample 的定义方法 3.1 sampler 参数的使用 sampler 是用来定义取batch方法的一个函数或者类,返回的是一个迭代器。 我们可以看下自带的RandomSampler类中最重要的iter函数 可以看出,其实就是生成索引,然后随机的取值, 然后再迭代。 其实还有一些细节需要注意理解: 比如__len__函数,包括DataLoader的len和sample的len, 两者区别, 这部分代码比较简单,可以自行阅读,其实参考着RandomSampler写也不会出现问题。比如,迭代器和生成器的使用, 以及区别 BatchSampler的生成过程: 就是按batch_size从sampler中读取索引, 并形成生成器返回。 以上可以看出, batch_sampler和sampler, batch_size, drop_last之间的关系 如果batch_sampler没有定义的话且batch_size有定义, 会根据sampler, batch_size, drop_last生成一个batch_sampler自带的注释中对batch_sampler有一句话: Mutually exclusive with :attr:batch_size :attr:shuffle, :attr:sampler, and :attr:drop_last.意思就是batch_sampler 与这些参数冲突 ,即 如果你定义了batch_sampler, 其他参数都不需要有 4. batch 生成过程 每个batch都是由迭代器产生的: 到此这篇关于pytorch中dataloader 的sampler 参数详解的文章就介绍到这了,更多相关pytorch sampler 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 您可能感兴趣的文章:基于pytorch的保存和加载模型参数的方法PyTorch加载模型model.load_state_dict()问题及解决PyTorch使用cpu加载模型运算方式Pytorch使用技巧之Dataloader中的collate_fn参数详析pytorch DataLoader的num_workers参数与设置大小详解Pytorch技巧:DataLoader的collate_fn参数使用详解pytorch保存和加载模型的方法及如何load部分参数

相关资讯Related Articles

  • FEG 过渡到币安智能链 (BSC)

    2025-01-12

    $FEG 过渡到币安智能链 (BSC)---● 我们正在做什么以及为什么FEG 生态系统正在完全过渡到币安智能链 (BSC),以简化运营并加强我们的基础。管理多个链已被证明效率低下,此举简化了代币经济学,提高了流动性并改善了整体用户体验。此过渡将确保公平处理余额和索赔,使用预利用数据准确分配空投和退款。---● 升级和 V1 和 V2 迁移工具详细信息:一旦 FEG 再次上线,BSC 升级器将恢复...

  • 比特币价格历史趋势图

    2025-01-07

    ① 比特币中国的发展历史 比特币中国的发展历史如下: 2011-06-09 交易平台上线 2011-06-09 比特币中国价格达到150元 2012-05-27 注册用户突破8000 2012-05-09 日交易量突破2000 2012-05-27 日交易量跃居全球第2 2012-05-29 30天交易量世界排名第8 2012-08-28 推出双重认证功能 2013-02-15 比特币中国价格重回...

  • MOLI万站,正式上线

    2025-01-06

    MOLI万站,正式上线...

  • springboot增加注解缓存@Cacheable的实现

    2025-01-04

    springboot增加注解缓存@Cacheable业务层使用配置@Cacheable注解的属性使用cacheNames和value指定缓存组件的名字,通过下面代码可以看出可以将返回结果放在哪个缓存中,可以通过数组的方式指定多个缓存key缓存数据的时候使用的key,它是用来指定对应的缓存,模拟使用方法参数值作为key的值。也可以使用SpEL表达式的值来指定 名称 位置 描述 示例 methodNa...