Pytorch 闪电数据模块覆盖警告:方法“.setup()”的签名与“LightningDataModule”类中的基本方法的签名不匹配

问题描述

以下是一个有效的 Pytorch Lightning DataModule。

import os
from pytorch_lightning import LightningDataModule
import torchvision.datasets as datasets
from torchvision.transforms import transforms
import torch
from torch.utils.data import DataLoader
from Testing.Research.config.paths import mnist_data_download_folder


class PressureDataModule(LightningDataModule):
    def __init__(self,config):        
        super().__init__()
        self._config = config

    def prepare_data(self):
        pass

    def setup(self,stage):
        # transform
        transform = transforms.Compose([transforms.ToTensor()])
        mnist_train_full = datasets.MNIST(mnist_data_download_folder,train=True,download=False,transform=self._transforms)
        mnist_test = datasets.MNIST(mnist_data_download_folder,train=False,transform=self._transforms)

        # train/val split
        train_size = int(self._config.train_size /
                         (self._config.train_size + self._config.val_size) * len(mnist_train_full))
        val_size = len(mnist_train_full) - train_size
        mnist_train,mnist_val = torch.utils.data.random_split(mnist_train_full,[train_size,val_size])

        # assign to use in DataLoaders
        self._train_dataset = mnist_train
        self._val_dataset = mnist_val
        self._test_dataset = mnist_test

    def train_DataLoader(self):
        return DataLoader(self._train_dataset,batch_size=self._config.batch_size,num_workers=self._config.num_workers)

    def val_DataLoader(self):
        return DataLoader(self._val_dataset,num_workers=self._config.num_workers)

    def test_DataLoader(self):
        return DataLoader(self._test_dataset,num_workers=self._config.num_workers)

Pycharm 不喜欢 setup

方法'PressureDataModule.setup()'的签名不匹配 'LightningDataModule' 类中基方法的签名

  1. 如果没有匹配项,为什么 Pycharm 会哭?
  2. 是不是因为参数不同?正确的参数数量是多少?

解决这个问题的正确方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...