image-processing - DataLoader - 洗牌隐式对

标签 image-processing machine-learning deep-learning computer-vision pytorch

有没有办法将DataLoader作为列表处理?我的想法是,我想对隐式图像对进行洗牌,而不将洗牌设置为 True

基本上,我有 10 个场景,每个场景包含 100 个序列,因此它们在目录中表示为

'1_1.png', '1_2.png', '1_3.png', '....., '2_1.png', '2_2.png', '2_3.png', ...., '3_1.png', '3_2.png', '3_3.png', ..., ...., '10_1.png', '10_2.png', '10_3.png', ...

我不想完全洗牌数据,我想要的只是洗牌但保持成对,因此它们在数据加载器中表示为

[ '1_3.png', '1_4.png', '2_2.png', '2_3.png', '10_1.png', '10_2.png', '1_2.png', ' 1_3.png',...] 等等

请看看这个question我已经在 Stack Overflow 上问过了关于隐式对的洗牌数组,您可以理解我的意思

举个例子: 如果这是一个列表

L = [['1_1'],['1_2'],['1_3'],['1_4'],['1_5'],['1_6'],['2_1'],['2_2'],['2_3'],['2_4'],['2_5'],['2_6'],['3_1'],['3_2'],['3_3'],['3_4'],['3_5'],['3_6']]

这就是输出

[['1_2'], ['1_3'], ['2_1'], ['2_2'], ['2_4'], ['2_5'],
 ['2_2'], ['2_3'], ['1_3'], ['1_4'], ['3_4'], ['3_5'],
 ['3_3'], ['3_4'], ['3_2'], ['3_3'], ['1_6'], ['2_1'],
 ['2_5'], ['2_6'], ['2_6'], ['3_1'], ['1_4'], ['1_5'],
 ['1_1'], ['1_2'], ['2_3'], ['2_4'], ['1_5'], ['1_6'],
 ['3_1'], ['3_2'], ['3_5'], ['3_6']]

我想为 DataLoader 实现相同的效果

主要思想是,我想在连续帧上训练我的网络,但它不一定是完整的序列,但至少我需要每个步骤,有两个序列

最佳答案

我认为您正在寻找 data.Sampler :您可以提供自己的“采样器”,从您的数据集中采样示例,而不是完全随机的默认随机播放 data.DataLoader
查看data.DataLoader的输入参数:

sampler (Sampler, optional) – defines the strategy to draw samples from the dataset. If specified, shuffle must be False.

我认为一个很好的起点是查看 data.SubsetRandomSampler 的代码.

关于image-processing - DataLoader - 洗牌隐式对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52183001/

相关文章:

c++ - 最快的去偏移算法?

python - 如何进行稳定的眼角检测?

mapreduce - 无法应用MapReduce模型的机器学习算法

r - 预测 SPC(统计过程控制)

machine-learning - 在小型图像数据集上训练 GAN

node.js - "image-min"在 Node js 中的 "multer"内不起作用

android - 使用来自移动平台的实时视频提要进行人工检测(android)

machine-learning - 从哪里可以找到针对非技术人员的所有人工智能算法的简要介绍

machine-learning - 如何将语音文件输入RNN/LSTM进行语音识别?

machine-learning - 如何绘制日志文件?