lightning-bolts icon indicating copy to clipboard operation
lightning-bolts copied to clipboard

Major revision of Bolts

Open otaj opened this issue 2 years ago • 59 comments

Let's revision Bolts and breathe some fresh air into them! As outlined in #819 and on a Slack channel, we will revisit every single feature within Bolts.

Please sign up for a feature which you'd like to tackle. Once you do so, I will attach your name in the list and you will be expected to open a PR within two weeks. It might be useful to tackle multiple things at once as the feature list is everything top-level from the repository.

Criteria

The criteria for acceptance are simple:

  1. Feature has to be properly tested. Unit tests are essential, integration tests are also good, but we understand there might be situations when they are impossible.
  2. Feature has to be compatible with the latest set of Lightning libraries (lightning, flash, torchmetrics). This fact is also tested. This also means outputting things in formats consumable by other projects, namely Flash.
  3. Feature cannot be duplicated across our codebase, codebase of other Lightning projects and other more mature OSS projects. For example, there are currently five functions/classes that implement conv3x3 in this repository.
  4. Feature does not raise any warnings in tests. For this, there is a pytest fixture in #844 (please, read https://github.com/Lightning-AI/lightning-bolts/issues/839#issuecomment-1196540011 for the better understanding)
  5. And of course, once you're done, remove the decorator @under_review from the selected feature :tada:

List of features to be reviewed

