【问题标题】:How to implement a custom dataset to pytorch project如何将自定义数据集实现到 pytorch 项目
【发布时间】:2020-06-01 06:39:09
【问题描述】:

我想用给定的数据集(都包括某种对象,例如:一只狗)训练一个 NN,训练后 NN 应该帮助我将我的图像(从 instagram 下载)分类为“图像包括一条狗(概率:0.XX)”或“图像不包含狗(概率:0.XX)”。

显然,来自 instagram-images 的图像并不总是具有相同的大小(但由于过滤,它们都具有相同的格式 (.jpg)),并且来自我的数据集的图像的大小也不相同。

在测试时,我收到此错误:

    Traceback (most recent call last):
  File "/venv/nn.py", line 129, in <module>
    train(model=globalModel, hardware=hw, train_loader=loader, optimizer=optimizer, epoch=1)
  File "/venv/nn.py", line 74, in train
    for batch_idx, (data, target) in enumerate(train_loader):
  File "\venv\lib\site-packages\torch\utils\data\dataloader.py", line 345, in __next__
    data = self._next_data()
  File "\venv\lib\site-packages\torch\utils\data\dataloader.py", line 384, in _next_data
    index = self._next_index()  # may raise StopIteration
  File "\venv\lib\site-packages\torch\utils\data\dataloader.py", line 339, in _next_index
    return next(self._sampler_iter)  # may raise StopIteration
  File "\venv\lib\site-packages\torch\utils\data\sampler.py", line 200, in __iter__
    for idx in self.sampler:
  File "\venv\lib\site-packages\torch\utils\data\sampler.py", line 62, in __iter__
    return iter(range(len(self.data_source)))
TypeError: object of type 'type' has no len()

使用此代码:https://pastebin.com/DcvbeMcq

有人知道如何实现自定义数据集吗?

【问题讨论】:

    标签: python dataset pytorch


    【解决方案1】:

    看起来问题在于您传递的不是customDataset 的实例,而是类类型本身。 尝试将您的加载程序创建代码更改为

    loader = torch.utils.data.DataLoader(customDataset(), batch_size=4)
    

    【讨论】:

      【解决方案2】:

      我修复了之前的所有错误和错误。目前我正在尝试通过 PyTorch 手动标记我的输入数据:

      train_data = torchvision.datasets.ImageFolder(root=TRAIN_DATA_PATH, transform=TRANSFORM)
      

      文件夹 TRAIN_DATA_PATH 中有许多照片,例如狗。 如何手动将它们全部标记为“狗”? 我试图将火车数据实现为 traindataloader 来标记它们,但直到现在它才起作用。

      train_data_loader = torch.utils.data.DataLoader(train_data, batch_size=BATCH_SIZE, shuffle=True)
      

      由于我只想将我的评估数据预测为“狗 (1)”或“非狗 (0)”,因此我必须将所有狗图像标记为“1”或“狗”。 但是我该怎么做呢?

      感谢每一位读者!

      更新代码(测试级别):https://hastebin.com/axuvupihed.py

      【讨论】:

        猜你喜欢
        • 2019-01-03
        • 2017-06-14
        • 2020-09-28
        • 1970-01-01
        • 2021-07-21
        • 2023-04-02
        • 2019-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多