SpuCo
stable

User Guide

  • Overview
    • Data Preparation
    • Group Inference
    • Robust Training
    • Last Layer Retraining
    • Evaluation
    • Quickstart
  • SpuCo Datasets
    • SpuCoMNIST
    • SpuCoAnimals
    • SpuCoDogs
    • SpuCoBirds

API Reference

  • spuco.datasets
    • Datasets
      • SpuCo MNIST
        • ColourMap
        • SpuCoMNIST
      • Base Spuco Dataset
        • SpuriousFeatureDifficulty
        • SpuriousCorrelationStrength
        • SourceData
        • BaseSpuCoDataset
    • Wrappers
      • Group Labeled Dataset Wrapper
        • GroupLabeledDatasetWrapper
      • Spurious Target Dataset
        • SpuriousTargetDatasetWrapper
      • WILDSDatasetWrapper
        • WILDSDatasetWrapper
  • spuco.evaluate
    • Evaluator
      • Evaluator
        • Evaluator.__init__()
        • Evaluator.evaluate()
        • Evaluator.evaluate_spurious_attribute_prediction()
        • Evaluator.worst_group_accuracy
        • Evaluator.average_accuracy
  • spuco.group_inference
    • Cluster
      • ClusterAlg
        • ClusterAlg.KMEANS
        • ClusterAlg.KMEDOIDS
      • Cluster
        • Cluster.__init__()
        • Cluster.infer_groups()
        • Cluster.silhouette()
        • Cluster.kmeans()
        • Cluster.kmedoids()
    • Just Train Twice (JTT) Inference
      • JTTInference
        • JTTInference.__init__()
        • JTTInference.infer_groups()
    • Environment Inference for Invariance Learning (EIIL)
      • EIIL
        • EIIL.__init__()
        • EIIL.infer_groups()
    • Spread Spurious Attribute (SSA)
      • SSA
        • SSA.__init__()
        • SSA.infer_groups()
        • SSA.train_ssa()
        • SSA.label_split()
      • SSATrainer
        • SSATrainer.__init__()
        • SSATrainer.train()
        • SSATrainer.train_step()
        • SSATrainer.validate()
    • Correct-N-Contrast Inference (CNC)
      • CorrectNContrastInference
        • CorrectNContrastInference.__init__()
        • CorrectNContrastInference.infer_groups()
    • SPARE
      • SpareInference
        • SpareInference.__init__()
        • SpareInference.infer_groups()
    • Base Group Inference
      • BaseGroupInference
        • BaseGroupInference.__init__()
        • BaseGroupInference.infer_groups()
        • BaseGroupInference.process_cluster_partition()
        • BaseGroupInference.save_group_partition()
  • spuco.last_layer_retrain
    • Deep Feature Reweighting (DFR)
      • DFR
        • DFR.__init__()
        • DFR.train_single_model()
        • DFR.train_multiple_model()
        • DFR.hyperparam_selection()
        • DFR.train()
        • DFR.evaluate_worstgroup_acc()
        • DFR.encode_dataset()
    • DISPEL
      • DISPEL
        • DISPEL.__init__()
        • DISPEL.train_single_model()
        • DISPEL.train_multiple_model()
        • DISPEL.hyperparam_selection()
        • DISPEL.train()
  • spuco.models
    • ModelFactory
      • Identity
        • Identity.__init__()
        • Identity.forward()
      • SupportedModels
        • SupportedModels.MLP
        • SupportedModels.LeNet
        • SupportedModels.BERT
        • SupportedModels.DistilBERT
        • SupportedModels.ResNet18
        • SupportedModels.ResNet50
      • model_factory()
    • SpuCoModel
      • SpuCoModel
        • SpuCoModel.__init__()
        • SpuCoModel.forward()
  • spuco.robust_train
    • ERM
      • ERM
        • ERM.__init__()
    • Group DRO
      • GroupWeightedLoss
        • GroupWeightedLoss.__init__()
        • GroupWeightedLoss.forward()
        • GroupWeightedLoss.update_group_weights()
      • GroupDRO
        • GroupDRO.__init__()
        • GroupDRO.train_epoch()
    • Group Balance Batch ERM
      • GroupBalanceBatchERM
        • GroupBalanceBatchERM.__init__()
        • GroupBalanceBatchERM.train_epoch()
    • Class Balance Batch ERM
      • ClassBalanceBatchERM
        • ClassBalanceBatchERM.__init__()
        • ClassBalanceBatchERM.train_epoch()
    • DownSample ERM
      • DownSampleERM
        • DownSampleERM.__init__()
    • UpSample ERM
      • UpSampleERM
        • UpSampleERM.__init__()
    • Custom Sample ERM
      • CustomSampleERM
        • CustomSampleERM.__init__()
    • Correct-N-Contrast Train
      • CorrectNContrastTrain
        • CorrectNContrastTrain.__init__()
      • CNCTrainer
        • CNCTrainer.__init__()
        • CNCTrainer.train()
        • CNCTrainer.train_epoch()
        • CNCTrainer.compute_accuracy()
        • CNCTrainer.get_trainset_outputs()
    • SPARE Train
      • SpareTrain
        • SpareTrain.__init__()
        • SpareTrain.train_epoch()
    • Base Robust Train
      • BaseRobustTrain
        • BaseRobustTrain.__init__()
        • BaseRobustTrain.train()
        • BaseRobustTrain.train_epoch()
        • BaseRobustTrain.best_model
        • BaseRobustTrain.best_wg_acc
        • BaseRobustTrain.best_epoch
  • spuco.utils
    • Trainer
      • Trainer
        • Trainer.__init__()
        • Trainer.train()
        • Trainer.train_epoch()
        • Trainer.compute_accuracy()
        • Trainer.get_trainset_outputs()
    • Custom Indices Sampler
      • CustomIndicesSampler
        • CustomIndicesSampler.__init__()
    • Exemplar Clustering (K-Medoids)
      • cluster_by_exemplars()
      • closest_exemplar()
    • Miscellaneous Functions
      • convert_labels_to_partition()
      • convert_partition_to_labels()
      • label_examples()
      • pairwise_similarity()
      • get_group_ratios()
SpuCo
  • Search


© Copyright 2023, Siddharth Joshi, Yu Yang, Baharan Mirzasoleiman. Revision 9d80728c.

Built with Sphinx using a theme provided by Read the Docs.