问题标签 [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 投票
1 回答
1615 浏览

javascript - 使用复合键的 DataLoader

我了解 dataLoader 如何使用简单的键:

是否有使用复合键的好模式?

如果我需要使用 lat 和 long 调用 google maps api 怎么办?我的密钥需要是 lat 和 long 的唯一组合,并且在调用我的服务时我需要拆分 lat 和 long

认为我可以使用映射来查找基于键传递给我的服务的值,这样的用例是否有一个好的模式?

0 投票
1 回答
1216 浏览

numpy - 如何调整数据加载器并制作新的数据加载器?

假设我有一个 cifar10 的数据加载器,
如果我想从数据加载器中删除一些值并创建一个新的数据加载器,我
应该怎么做?

0 投票
1 回答
1560 浏览

dataset - 用于 Image GT 数据集的 Pytorch 数据加载器

我是pytorch的新手。我正在尝试为图像数据集创建一个 DataLoader,其中每个图像都有一个相应的基本事实(同名):

当我使用根文件夹的路径(包含 RGB 和 GT 文件夹)作为输入时,torchvision.datasets.ImageFolder它会读取所有图像,就好像它们都用于输入(归类为 RGB 和 GT)一样,似乎没有办法对 RGB-GT 图像进行配对。我想将 RGB-GT 图像配对、随机播放,然后将其分成定义大小的批次。如何做呢?任何建议将被认真考虑。谢谢。

0 投票
1 回答
914 浏览

python - TypeError:无法处理此数据类型

试图将显着性图放到图像上并制作一个新的数据集

这个 load_cifar10 是 torchvision

带有 (50000,32,32,3) 的 sal_maps_hf 形状和带有 (50000,32,32,3)的 trainloader
形状

但是当我运行这个

-------------------------------------------------- ------------------------- KeyError Traceback(最近一次调用最后)~/venv/lib/python3.7/site-packages/PIL/Image .py in fromarray(obj, mode) 2644 typekey = (1, 1) + shape[2:], arr["typestr"] -> 2645 mode, rawmode = _fromarray_typemap[typekey] 2646 除了 KeyError:

KeyError: ((1, 1, 3), '

在处理上述异常的过程中,又出现了一个异常:

----> 1 show_images(trainloader) 中的 TypeError Traceback (最近一次调用最后一次)

在 show_images(trainloader) 1 def show_images(trainloader): ----> 2 for idx,(img,target) in enumerate(trainloader): 3 img = img.squeeze() 4 #pritn(img) 5 img = torch .张量(img)

~/venv/lib/python3.7/site-packages/torch/utils/data/dataloader.py in next (self) 344 def next (self): 345 index = self._next_index() # may raise StopIteration --> 346 data = self._dataset_fetcher.fetch(index) # 可能会引发 StopIteration 347 if self._pin_memory: 348 data = _utils.pin_memory.pin_memory(data)

~/venv/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py​​ in fetch(self, possible_batched_index) 42 def fetch(self, possible_batched_index): 43 if self.auto_collat​​ion: --- > 44 data = [self.dataset[idx] for idx in possible_batched_index] 45 else: 46 data = self.dataset[possibly_batched_index]

~/venv/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py​​ in (.0) 42 def fetch(self, possible_batched_index): 43 if self.auto_collat​​ion: ---> 44 data = [self.dataset[idx] for idx in possible_batched_index] 45 else: 46 data = self.dataset[possibly_batched_index]

~/venv/lib/python3.7/site-packages/torchvision/datasets/cifar.py in getitem (self, index) 120 # 这样做是为了与所有其他数据集一致 121 # 返回 PIL 图像 -- > 122 img = Image.fromarray(img) 123 124 如果 self.transform 不是 None:

~/venv/lib/python3.7/site-packages/PIL/Image.py in fromarray(obj, mode) 2645 模式,rawmode = _fromarray_typemap[typekey] 2646 除了 KeyError: -> 2647 raise TypeError("Cannot handle this data类型") 2648 其他:2649 原始模式 = 模式

TypeError:无法处理此数据类型

getitem of Dataset CIFAR10 数据点数:50000 根位置:/mnt/3CE35B99003D727B/input/pytorch/data 拆分:训练 StandardTransform 变换:Compose( Resize(size=32, interpolation=PIL.Image.BILINEAR) ToTensor() )

0 投票
1 回答
558 浏览

deep-learning - 如何通过查询获取基于 Pytorch 数据加载器的数据集中特定项目的 ID?

我在 Pytorch 数据加载器中有一个大型数据集(大约 500GB 和 180k 数据点加上标签)。到目前为止,我使用 torch.utils.data.random_split 将数据集随机拆分为训练和验证。但是,这会导致严重的过拟合。现在,我想使用确定性拆分,即基于存储在数据加载器中的路径,我可以计算出非随机拆分。但是,我不知道该怎么做...问题是:如何根据一些查询来获取大约 10% 的数据点的 ID,该查询查看了有关存储在数据加载器中的文件的信息(例如路径)?

0 投票
1 回答
1721 浏览

parameter-passing - 将用户指定的参数传递给 DataLoader

我正在使用 U-Net 并实施 2015 年(U-Net:用于生物医学图像分割的卷积网络)和 2019 年(U-Net – 用于细胞计数、检测和形态测量的深度学习)的论文中描述的加权技术。在该技术中,存在方差 σ 和权重 w_0。我希望,尤其是 σ,成为一个可学习的参数,而不是猜测从数据集到数据集哪个值最好。

  1. 根据我的发现,我可以使用 nn.Parameter 来做到这一点。
  2. 要使用从 epoch 到 epoch 学习到的 σ,我需要以某种方式通过 DataLoader 将这个新值传递给 DataSet 的 get_item 函数。

我目前对此的看法是扩展 torch.utils.data.DataLoader,其中新的init有一个额外的参数,接受用户指定/可学习的参数。鉴于 torch.utils.data.DataLoader 的源代码,我不明白 DataLoader 在哪里以及如何调用 DataSet 实例并因此传递这些参数。

代码方面,在 DataSet 定义中有函数

我可以改变为

并利用更新的、新学习的 σ。

我的问题是,在训练期间,我将训练数据集迭代为

在 DataLoader 的枚举中,如何将新的 σ 传递给 DataLoader,以便 DataLoader 将其传递给上面提到的 DataSet getitem函数?

编辑

目前,我在 DataSet 类中定义了一个参数sigma

我通过 DataLoader 更新为

在哪里,

是一个自定义参数,定义为

创建模型后。

我的问题是,这model.sigma看起来并没有从一个时代更新到另一个时代。具体来说,与初始值相同。为什么是这样?

看看optimizer.state_dict()我找不到任何名为“sigma”的参数,而我可以在model.named_parameters().

最后,这个参数sigma没有附加到任何层,它有点“免费”。

0 投票
0 回答
866 浏览

node.js - 如何使用 GraphQL 和 DataLoader 实现一对多关系

我很难弄清楚为什么我的 graphQL 和 DataLoader 设置不起作用并且可以使用一些帮助。

我有一个用户和一个Orchestra类型,我想转换一个User来填充它的createdOrchestras字段,并对 Orchestra 和一个owner字段做同样的事情。

已编辑。以下代码导致无限循环:

以下是通过上下文传递给解析器的 DataLoader:

以下是应该能够通过数据加载器为嵌套字段获取数据并修改用户密码等敏感字段的转换函数。

我应该如何重构代码以防止无限循环,但将转换函数作为特定字段的最终数据提供者?

0 投票
0 回答
75 浏览

machine-learning - Pytorch DataLoader 流水线

我希望 DataLoader 将批处理同时加载到主进程,一旦从缓冲区中消耗了一个批处理就填满缓冲区。但是,当我跟踪 GPU 的利用率以及加载顺序与执行顺序时,我看到了一些不同的行为:

  1. 加载整个缓冲区(预期)
  2. 通过执行所有批次来消耗整个缓冲区,直到缓冲区为空(不是预期的)
  3. 在没有并行执行的情况下再次加载整个缓冲区(不是预期的)
  4. 转到 2。

这显然会导致在第 3 步时 GPU 利用率下降。

我设置:

num_workers >= 1

pin_memory = True/False(不影响所描述的行为)

有没有人有同样的经历?可能是什么问题?

0 投票
1 回答
61 浏览

javascript - Auth0:获取用户组的数据

我有一个带有 Auth0 和 graphQl 的应用程序。

我使用数据加载器对 DB 的请求进行批处理。https://github.com/graphql/dataloader

例如,从 DB 中获取数据如下所示:

现在我需要获取有关用户组的数据。当然,我可以写

这个解决方法很慢。我可以一次请求获取用户集合的数据吗?

0 投票
1 回答
71 浏览

mongodb - MongoDB 批量获取 DataLoader

我实际上解决了这个问题,但是,在这里发布一个问题,希望有人会发现这个解决方案很有用。我正在寻找一个纯粹的 MongoDB 查询/聚合,它可以作为 FB 的 DataLoader 的批处理获取器。后来我不想.map()在服务器上,所以查询结果必须是一个对象,键是 id,值是文档本身。