我是靠谱客的博主 现代豌豆,最近开发中收集的这篇文章主要介绍Pytorch如何自定义dataloader的返回格式例子解决方法:参考:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

例子

例如:自定义的dataset返回的单个样本格式为:(string, tensor)
直接用dataloader(dataset)得到的loader是不能够自动把上述格式转换为batch的。

解决方法:

需要自定义一个collate_function用于返回batch。

def collate_function(data):
"""
:data: a list for a batch of samples. [[string, tensor], ..., [string, tensor]]
"""
transposed_data = list(zip(*data))
directorys, imgs = transposed_data[0], transposed_data[1]
imgs = torch.stack(imgs, 0)
return (directorys, imgs)
dataloader = torch.utils.data.DataLoader(Dataset(transforms=data_transforms, train=False),
batch_size=2, collate_fn=collate_function, shuffle=True, num_workers=1, pin_memory=True)

参考:

Dataloader的官网源码
PytorchDiscuss

最后

以上就是现代豌豆为你收集整理的Pytorch如何自定义dataloader的返回格式例子解决方法:参考:的全部内容,希望文章能够帮你解决Pytorch如何自定义dataloader的返回格式例子解决方法:参考:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部