Features
  • [x] pl_bolts.callbacks.byol_updates.BYOLMAWeightUpdate @matsumotosan #867
  • [ ] pl_bolts.callbacks.data_monitor.DataMonitorBase @luca-medeiros #848
  • [ ] pl_bolts.callbacks.data_monitor.ModuleDataMonitor @luca-medeiros #848
  • [ ] pl_bolts.callbacks.data_monitor.shape2str @luca-medeiros #848
  • [ ] pl_bolts.callbacks.data_monitor.TrainingDataMonitor @luca-medeiros #848
  • [ ] pl_bolts.callbacks.knn_online.concat_all_gather
  • [ ] pl_bolts.callbacks.knn_online.KNNOnlineEvaluator
  • [ ] pl_bolts.callbacks.printing.dicts_to_table
  • [ ] pl_bolts.callbacks.printing.PrintTableMetricsCallback
  • [ ] pl_bolts.callbacks.sparseml.SparseMLCallback
  • [ ] pl_bolts.callbacks.ssl_online.set_training
  • [ ] pl_bolts.callbacks.ssl_online.SSLOnlineEvaluator
  • [ ] pl_bolts.callbacks.torch_ort.ORTCallback
  • [ ] pl_bolts.callbacks.variational.LatentDimInterpolator
  • [ ] pl_bolts.callbacks.verification.base.VerificationBase
  • [ ] pl_bolts.callbacks.verification.base.VerificationCallbackBase
  • [ ] pl_bolts.callbacks.verification.batch_gradient.BatchGradientVerification
  • [ ] pl_bolts.callbacks.verification.batch_gradient.BatchGradientVerificationCallback
  • [ ] pl_bolts.callbacks.verification.batch_gradient.collect_tensors
  • [ ] pl_bolts.callbacks.verification.batch_gradient.default_input_mapping
  • [ ] pl_bolts.callbacks.verification.batch_gradient.default_output_mapping
  • [ ] pl_bolts.callbacks.verification.batch_gradient.selective_eval
  • [ ] pl_bolts.callbacks.vision.confused_logit.ConfusedLogitCallback
  • [ ] pl_bolts.callbacks.vision.image_generation.TensorboardGenerativeModelImageSampler
  • [ ] pl_bolts.callbacks.vision.sr_image_logger.SRImageLoggerCallback
  • [ ] pl_bolts.datamodules.async_dataloader.AsynchronousLoader
  • [x] pl_bolts.datamodules.binary_emnist_datamodule.BinaryEMNISTDataModule @matsumotosan #866
  • [x] pl_bolts.datamodules.binary_mnist_datamodule.BinaryMNISTDataModule @matsumotosan #866
  • [x] pl_bolts.datamodules.cifar10_datamodule.CIFAR10DataModule @shivammehta007 #843
  • [x] pl_bolts.datamodules.cifar10_datamodule.TinyCIFAR10DataModule @shivammehta007 #843
  • [ ] pl_bolts.datamodules.cityscapes_datamodule.CityscapesDataModule @lijm1358
  • [x] pl_bolts.datamodules.emnist_datamodule.EMNISTDataModule @matsumotosan #871
  • [ ] pl_bolts.datamodules.experience_source.BaseExperienceSource
  • [ ] pl_bolts.datamodules.experience_source.DiscountedExperienceSource
  • [ ] pl_bolts.datamodules.experience_source.ExperienceSource
  • [ ] pl_bolts.datamodules.experience_source.ExperienceSourceDataset
  • [x] pl_bolts.datamodules.fashion_mnist_datamodule.FashionMNISTDataModule @matsumotosan #871
  • [ ] pl_bolts.datamodules.imagenet_datamodule.ImagenetDataModule
  • [ ] pl_bolts.datamodules.kitti_datamodule.KittiDataModule @wonbbnote
  • [x] pl_bolts.datamodules.mnist_datamodule.MNISTDataModule @shivammehta007 #843
  • [ ] pl_bolts.datamodules.sklearn_datamodule.SklearnDataModule @Ce11an ~#846~
  • [ ] pl_bolts.datamodules.sklearn_datamodule.SklearnDataset @Ce11an ~#846~
  • [x] pl_bolts.datamodules.sklearn_datamodule.TensorDataset @Ce11an ~#846~ #872
  • [ ] pl_bolts.datamodules.sr_datamodule.TVTDataModule
  • [ ] pl_bolts.datamodules.ssl_imagenet_datamodule.SSLImagenetDataModule
  • [ ] pl_bolts.datamodules.stl10_datamodule.STL10DataModule
  • [x] pl_bolts.datamodules.vision_datamodule.VisionDataModule @shivammehta007 #843
  • [ ] pl_bolts.datamodules.vocdetection_datamodule._prepare_voc_instance
  • [ ] pl_bolts.datamodules.vocdetection_datamodule.Compose
  • [ ] pl_bolts.datamodules.vocdetection_datamodule.VOCDetectionDataModule
  • [x] pl_bolts.datasets.base_dataset.LightDataset
  • [ ] pl_bolts.datasets.cifar10_dataset.CIFAR10 @BaruchG ~#858~
  • [ ] pl_bolts.datasets.cifar10_dataset.TrialCIFAR10 @BaruchG ~#858~
  • [ ] pl_bolts.datasets.concat_dataset.ConcatDataset
  • [x] pl_bolts.datasets.dummy_dataset.DummyDataset @nishantb06 #865
  • [x] pl_bolts.datasets.dummy_dataset.DummyDetectionDataset @nishantb06 #865
  • [x] pl_bolts.datasets.dummy_dataset.RandomDataset @nishantb06 #865
  • [x] pl_bolts.datasets.dummy_dataset.RandomDictDataset @nishantb06 #865
  • [x] pl_bolts.datasets.dummy_dataset.RandomDictStringDataset @nishantb06 #865
  • [x] pl_bolts.datasets.emnist_dataset.BinaryEMNIST @matsumotosan #866
  • [ ] pl_bolts.datasets.imagenet_dataset._calculate_md5
  • [ ] pl_bolts.datasets.imagenet_dataset._check_integrity
  • [ ] pl_bolts.datasets.imagenet_dataset._check_md5
  • [ ] pl_bolts.datasets.imagenet_dataset._is_gzip
  • [ ] pl_bolts.datasets.imagenet_dataset._is_tar
  • [ ] pl_bolts.datasets.imagenet_dataset._is_targz
  • [ ] pl_bolts.datasets.imagenet_dataset._is_tarxz
  • [ ] pl_bolts.datasets.imagenet_dataset._is_zip
  • [ ] pl_bolts.datasets.imagenet_dataset._verify_archive
  • [ ] pl_bolts.datasets.imagenet_dataset.extract_archive
  • [ ] pl_bolts.datasets.imagenet_dataset.parse_devkit_archive
  • [ ] pl_bolts.datasets.imagenet_dataset.UnlabeledImagenet
  • [x] pl_bolts.datasets.kitti_dataset.KittiDataset @lijm1358 #896
  • [x] pl_bolts.datasets.mnist_dataset.BinaryMNIST @matsumotosan #866
  • [ ] pl_bolts.datasets.sr_celeba_dataset.SRCelebA
  • [ ] pl_bolts.datasets.sr_dataset_mixin.SRDatasetMixin
  • [ ] pl_bolts.datasets.sr_mnist_dataset.SRMNIST
  • [ ] pl_bolts.datasets.sr_stl10_dataset.SRSTL10
  • [ ] pl_bolts.datasets.ssl_amdim_datasets.CIFAR10Mixed
  • [ ] pl_bolts.datasets.ssl_amdim_datasets.SSLDatasetMixin
  • [ ] pl_bolts.datasets.utils.prepare_sr_datasets
  • [ ] pl_bolts.losses.object_detection.giou_loss
  • [ ] pl_bolts.losses.object_detection.iou_loss
  • [ ] pl_bolts.losses.rl.double_dqn_loss
  • [ ] pl_bolts.losses.rl.dqn_loss
  • [ ] pl_bolts.losses.rl.per_dqn_loss
  • [ ] pl_bolts.losses.self_supervised_learning.AmdimNCELoss
  • [ ] pl_bolts.losses.self_supervised_learning.CPCTask
  • [ ] pl_bolts.losses.self_supervised_learning.FeatureMapContrastiveTask
  • [ ] pl_bolts.losses.self_supervised_learning.nt_xent_loss
  • [ ] pl_bolts.losses.self_supervised_learning.tanh_clip
  • [x] pl_bolts.metrics.aggregation.accuracy @BaruchG #878
  • [x] pl_bolts.metrics.aggregation.mean @BaruchG #878
  • [x] pl_bolts.metrics.aggregation.precision_at_k @BaruchG #878
  • [ ] pl_bolts.metrics.object_detection.giou @BaruchG
  • [ ] pl_bolts.metrics.object_detection.iou @BaruchG
  • [ ] pl_bolts.models.autoencoders.basic_ae.basic_ae_module.AE @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.basic_ae.basic_ae_module.cli_main @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.basic_vae.basic_vae_module.cli_main @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.basic_vae.basic_vae_module.VAE @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.conv1x1 @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.conv3x3 @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.DecoderBlock @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.DecoderBottleneck @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.EncoderBlock @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.EncoderBottleneck @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.Interpolate @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.resize_conv1x1 @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.resize_conv3x3 @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.resnet18_decoder @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.resnet18_encoder @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.resnet50_decoder @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.resnet50_encoder @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.ResNetDecoder @krishnakalyan3
  • [ ] pl_bolts.models.autoencoders.components.ResNetEncoder @krishnakalyan3
  • [ ] pl_bolts.models.detection.components.torchvision_backbones._create_backbone_adaptive
  • [ ] pl_bolts.models.detection.components.torchvision_backbones._create_backbone_features
  • [ ] pl_bolts.models.detection.components.torchvision_backbones._create_backbone_generic
  • [ ] pl_bolts.models.detection.components.torchvision_backbones.create_torchvision_backbone
  • [ ] pl_bolts.models.detection.faster_rcnn.backbones.create_fasterrcnn_backbone
  • [ ] pl_bolts.models.detection.faster_rcnn.faster_rcnn_module._evaluate_iou
  • [ ] pl_bolts.models.detection.faster_rcnn.faster_rcnn_module.FasterRCNN
  • [ ] pl_bolts.models.detection.faster_rcnn.faster_rcnn_module.run_cli
  • [ ] pl_bolts.models.detection.retinanet.backbones.create_retinanet_backbone
  • [ ] pl_bolts.models.detection.retinanet.retinanet_module.cli_main
  • [ ] pl_bolts.models.detection.retinanet.retinanet_module.RetinaNet
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_convolutional @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_layer @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_maxpool @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_route @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_shortcut @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_upsample @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config._create_yolo @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_config.YOLOConfiguration @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers._aligned_iou @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers._corner_coordinates @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.DetectionLayer @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.GIoULoss @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.IoULoss @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.Mish @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.RouteLayer @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.SELoss @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_layers.ShortcutLayer @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_module.Resize @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_module.run_cli @heimish-kyma #851
  • [ ] pl_bolts.models.detection.yolo.yolo_module.YOLO @heimish-kyma #851
  • [x] pl_bolts.models.gans.basic.basic_gan_module.cli_main @shivammehta007 #843
  • [x] pl_bolts.models.gans.basic.basic_gan_module.GAN @shivammehta007 #843
  • [x] pl_bolts.models.gans.basic.components.Discriminator @shivammehta007 #843
  • [x] pl_bolts.models.gans.basic.components.Generator @shivammehta007 #843
  • [x] pl_bolts.models.gans.dcgan.components.DCGANDiscriminator @Atharva-Phatak #921
  • [x] pl_bolts.models.gans.dcgan.components.DCGANGenerator @Atharva-Phatak #921
  • [x] pl_bolts.models.gans.dcgan.dcgan_module.cli_main @Atharva-Phatak #921
  • [x] pl_bolts.models.gans.dcgan.dcgan_module.DCGAN @Atharva-Phatak #921
  • [ ] pl_bolts.models.gans.pix2pix.components.DownSampleConv @BongYang #883
  • [ ] pl_bolts.models.gans.pix2pix.components.Generator @BongYang #883
  • [ ] pl_bolts.models.gans.pix2pix.components.PatchGAN @BongYang #883
  • [ ] pl_bolts.models.gans.pix2pix.components.UpSampleConv @BongYang #883
  • [ ] pl_bolts.models.gans.pix2pix.pix2pix_module._weights_init @BongYang #883
  • [ ] pl_bolts.models.gans.pix2pix.pix2pix_module.Pix2Pix @BongYang #883
  • [ ] pl_bolts.models.gans.srgan.components.ResidualBlock
  • [ ] pl_bolts.models.gans.srgan.components.SRGANDiscriminator
  • [ ] pl_bolts.models.gans.srgan.components.SRGANGenerator
  • [ ] pl_bolts.models.gans.srgan.components.VGG19FeatureExtractor
  • [ ] pl_bolts.models.gans.srgan.srgan_module.cli_main
  • [ ] pl_bolts.models.gans.srgan.srgan_module.SRGAN
  • [ ] pl_bolts.models.gans.srgan.srresnet_module.cli_main
  • [ ] pl_bolts.models.gans.srgan.srresnet_module.SRResNet
  • [x] pl_bolts.models.mnist_module.cli_main @matsumotosan #873
  • [x] pl_bolts.models.mnist_module.LitMNIST @matsumotosan #873
  • [ ] pl_bolts.models.regression.linear_regression.cli_main @Ce11an
  • [ ] pl_bolts.models.regression.linear_regression.LinearRegression @Ce11an
  • [ ] pl_bolts.models.regression.logistic_regression.cli_main @Ce11an
  • [ ] pl_bolts.models.regression.logistic_regression.LogisticRegression @Ce11an
  • [ ] pl_bolts.models.rl.advantage_actor_critic_model.AdvantageActorCritic
  • [ ] pl_bolts.models.rl.advantage_actor_critic_model.cli_main
  • [ ] pl_bolts.models.rl.common.agents.ActorCriticAgent @BaruchG
  • [ ] pl_bolts.models.rl.common.agents.Agent @BaruchG
  • [ ] pl_bolts.models.rl.common.agents.PolicyAgent @BaruchG
  • [ ] pl_bolts.models.rl.common.agents.SoftActorCriticAgent @BaruchG
  • [ ] pl_bolts.models.rl.common.agents.ValueAgent @BaruchG
  • [ ] pl_bolts.models.rl.common.cli.add_base_args @BaruchG
  • [ ] pl_bolts.models.rl.common.distributions.TanhMultivariateNormal @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.BufferWrapper @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.DataAugmentation @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.FireResetEnv @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.ImageToPyTorch @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.make_environment @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.MaxAndSkipEnv @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.ProcessFrame84 @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.ScaledFloatFrame @BaruchG
  • [ ] pl_bolts.models.rl.common.gym_wrappers.ToTensor @BaruchG
  • [ ] pl_bolts.models.rl.common.memory.Buffer @BaruchG
  • [ ] pl_bolts.models.rl.common.memory.MeanBuffer @BaruchG
  • [ ] pl_bolts.models.rl.common.memory.MultiStepBuffer @BaruchG
  • [ ] pl_bolts.models.rl.common.memory.PERBuffer @BaruchG
  • [ ] pl_bolts.models.rl.common.memory.ReplayBuffer @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.ActorCategorical @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.ActorContinous @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.ActorCriticMLP @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.CNN @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.ContinuousMLP @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.DuelingCNN @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.DuelingMLP @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.MLP @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.NoisyCNN @BaruchG
  • [ ] pl_bolts.models.rl.common.networks.NoisyLinear @BaruchG
  • [ ] pl_bolts.models.rl.double_dqn_model.cli_main
  • [ ] pl_bolts.models.rl.double_dqn_model.DoubleDQN @andrewaf1
  • [ ] pl_bolts.models.rl.dqn_model.cli_main
  • [ ] pl_bolts.models.rl.dqn_model.DQN
  • [ ] pl_bolts.models.rl.dueling_dqn_model.cli_main
  • [ ] pl_bolts.models.rl.dueling_dqn_model.DuelingDQN
  • [ ] pl_bolts.models.rl.noisy_dqn_model.cli_main
  • [ ] pl_bolts.models.rl.noisy_dqn_model.NoisyDQN
  • [ ] pl_bolts.models.rl.per_dqn_model.cli_main
  • [ ] pl_bolts.models.rl.per_dqn_model.PERDQN
  • [ ] pl_bolts.models.rl.ppo_model.cli_main
  • [ ] pl_bolts.models.rl.ppo_model.PPO
  • [ ] pl_bolts.models.rl.reinforce_model.cli_main
  • [ ] pl_bolts.models.rl.reinforce_model.Reinforce
  • [ ] pl_bolts.models.rl.sac_model.cli_main
  • [ ] pl_bolts.models.rl.sac_model.SAC
  • [ ] pl_bolts.models.rl.vanilla_policy_gradient_model.cli_main
  • [ ] pl_bolts.models.rl.vanilla_policy_gradient_model.VanillaPolicyGradient
  • [ ] pl_bolts.models.self_supervised.amdim.amdim_module.AMDIM
  • [ ] pl_bolts.models.self_supervised.amdim.amdim_module.cli_main
  • [ ] pl_bolts.models.self_supervised.amdim.amdim_module.generate_power_seq
  • [ ] pl_bolts.models.self_supervised.amdim.datasets.AMDIMPatchesPretraining
  • [ ] pl_bolts.models.self_supervised.amdim.datasets.AMDIMPretraining
  • [ ] pl_bolts.models.self_supervised.amdim.networks.AMDIMEncoder
  • [ ] pl_bolts.models.self_supervised.amdim.networks.Conv3x3
  • [ ] pl_bolts.models.self_supervised.amdim.networks.ConvResBlock
  • [ ] pl_bolts.models.self_supervised.amdim.networks.ConvResNxN
  • [ ] pl_bolts.models.self_supervised.amdim.networks.FakeRKHSConvNet
  • [ ] pl_bolts.models.self_supervised.amdim.networks.MaybeBatchNorm2d
  • [ ] pl_bolts.models.self_supervised.amdim.networks.NopNet
  • [ ] pl_bolts.models.self_supervised.amdim.transforms.AMDIMEvalTransformsCIFAR10
  • [ ] pl_bolts.models.self_supervised.amdim.transforms.AMDIMEvalTransformsImageNet128
  • [ ] pl_bolts.models.self_supervised.amdim.transforms.AMDIMEvalTransformsSTL10
  • [ ] pl_bolts.models.self_supervised.amdim.transforms.AMDIMTrainTransformsCIFAR10
  • [ ] pl_bolts.models.self_supervised.amdim.transforms.AMDIMTrainTransformsImageNet128
  • [ ] pl_bolts.models.self_supervised.amdim.transforms.AMDIMTrainTransformsSTL10
  • [x] pl_bolts.models.self_supervised.byol.byol_module.BYOL @matsumotosan #874
  • [x] pl_bolts.models.self_supervised.byol.byol_module.cli_main @matsumotosan #874
  • [x] pl_bolts.models.self_supervised.byol.models.MLP @matsumotosan #874
  • [x] pl_bolts.models.self_supervised.byol.models.SiameseArm @matsumotosan #874
  • [ ] pl_bolts.models.self_supervised.cpc.cpc_finetuner.cli_main @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.cpc_module.cli_main @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.cpc_module.CPC_v2 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.networks.conv1x1 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.networks.conv3x3 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.networks.cpc_resnet101 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.networks.cpc_resnet50 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.networks.CPCResNet @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.networks.LNBottleneck @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.transforms.CPCEvalTransformsCIFAR10 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.transforms.CPCEvalTransformsImageNet128 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.transforms.CPCEvalTransformsSTL10 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.transforms.CPCTrainTransformsCIFAR10 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.transforms.CPCTrainTransformsImageNet128 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.cpc.transforms.CPCTrainTransformsSTL10 @matsumotosan #902
  • [ ] pl_bolts.models.self_supervised.evaluator.Flatten
  • [ ] pl_bolts.models.self_supervised.evaluator.SSLEvaluator
  • [ ] pl_bolts.models.self_supervised.moco.callbacks.MocoLRScheduler
  • [ ] pl_bolts.models.self_supervised.moco.moco2_module.cli_main
  • [ ] pl_bolts.models.self_supervised.moco.moco2_module.concat_all_gather
  • [ ] pl_bolts.models.self_supervised.moco.moco2_module.Moco_v2
  • [ ] pl_bolts.models.self_supervised.moco.transforms.GaussianBlur
  • [ ] pl_bolts.models.self_supervised.moco.transforms.Moco2EvalCIFAR10Transforms
  • [ ] pl_bolts.models.self_supervised.moco.transforms.Moco2EvalImagenetTransforms
  • [ ] pl_bolts.models.self_supervised.moco.transforms.Moco2EvalSTL10Transforms
  • [ ] pl_bolts.models.self_supervised.moco.transforms.Moco2TrainCIFAR10Transforms
  • [ ] pl_bolts.models.self_supervised.moco.transforms.Moco2TrainImagenetTransforms
  • [ ] pl_bolts.models.self_supervised.moco.transforms.Moco2TrainSTL10Transforms
  • [ ] pl_bolts.models.self_supervised.resnets._resnet @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.BasicBlock @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.Bottleneck @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.conv1x1 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.conv3x3 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.ResNet @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnet101 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnet152 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnet18 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnet34 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnet50 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnext101_32x8d @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.resnext50_32x4d @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.wide_resnet101_2 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.resnets.wide_resnet50_2 @luca-medeiros
  • [ ] pl_bolts.models.self_supervised.simclr.simclr_finetuner.cli_main @ArnolFokam
  • [ ] pl_bolts.models.self_supervised.simclr.simclr_module.cli_main @ArnolFokam
  • [ ] pl_bolts.models.self_supervised.simclr.simclr_module.Projection @ArnolFokam
  • [ ] pl_bolts.models.self_supervised.simclr.simclr_module.SimCLR @ArnolFokam
  • [ ] pl_bolts.models.self_supervised.simclr.simclr_module.SyncFunction @ArnolFokam
  • [x] pl_bolts.models.self_supervised.simclr.transforms.GaussianBlur @ArnolFokam #857
  • [x] pl_bolts.models.self_supervised.simclr.transforms.SimCLREvalDataTransform @ArnolFokam #857
  • [x] pl_bolts.models.self_supervised.simclr.transforms.SimCLRFinetuneTransform @ArnolFokam #857
  • [x] pl_bolts.models.self_supervised.simclr.transforms.SimCLRTrainDataTransform @ArnolFokam #857
  • [x] pl_bolts.models.self_supervised.simsiam.models.MLP @matsumotosan #891
  • [x] pl_bolts.models.self_supervised.simsiam.models.SiameseArm @matsumotosan #891
  • [x] pl_bolts.models.self_supervised.simsiam.simsiam_module.cli_main @matsumotosan #891
  • [x] pl_bolts.models.self_supervised.simsiam.simsiam_module.SimSiam @matsumotosan #891
  • [x] pl_bolts.models.self_supervised.ssl_finetuner.SSLFineTuner @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_finetuner.cli_main @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_module.cli_main @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_module.SwAV @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.BasicBlock @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.Bottleneck @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.conv1x1 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.conv3x3 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.MultiPrototypes @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.ResNet @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.resnet18 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.resnet50 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.resnet50w2 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.resnet50w4 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.swav_resnet.resnet50w5 @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.transforms.GaussianBlur @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.transforms.SwAVEvalDataTransform @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.transforms.SwAVFinetuneTransform @Atharva-Phatak #903
  • [x] pl_bolts.models.self_supervised.swav.transforms.SwAVTrainDataTransform @Atharva-Phatak #903
  • [ ] pl_bolts.models.vision.image_gpt.gpt2.Block @nishantb06
  • [ ] pl_bolts.models.vision.image_gpt.gpt2.GPT2 @nishantb06
  • [ ] pl_bolts.models.vision.image_gpt.igpt_module._shape_input @nishantb06
  • [ ] pl_bolts.models.vision.image_gpt.igpt_module.cli_main @nishantb06
  • [ ] pl_bolts.models.vision.image_gpt.igpt_module.ImageGPT @nishantb06
  • [ ] pl_bolts.models.vision.pixel_cnn.PixelCNN
  • [x] pl_bolts.models.vision.segmentation.cli_main @lijm1358 #880
  • [x] pl_bolts.models.vision.segmentation.SemSegment @lijm1358 #880
  • [x] pl_bolts.models.vision.unet.DoubleConv @lijm1358 #880
  • [x] pl_bolts.models.vision.unet.Down @lijm1358 #880
  • [x] pl_bolts.models.vision.unet.UNet @lijm1358 #880
  • [x] pl_bolts.models.vision.unet.Up @lijm1358 #880
  • [ ] pl_bolts.optimizers.lars.LARS @otaj
  • [ ] pl_bolts.optimizers.lr_scheduler.linear_warmup_decay @otaj
  • [ ] pl_bolts.optimizers.lr_scheduler.LinearWarmupCosineAnnealingLR @otaj
  • [x] pl_bolts.transforms.dataset_normalizations.cifar10_normalization @matsumotosan #898
  • [x] pl_bolts.transforms.dataset_normalizations.emnist_normalization @matsumotosan #898
  • [x] pl_bolts.transforms.dataset_normalizations.imagenet_normalization @matsumotosan #898
  • [x] pl_bolts.transforms.dataset_normalizations.stl10_normalization @matsumotosan #898
  • [ ] pl_bolts.transforms.self_supervised.ssl_transforms.Patchify
  • [ ] pl_bolts.transforms.self_supervised.ssl_transforms.RandomTranslateWithReflect
  • [ ] pl_bolts.utils.arguments.gather_lit_args
  • [ ] pl_bolts.utils.arguments.LightningArgumentParser
  • [ ] pl_bolts.utils.arguments.LitArg
  • [ ] pl_bolts.utils.pretrained_weights.load_pretrained
  • [ ] pl_bolts.utils.self_supervised.torchvision_ssl_encoder
  • [ ] pl_bolts.utils.semi_supervised.balance_classes
  • [ ] pl_bolts.utils.semi_supervised.generate_half_labeled_batches
  • [ ] pl_bolts.utils.semi_supervised.Identity
  • [ ] pl_bolts.utils.shaping.tile
  • [ ] pl_bolts.utils.warnings.warn_missing_pkg

