【发布时间】:2021-07-31 12:55:41
【问题描述】:
我正在尝试仅加载数据集的一部分,并尝试随机抽样等步骤,以了解这如何影响我的模型性能。我在这里阅读 Flux.jl 文档:https://fluxml.ai/Flux.jl/stable/data/dataloader/ 并尝试查看是否可以定义自己的自定义采样器,但它没有显示任何内容。是否可以定义这种采样器?
【问题讨论】:
我正在尝试仅加载数据集的一部分,并尝试随机抽样等步骤,以了解这如何影响我的模型性能。我在这里阅读 Flux.jl 文档:https://fluxml.ai/Flux.jl/stable/data/dataloader/ 并尝试查看是否可以定义自己的自定义采样器,但它没有显示任何内容。是否可以定义这种采样器?
【问题讨论】:
Dataloader 只是 Base.iterate 方法已被重载的类型
@propagate_inbounds function Base.iterate(d::DataLoader, i=0)
...
所以你应该能够做同样的事情,我想从 dataloader 类型继承并为你自己的类型重载 Base.iterate 并使用你想要的任何功能剪了它。只要确保返回一个包含 (batch, next_index) 的元组。有关更多信息,请参阅Flux.Dataloader 的源代码。
【讨论】: