【问题标题】:Make personnal Dataloader with PYTORCH使用 PYTORCH 制作个人数据加载器
【发布时间】:2019-01-13 02:53:40
【问题描述】:

我正在寻找创建具有特定格式的个人数据加载器以使用 Pytorch 库,有人知道我该怎么做吗?我已经关注 Pytorch 教程,但我没有找到答案!

我需要一个 DataLoader 来生成以下格式的元组: (Bx3xHxW FloatTensor x, BxHxW LongTensor y, BxN LongTensor y_cls) 其中 x - 一批输入图像, y - 一批 groung truth seg maps, y_cls - 维度为 N 的一批一维张量:N 类总数, 如果图像 i 中存在类 T,则 y_cls[i, T] = 1,否则为 0

希望有人能解开这个问题.. :) 谢谢!

【问题讨论】:

    标签: image-processing deep-learning computer-vision pytorch image-segmentation


    【解决方案1】:

    您只需要从torch.utils.data.Dataset 派生一个数据库,其中__getitem__(index) 返回您想要的类型的元组(x, y, y_cls),pytorch 会处理其他所有事情。

    from torch.utils import data
    
    class MyTupleDataset(data.Dataset):
      def __init__(self):
        super(MyTupleDataset, self).__init__()
        # init your dataset here...
    
      def __getitem__(index):
        x = torch.Tensor(3, H, W)  # batch dim is handled by the data loader
        y = torch.Tensor(H, W).to(torch.long)
        y_cls = torch.Tensor(N).to(torch.long)
        return x, y, y_cls
    

    就是这样。提供 pytorch 的 torch.utils.data.DataLoaderMyTupleDataset 就完成了。

    【讨论】:

    • 嗨,data7 = MyTupleDataset(path_to_my_dataset) 足以初始化我们同意的数据集?
    • @Pythmania 这完全取决于如何实现MyTupledataset。只要__getitem__ 返回一个元组,DataLoader 就会为您的训练生成三个元素的批次。
    • MyTupledataset 的实现类型是什么意思?你给我一个例子好吗? (我不是 Pytorch 方面的专家……!)我只想要 1 个信息类 :)
    • 我从未如此接近我的目标..!
    猜你喜欢
    • 1970-01-01
    • 2021-03-31
    • 2018-12-28
    • 2021-03-27
    • 2021-11-09
    • 2020-05-15
    • 2020-08-07
    • 2018-09-27
    • 2020-10-09
    相关资源
    最近更新 更多