Thank you for your contributions! :muscle: :rocket: :tada:

otaj avatar Jul 21 '22 16:07 otaj

While adding new features is good. But what do you think of re using them from torchvision?

E.g for g / d / c IoU loss are already in torchvision

oke-aditya avatar Jul 22 '22 10:07 oke-aditya

If an appropriate feature is available in other projects and is in a stable state (i.e. the package isn't in beta or the feature itself is not beta/unstable/experimental), I'd go for using such feature from the other projects.

This might get tricky with new packages as we do not want to have an endless list of dependencies. But, in case of torchvision, we already require it for models, so that is absolutely ok.

otaj avatar Jul 22 '22 10:07 otaj

Then in torchvision.ops we already have all 3. Operations and losses.

This is from v0.13 latest one.

oke-aditya avatar Jul 22 '22 13:07 oke-aditya

Hey @otaj,

I am happy to work on the following to start as they are connected:

  • pl_bolts.datamodules.sklearn_datamodule.SklearnDataModule
  • pl_bolts.datamodules.sklearn_datamodule.SklearnDataset
  • pl_bolts.datamodules.sklearn_datamodule.TensorDataset
  • pl_bolts.models.regression.linear_regression.cli_main
  • pl_bolts.models.regression.linear_regression.LinearRegression
  • pl_bolts.models.regression.logistic_regression.cli_main
  • pl_bolts.models.regression.logistic_regression.LogisticRegression

If that is all good with you? Thanks! 😆

Ce11an avatar Jul 25 '22 14:07 Ce11an

Hey @otaj, I'm going to start off with the hopefully simple pl_bolts.datasets.cifar10_dataset.CIFAR10 and once I get the hang of the process I'll start doing it in batches.

BaruchG avatar Jul 25 '22 15:07 BaruchG

I would like to work on

pl_bolts.models.autoencoders

Follow-up questions on removing optimization policies.

krishnakalyan3 avatar Jul 25 '22 21:07 krishnakalyan3

Cool stuff! I would like to work on pl_bolts.callbacks.data_monitor.

luca-medeiros avatar Jul 26 '22 03:07 luca-medeiros

Hi @otaj,

Would like to work on features around SimCLR

  • pl_bolts.models.self_supervised.simclr.simclr_finetuner.cli_main
  • pl_bolts.models.self_supervised.simclr.simclr_module.cli_main
  • pl_bolts.models.self_supervised.simclr.simclr_module.Projection
  • pl_bolts.models.self_supervised.simclr.simclr_module.SimCLR
  • pl_bolts.models.self_supervised.simclr.simclr_module.SyncFunction
  • pl_bolts.models.self_supervised.simclr.transforms.GaussianBlur
  • pl_bolts.models.self_supervised.simclr.transforms.SimCLREvalDataTransform
  • pl_bolts.models.self_supervised.simclr.transforms.SimCLRFinetuneTransform
  • pl_bolts.models.self_supervised.simclr.transforms.SimCLRTrainDataTransform

ArnolFokam avatar Jul 26 '22 05:07 ArnolFokam

Oh my! I go to sleep, and suddenly, it blows up! Thank you, @Ce11an, @BaruchG, @krishnakalyan3, @luca-medeiros, @ArnolFokam! I added all of you to the list :zap: :nut_and_bolt:

As to whether we should remove LARS and LinearWarmupCosineAnnealingLR - yes, but with a deprecation warning. I will take them on myself.

otaj avatar Jul 26 '22 07:07 otaj

I'd love to contribute this awesome project. I would like to work on pl_bolts.models.detection.yolo

Cheers

redleaf-kim avatar Jul 26 '22 08:07 redleaf-kim

Hi, @heimish-kyma, awesome! :zap: I've added you to the list :muscle:

otaj avatar Jul 26 '22 08:07 otaj

Hello! Can I try helping with pl_bolts.models.gans.basic.* ?

shivammehta25 avatar Jul 26 '22 10:07 shivammehta25

Awesome, @shivammehta007, thank you! I added you to the list :zap:

otaj avatar Jul 26 '22 10:07 otaj

Hi everyone, but especially those who already signed up for work (@shivammehta007, @heimish-kyma, @ArnolFokam, @luca-medeiros, @krishnakalyan3, @BaruchG, @Ce11an). Please excuse me for "changing the rules" while you're already signed up for work, but this is very much a learning experience for me as well :teacher: Let's all consider #843 a "testing PR" where we can iterate on the process of how will it look like in the end. :nut_and_bolt:

In order to ensure stability and compatibility, we'd like to not raise any warnings in the tests (other than UnderReviewWarning, and ideally not even that one). For this reason, I just opened #844, which is a simple fixture raising errors on warnings.

Please note, that it can happen, that these warnings are raised in other features which you haven't signed up for and there are potentially numerous solutions to that:

  1. If that feature is not taken up by anyone and you're up for it, take it up! :muscle:
  2. If that feature is not taken up by anyone, but you don't want to take anymore features, ping me either in some (appropriate) issue on GH or on Slack (slack username on PL is @Ota) and we'll figure something out :zap:
  3. If that feature is taken up by someone already, ping them about it (and maybe include me in the loop as well). :rocket:

Thank you! :nut_and_bolt: :zap: :muscle:

otaj avatar Jul 27 '22 10:07 otaj

Can I also take pl_bolts.datamodules.mnist_datamodule. MNISTDataModule , pl_bolts.datamodules.vision_datamodule.VisionDataModule and pl_bolts.datamodules.cifar10_datamodule.*, ?

shivammehta25 avatar Jul 27 '22 11:07 shivammehta25

@shivammehta007, absolutely! Thank you, you were added to the list!

otaj avatar Jul 27 '22 12:07 otaj

Hi, I would like to work on pl_bolts.datamodules.kitti_datamodule.KittiDataModule!!

wonbbnote avatar Jul 30 '22 11:07 wonbbnote

Hi @wonbbnote, thank you very much, you were also added to the list!

otaj avatar Aug 02 '22 08:08 otaj

Hi @otaj , Would like to work on features related to dummy datasets -

  • pl_bolts.datasets.dummy_dataset.DummyDataset
  • pl_bolts.datasets.dummy_dataset.DummyDetectionDataset
  • pl_bolts.datasets.dummy_dataset.RandomDataset
  • pl_bolts.datasets.dummy_dataset.RandomDictDataset
  • pl_bolts.datasets.dummy_dataset.RandomDictStringDataset

I Plan to improve tests and documentations for these datasets.

nishantb06 avatar Aug 03 '22 07:08 nishantb06

Hi @nishantb06, thanks a lot, added you to the list!

otaj avatar Aug 03 '22 07:08 otaj

Hi @otaj, Would like to work on pl_bolts.models.self_supervised.resnets too!

luca-medeiros avatar Aug 04 '22 12:08 luca-medeiros

Hi @luca-medeiros, thank you very much! I'm back, and I hope I updated the master comment appropriately

otaj avatar Aug 12 '22 16:08 otaj

Hi @otaj

I'd like to help out with:

pl_bolts.datamodules.binary_mnist_datamodule.BinaryMNISTDataModule pl_bolts.datamodules.binary_emnist_datamodule.BinaryEMNISTDataModule

matsumotosan avatar Aug 12 '22 18:08 matsumotosan

Hi @otaj - I'll sign up for pl_bolts.metrics.* as well

BaruchG avatar Aug 12 '22 21:08 BaruchG

Hi, @matsumotosan, @BaruchG, thank you very much! You were added to the master comment! :tada:

otaj avatar Aug 15 '22 11:08 otaj

Hi @otaj, do you mind adding me to pl_bolts.datasets.emnist_dataset.py and pl_bolts.datasets.mnist_dataset.py as well since I will be working with their corresponding datamodules.

matsumotosan avatar Aug 15 '22 14:08 matsumotosan

@matsumotosan, absolutely, you're there!

otaj avatar Aug 15 '22 15:08 otaj

Hi @otaj would like to pick up issues related to image-gpt next

  • pl_bolts.models.vision.image_gpt.gpt2.Block
  • pl_bolts.models.vision.image_gpt.gpt2.GPT2
  • pl_bolts.models.vision.image_gpt.igpt_module._shape_input
  • pl_bolts.models.vision.image_gpt.igpt_module.cli_main
  • pl_bolts.models.vision.image_gpt.igpt_module.ImageGPT

Currently planning to improve documentation and testing for these wherever needed.

Thanks!!

nishantb06 avatar Aug 16 '22 11:08 nishantb06

Hi @otaj,

I'd like to work on a few others:

  • pl_bolts.callbacks.byol_updates.BYOLMAWeightUpdate
  • pl_bolts.datamodules.emnist_datamodule.EMNISTDataModule
  • pl_bolts.datamodules.emnist_datamodule.FashionMNISTDataModule
  • pl_bolts.models.mnist_module.cli_main
  • pl_bolts.models.mnist_module.LitMNIST

Thanks

matsumotosan avatar Aug 17 '22 21:08 matsumotosan

Hi, @nishantb06, @matsumotosan, thank you very much, you were added to the master comment! :rocket:

otaj avatar Aug 18 '22 12:08 otaj