首页 > 解决方案 > 将数据拆分为批次

问题描述

我目前有以下数据:

f_map, inputs, s_bias = ml_dataset.dataset_for_s_bias()

其中 f_map 是矩阵的张量,inputs 是浮点数的张量,s_bias 是浮点数的张量。前两个 f_map 和 inputs 是我的 ML 回归算法的输入,s_bias 是预期的输出。之所以有两种input,是因为f_map是用CNN处理的,CNN把f_map中的每个矩阵都变成float,跟inputs tensor拼接起来,把得到的tensor输入到MLP中得到一个预测对于 s_bias。

我不知道如何将 f_map、inputs 和 s_bias 分成批次。我尝试使用数据加载器,但这会导致我的 CNN 出现问题,它需要一个张量(我的 CNN 中有一个 unsqueeze 操作,但 dataloader 与 unsqueeze 不兼容)。我需要 f_map、inputs 和 s_bias 以相同的方式拆分并保留顺序。做这个的最好方式是什么?

标签: splitpytorchdatasetbatch-processingdataloader

解决方案


我想到了。当我最初使用数据加载器时,我假设数据加载器本身是一批。但是,我需要遍历数据加载器以访问其中的批次。这些批次具有正确的类型(张量)。


推荐阅读