问题标签 [pytorch-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 投票
0 回答
37 浏览

python - Pytorch iter() 无休止地运行或抛出 RecursionError

我遇到了 Pytorch DataLoader 的问题。每当我尝试通过 iter() 函数加载下一批时,该函数都会无限期地运行。我也尝试在 Google Colab 中运行该函数,它返回一个 RecursionError。这是迭代函数:

这是来自 Google Colab 的错误消息。在 Jupyter Notebook 中,它只是无限期地运行而没有错误消息:

RecursionErrorTraceback(最近一次调用最后一次) in () ----> 1 data = next(iter(test_data_loader)) 2 data.keys()

5 帧...最后 1 帧重复,从下面的帧...

getitem (self, item) 24 #batch = convert_to_batch(dataframe) 25 ---> 26 title = self["clean_title"][item] 27 label = self["6_way_label"][item] 28

RecursionError:超出最大递归深度

有谁知道如何解决这个问题以及如何让 iter() 函数运行成功返回一个批次?

只是为了提供完整的信息,在下面你会找到我的自定义数据集类:

0 投票
0 回答
167 浏览

python - 用于多元时间序列的 Pytorch 自定义数据集类和数据加载器

我想在 Pytorch 中创建一个自定义数据集类和 Dataloader,它使用n行(观察)和m列(特征)预处理来自 pandas 数据帧的数据。

我特别想要的是一个加载张量的数据加载器,其中tensor.shape = torch.Size([1, num_features, num_sequence])where是一个与num_features特征数量相对应的数字(此外,如果我选择一个数字 x,数据加载器应该返回几个张量,例如:mnum_sequencewbatch_size

到目前为止,我只设法创建了一个类,它一次加载一个特性,batch_size 将第一个条目移动一个,这样:

通过使用以下代码:

有人知道如何解决这个问题吗?

0 投票
1 回答
1249 浏览

python - pytroch 数据加载器 RuntimeError: stack 期望每个张量大小相等,但在条目 0 处得到 [224, 224],在条目 1 处得到 [224, 224, 3]

我的问题是我在一个带有标题图像和标签的数据集中有两个张量在此处输入图像描述

当我执行简单循环时,不幸的是,当我如下制作数据加载器时,一切看起来都很好

并运行

我收到错误:

RuntimeError:堆栈期望每个张量大小相等,但在条目 0 处得到 [224, 224],在条目 4 处得到 [224, 224, 3]

什么可能导致它以及如何解决它?先感谢您

0 投票
0 回答
164 浏览

python - pytorch 使用 CudnnBatchNormBackward 分布式 loss.backward 错误,就地操作

我有一些简单的模型代码,从 resnet 学习的传输,当我在没有分布式的情况下运行它时,一切正常。然而,当我在分布式模式下尝试它时,我得到了这个奇怪的错误:

Error detected in CudnnBatchNormBackward.

接着:

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [2048]] is at version 4; expected version 3 instead. Hint: the backtrace further above shows the operation that failed to compute its gradient. The variable in question was changed in there or anywhere later. Good luck!

有问题的模型是一个普通的 resnet,它的加载方式如下:

训练循环如下所示:

loss.backward本质上是错误的。我怀疑这是因为我运行了两次模型,但我不确定。

任何指针都会很棒.. 好几天没能解决这个问题了!

PS:我已经尝试克隆输出并使用 SyncedBatchnorm .. 似乎都没有帮助!

0 投票
1 回答
340 浏览

python-3.x - 我可以使用 PyTorch Data Loader 加载保存在 CSV 文件中的原始数据图像吗?

我将原始数据图像保存在单独的 CSV 文件中(文件中的每个图像)。我想使用 PyTorch 对它们进行 CNN 训练。我应该如何加载适合用作 CNN 输入的数据?(另外,它是 1 通道,图像网络的输入默认为 RGB)

0 投票
2 回答
388 浏览

jupyter-notebook - Pytorch 问题:当 num_workers > 0 时我的 jupyter 卡住了

这是我在 PyTorch 中的代码片段,当我使用 num_workers > 0 时,我的 jupiter notebook 卡住了,我在这个问题上花了很多时间却没有任何答案。我没有 GPU,我只使用 CPU。

任何帮助,不胜感激。

0 投票
1 回答
58 浏览

deep-learning - 使用 torch.transforms 和 OpenCV 对输入图像进行预处理后分类模型输出的差异

我在 PyTorch 中微调了 resnet50 分类模型。训练期间,火炬。transforms 用于图像的预处理。当我在 OpenCV 中使用相同的预处理执行推理时,我没有得到相同的输出。请帮我解决这个问题。

Torch.transforms 预处理:

0 投票
1 回答
317 浏览

python - Keyerror:None,我不明白这个问题

当我运行我的代码时,发生了一个错误,如下所示: 在此处输入图像描述

我已经更改了我的torch版本,它引用了作者的markdown,但它不能解决这个问题

0 投票
1 回答
611 浏览

pytorch - PyTorch:我可以按长度对批次进行分组吗?

我正在做一个 ASR 项目,我使用 HuggingFace ( wav2vec2) 中的模型。我现在的目标是将培训过程转移到 PyTorch,因此我正在尝试重新创建 HuggingFaceTrainer()课程提供的所有内容。

这些实用程序之一是能够按长度对批次进行分组并将其与动态填充相结合(通过数据整理器)。然而,老实说,我什至不知道如何在 PyTorch 中开始。

在我的例子中,输入是一维数组,代表 .wav 文件的原始波形。因此,在训练之前,我需要确保将相似大小的数组分批在一起。我是否需要创建一个自定义 Dataloader 类并对其进行更改,以便每次它给我的批量大小尽可能接近?

我的一个想法是以某种方式将数据从最短到最长(或相反)排序,并且每次都从中提取 batch_size 样本。这样,第一批将由最大长度的样本组成,第二批将具有第二大长度,依此类推。

不过,我不确定如何处理这个实现。任何建议将不胜感激。

提前致谢。

0 投票
1 回答
1780 浏览

python - PyTorch nn.CrossEntropyLoss IndexError: Target 2 is out of bounds

我正在使用 bert 创建一个简单的 2 类情绪分类器,但我收到与输出和标签大小相关的错误。我无法弄清楚我做错了什么。以下是所需的代码片段。

我的自定义数据集类:

输出dataloader

我的nn

火车循环:

错误:

softmax我读了一个教程,它说,在应用 a 时不要使用nn.CrossEntropyLoss,因为我有 2 个类。有什么问题谁能指导我!谢谢!