使用pytorch DataLoader如何获取两个ndarray(数据和标签)?

时间:2019-09-16 02:12:27

标签: pytorch

我有一个形状为(100,400,3)的ndarray训练数据功能,因为它是100个20x20的图像,具有RGB通道和形状为(100,)的标签。我是否需要将它们组合到一个数据集中,或者如何将其传递给Pytorch dataLoader以便在以后遍历图像和标签?

到目前为止我已经尝试过的

#turn ndarray of features and labels into tensors
transform = transforms.Compose([transforms.ToPILImage(),
                                transforms.ToTensor()])

2 个答案:

答案 0 :(得分:2)

您可以将数据/标签ndarrays convert移至torch.tensor,并使用torch.utils.data.TensorDataset创建一个遍历示例的数据集。
有了数据集后,您可以将DataLoader包裹起来用于训练。

答案 1 :(得分:1)

正如@Shai所述,<html lang="en"> <body> <input id="time1" value="08:30" size="5"> Time 1 <br> <input id="time2" value="10:00" size="5"> Time 2 <br> <button id="addTimes">Add times</button> <br><br>Result <span id="timeSum">0</span> <br> </body> <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript"> const timeToNumber = (time) => { const parts = time.split(':'); const part1 = parseInt(parts[0]); let part2 = parseInt(parts[1]); part2 = part2 / 60; return part1 + part2; }; $("#addTimes").on('click', function () { const time1 = $('#time1').val(); const time2 = $('#time2').val(); const result = timeToNumber(time2) - timeToNumber(time1); $('#timeSum').text(result); }); </script> </html> 要求输入为DataLoader类或其子类。最简单的子类之一是Dataset,您可以从ndarray对其进行转换。

TensorDataset