[ 返回参数类型不一致 ]torch.utils.data._utils.collate.default_collate¶
torch.utils.data._utils.collate.default_collate¶
torch.utils.data._utils.collate.default_collate(batch)
paddle.io.dataloader.collate.default_collate_fn¶
paddle.io.dataloader.collate.default_collate_fn(batch)
返回参数类型不一致,需要转写。具体如下:
参数映射¶
PyTorch | PaddlePaddle | 备注 |
---|---|---|
batch | batch | 输入的用于组 batch 的数据。 |
返回值 | 返回值 | 返回参数类型不一致,当 batch 的元素为 numpy.ndarray 或 number 时, PyTorch 默认返回 torch.tensor, Paddle 默认返回 numpy.ndarray。 |
转写示例¶
当 batch 的元素为 numpy.ndarray 或 number 时¶
# PyTorch 写法
y = torch.utils.data._utils.collate.default_collate(batch)
# Paddle 写法
y = paddle.to_tensor(paddle.io.dataloader.collate.default_collate_fn(batch))
当 batch 的元素为字典且字典的 value 为 numpy.ndarray 或 number 时¶
# PyTorch 写法
y = torch.utils.data._utils.collate.default_collate(batch)
# Paddle 写法
y = paddle.io.dataloader.collate.default_collate_fn(batch)
for k, v in y.items():
y[k] = paddle.to_tensor(v)