问题标签 [dataloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
20530 浏览

python - 如何从 PyTorch 中的数据加载器获取整个数据集

如何从 DataLoader 加载整个数据集?我只得到一批数据集。

这是我的代码

0 投票
0 回答
152 浏览

load - Pytorch 数据加载器在批处理中随机播放示例

我有以下 Dataloader 用于 Pytorch 中的自动编码器

在运行损失函数计算时,我想将预测显示为数据集中第一个文件的图像,但即使我只有一批 2 张图像用于训练,这些图像也会被交换,所以我的代码:

不起作用。

我怎样才能解决这个问题?谢谢!

0 投票
1 回答
99 浏览

matplotlib - Matplotlib Pylot - 图像以低分辨率显示(像素到像素)

当我显示我使用的数据集中的一些示例照片时,图像的预览以低分辨率显示(它们看起来像非常低分辨率的照片)。如何在不丢失分辨率的情况下显示图像?

这是我transformations的用于将数据移动到张量并使用PyTorch函数应用一些转换的方法:

然后我通过以下方式加载数据DataLoader

DataLoader最后,我显示了一些使用对象检索的示例照片的预览:

ps 图片是tiff格式的。

0 投票
1 回答
3941 浏览

pytorch - 他们如何知道平均和标准,transforms.Normalize 的输入值

问题是关于PyTorch 网站上的数据加载教程。我不知道他们如何写转换的值mean_pix和值。std_pix标准化而不计算

我在 StackOverflow 上找不到与此问题相关的任何解释。

价值对我mean=[0.485,0.456, 0.406]来说std=[0.229, 0.224, 0.225]并不明显。他们如何得到它们?为什么它们等于这些?

0 投票
0 回答
341 浏览

python - 从 DataLoader 图像中基于 Pytorch 参数裁剪自定义子图像

train & validation 文件夹中有矩形图像,图像通过 Pytorch 通过 DataLoader 模块访问。不表演,

我需要保留它们的原始形状和大小,以便在训练/测试时可以通过一些自定义裁剪技术输入方形图像。这个 CustomCrop 函数可以将某些参数作为输入,对于不同的图像是不同的。

当我尝试这种仅用于测试的自定义裁剪方法时,我不得不从 data_transforms 中排除裁剪线以进行测试。

我的意图是做类似的事情......

...这样我就可以根据需要在运行时裁剪它。

但这给了我一条错误消息(对于文件夹中的图像大小(100,75)):

我知道,DataLoader 会堆叠图像,并且它们在运行时需要相同大小。但是,我该如何实现我的自定义裁剪功能,对于不同的图像可能会有所不同(基于自定义裁剪功能的输入参数)。任何建议将不胜感激。谢谢。

0 投票
1 回答
3752 浏览

image-processing - 使用 PyTorch 加载自定义图像数据集

我正在使用线圈 100 数据集,该数据集包含 100 个对象的图像,每个对象 72 个图像,通过将对象每个图像旋转 5 度从固定相机拍摄。以下是我正在使用的文件夹结构:

数据/火车/obj1/obj01_0.png,obj01_5.png ... obj01_355.png

.
数据/火车/obj85/obj85_0.png,obj85_5.png ... obj85_355.png

.
数据/测试/obj86/obj86_0.ong, obj86_5.png ... obj86_355.png

.
数据/测试/obj100/obj100_0.ong, obj100_5.png ... obj100_355.png

我使用了 imageloader 和 dataloader 类。训练和测试数据集正确加载,我可以打印类名。

在我的模型中,我希望通过预训练的 resnet 传递每张图像,并从 resnet 的输出中制作一个数据集以馈送到双向 LSTM。为此,我需要通过类名和索引访问图像。例如。pre_resnet_train_data['obj01'][0]应该是obj01_0.png并且post_resnet_train_data['obj01'][0]应该是等的resnet输出obj01_0.png
我是 Pytorch 的初学者,在过去的两天里,我阅读了许多关于创建自定义数据集类的教程和 stackoverflow 问题,但不知道如何实现我想要的。请帮忙!

0 投票
2 回答
1488 浏览

python - 改组时 DataLoader 崩溃

我正在使用 DataLoader 从基于 numpy memmap 的自定义 Dataset 对象中读取数据。只要我在不改组的情况下读取数据,一切正常,但是,正如我设置shuffle=True的那样,运行时崩溃。

我尝试通过使用置换向量并shuffle=False在 DataLoader 中设置来在 Dataset 类中实现改组机制,但问题仍然存在。我还注意到,在洗牌时,__getitem__()Dataset 对象的函数被调用了 n 次,其中 n 是 batch_size。

这是数据集代码:

错误堆栈如下:

0 投票
2 回答
2970 浏览

pytorch - 如何使用 PyTorch 的 DataLoader 确保批次包含来自所有工作人员的样本?

我想知道如何torch.utils.data.DataLoader在 PyTorch 中使用,尤其是在多工情况下。

我发现一批输出DataLoader总是来自一个工人。我希望 DataLoader 中有一个队列,它存储来自所有工作人员的数据,并且 DataLoader 将它们打乱在队列中以输出随机批处理数据。我认为这就是tf.data.DatasetTensorflow 的方式。我们可以在 PyTorch 中实现类似的功能吗?我想Tfrecord通过使用多工作人员从大型序列化文件(如 )中加载数据集。在这种情况下,在一批中混合源文件,也就是混合worker的源,很重要。

请参考以下代码:

输出:

在这里,[0, 1, 2, 3, 4]这意味着该批次包括来自 worker id 的第 0 到第 4 个索引数据。请注意,仅更改数据索引并不能解决此问题。[0, 0, 0, 0, 0][tensor([0, 1, 2, 3, 4]), tensor([0, 0, 0, 0, 0])]0shuffle=True

在这种情况下,我想得到一批像:[tensor([0, 5, 1, 6, 2]), tensor([0, 1, 0, 1, 0])]

0 投票
0 回答
327 浏览

graphql - 如何将参数传递给 Dataloader 批量查询函数?

我正在使用带有 Dataloader 的 graphql。我有下一个查询:

我有属性解析器:

我应该如何以正确的方式将 args 传递给 productsService.load() 方法?

0 投票
5 回答
4324 浏览

python-3.x - pytorch collat​​e_fn 拒绝样本并产生另一个

我已经建立了一个数据集,我正在对正在加载的图像进行各种检查。然后,我将此 DataSet 传递给 DataLoader。

在我的 DataSet 类中,如果图片未通过我的检查,我将样本返回为 None,并且我有一个自定义 collat​​e_fn 函数,该函数从检索到的批次中删除所有 None 并返回剩余的有效样本。

但是,此时返回的批次可以具有不同的大小。有没有办法告诉 collat​​e_fn 保持采购数据,直到批量大小达到一定长度?