-
-

Basic usage

-

DomainLab comes with some minimal toy-dataset to test its basis functionality, see A minimal subsample of the VLCS dataset and an example configuration file for vlcs_mini

-

Suppose you have cloned the repository and have the dependencies ready, change directory to this repository:

-

To train a domain invariant model on the vlcs_mini task

+
+

DomainLab Usage Guide

+

Given the repository and the dependencies are set up, here is how can use DomainLab:

+
+

Essential Commands

+

To run DomainLab, the minimum necessary parameters are:

+
    +
  1. Task Specification (--tpath or --task): This is to specify a task. You can eiter give a path to as Python file which specifies the task, or use a predfined set. You can find more about specifying tasks here.

  2. +
  3. Test Domain (--te_d): Specifies the domain(s) used for testing. Can be a single domain or multiple domains.

  4. +
  5. Model Choice (--model): Chooses the algorithm or model for the training (e.g., erm, diva). This also includes hyperparameters for the model, e.g., --gamma_d and --gamma_y for diva.

  6. +
  7. Neural Network (--nname or --npath): Specifies which neural network is used for feature extraction, either through a path or predefined options.

  8. +
+
+

Example Command

+

python3 main_out.py --te_d 0 1 2  --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2  --gamma_y=7e5 --gamma_d=1e5

+
+
+
+

Optional Commands

+
+

Advanced Configuration

+
    +
  • Learning Rate (--lr): Set the training learning rate.

  • +
  • Regularization (--gamma_reg): Weight of regularization loss.

  • +
  • Early Stopping (--es): Steps for early stopping.

  • +
  • Random Seed (--seed): Seed for reproducibility.

  • +
  • CUDA Options (--nocu, --device): Configure CUDA usage and device settings.

  • +
  • Generated Images (--gen): Option to save generated images.

  • +
  • Model Preservation (--keep_model): Choose not to delete the model at the end of training.

  • +
  • Epochs (--epos, --epos_min): Configure maximum and minimum numbers of epochs.

  • +
  • Test Interval (--epo_te): Set intervals for testing performance.

  • +
  • Hyperparameter Warm-Up (-w or --warmup): Epochs for hyperparameter warm-up.

  • +
  • Debugging (--debug): Enable debug mode for verbose output.

  • +
  • Memory Debugging (--dmem): Memory usage debugging.

  • +
  • Output Suppression (--no_dump): Suppress saving the confusion matrix.

  • +
  • Trainer Selection (--trainer): Specify which trainer to use.

  • +
  • Output Directory (--out): Directory to store outputs.

  • +
  • Data Path (--dpath): Path for storing the downloaded dataset.

  • +
  • Additional Neural Network Options:

    +
      +
    • Custom Argument Values (--npath_argna2val, --nname_argna2val)

    • +
    • Domain Feature Extraction Network (--npath_dom, --nname_dom)

    • +
    • Custom Algorithm Path (--apath)

    • +
    +
  • +
  • Experiment and Aggregation Tags (--exptag, --aggtag): Tags for experiment tracking and result aggregation.

  • +
  • Benchmarking and Plotting:

    +
      +
    • Partial Benchmark Aggregation (--agg_partial_bm)

    • +
    • Plot Generation (--gen_plots, --outp_dir, --param_idx)

    • +
    +
  • +
+
+
+

Task-Specific Arguments

+
    +
  • Batch Size (--bs): Loader batch size for mixed domains.

  • +
  • Training-Validation Split (--split): Proportion of training, a value between 0 and 1.

  • +
  • Training Domain (--tr_d): Specify training domain names.

  • +
  • Sanity Check (--san_check): Save images from the dataset as a sanity check.

  • +
  • Sanity Check Image Count (--san_num): Number of images for the sanity check.

  • +
  • Logging Level (--loglevel): Set the log level of the logger.

  • +
  • Shuffling (--shuffling_off): Disable shuffling of the training dataloader for the dataset.

  • +
+
+
+

Model-Specific Hyperparameters

+
+

VAE Model Parameters

+
    +
  • Latent Space Dimensions (--zd_dim, --zx_dim, --zy_dim): Set the size of latent spaces for domain, unobserved, and class features.

  • +
  • Topic Dimension (--topic_dim): Number of topics for HDUVA.

  • +
  • Networks for HDUVA Model:

    +
      +
    • Image to Topic Distribution (--nname_encoder_x2topic_h, --npath_encoder_x2topic_h)

    • +
    • Image and Topic to ZD (--nname_encoder_sandwich_x2h4zd, --npath_encoder_sandwich_x2h4zd)

    • +
    +
  • +
  • Hyperparameters for DIVA and HDUVA (--gamma_y, --gamma_d, --beta_t, --beta_d, --beta_x, --beta_y): Multipliers for various classifiers and loss components.

  • +
+
+
+

MatchDG Parameters

+
    +
  • Cosine Similarity Factor (--tau): Magnify cosine similarity.

  • +
  • Match Tensor Update Frequency (--epos_per_match_update): Epochs before updating the match tensor.

  • +
  • Epochs for CTR (--epochs_ctr): Total epochs for CTR.

  • +
+
+
+

Jigen Parameters

+
    +
  • Permutation Settings (--nperm, --pperm, --jigen_ppath): Configure image tile permutations.

  • +
  • Grid Length (--grid_len): Length of image in tile units.

  • +
+
+
+

DIAL Parameters

+
    +
  • Adversarial Image Generation (--dial_steps_perturb, --dial_noise_scale, --dial_lr, --dial_epsilon): Configure parameters for generating adversarial images.

  • +
+

For a comprehensive understanding of all available commands, use:

+
python main_out.py --help
+
+
+
+
+
+
+

Example

+

DomainLab comes with some minimal toy-dataset to test its basis functionality, see a minimal subsample of the VLCS dataset and an example configuration file for vlcs_mini.

+

To train a domain invariant model on the vlcs_mini task:

python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --config=examples/yaml/demo_config_single_run_diva.yaml
 

where --tpath specifies the path of a user specified python file which defines the domain generalization task see here, --te_d specifies the test domain name (or index starting from 0), --config specifies the configurations of the domain generalization algorithms, see here

-
-

Further usage

-

Alternatively, in a verbose mode without using the algorithm configuration file:

+

In more detail, in a verbose mode without using the algorithm configuration file:

python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --model=diva --gamma_y=7e5 --gamma_d=1e5 --nname=alexnet --nname_dom=conv_bn_pool_2
 

where --model specifies which algorithm to use, --bs specifies the batch size, --debug restrain only running for 2 epochs and save results with prefix ‘debug’. For DIVA, the hyper-parameters include --gamma_y=7e5 which is the relative weight of ERM loss compared to ELBO loss, and --gamma_d=1e5, which is the relative weight of domain classification loss compared to ELBO loss. ---nname is to specify which neural network to use for feature extraction for classification, --nname_dom is to specify which neural network to use for feature extraction of domains. -For usage of other arguments, check with

-
python main_out.py --help
-
-
-

See also Examples.

-
-
-
-

Custom Neural network

-

where the user could plugin different neural network architectures for the same algorithm. See -Specify Custom Neural Networks for an algorithm

+--nname is to specify which neural network to use for feature extraction for classification, --nname_dom is to specify which neural network to use for feature extraction of domains.

+

See more examples.

-
-

Output structure (results storage) and Performance Measure

-

Output structure and Performance Measure

+
+

Further Resources

+
-
-

Software Design Pattern, Extend or Contribution

-

Extend or Contibute

diff --git a/docs/build/html/doc_usage_cmd.md b/docs/build/html/doc_usage_cmd.md index b6320328b..7230fec25 100644 --- a/docs/build/html/doc_usage_cmd.md +++ b/docs/build/html/doc_usage_cmd.md @@ -1,17 +1,103 @@ -### Basic usage -DomainLab comes with some minimal toy-dataset to test its basis functionality, see [A minimal subsample of the VLCS dataset](../data/vlcs_mini) and [an example configuration file for vlcs_mini](../examples/tasks/task_vlcs.py) +# DomainLab Usage Guide -Suppose you have cloned the repository and have the dependencies ready, change directory to this repository: +Given the repository and the dependencies are set up, here is how can use DomainLab: -To train a domain invariant model on the vlcs_mini task + +## Essential Commands + +To run DomainLab, the minimum necessary parameters are: + +1. **Task Specification (```--tpath``` or ```--task```):** This is to specify a task. You can eiter give a path to as Python file which specifies the task, or use a predfined set. You can find more about specifying tasks [here](./doc_tasks.md). +2. **Test Domain (```--te_d```):** Specifies the domain(s) used for testing. Can be a single domain or multiple domains. +3. **Model Choice (```--model```):** Chooses the algorithm or model for the training (e.g., erm, diva). This also includes hyperparameters for the model, e.g., ```--gamma_d``` and ```--gamma_y``` for diva. +4. **Neural Network (```--nname``` or ```--npath```):** Specifies which neural network is used for feature extraction, either through a path or predefined options. + +### Example Command +```python3 main_out.py --te_d 0 1 2 --task=mnistcolor10 --model=diva --nname=conv_bn_pool_2 --gamma_y=7e5 --gamma_d=1e5``` + + +## Optional Commands + +### Advanced Configuration + +- **Learning Rate (`--lr`):** Set the training learning rate. +- **Regularization (`--gamma_reg`):** Weight of regularization loss. +- **Early Stopping (`--es`):** Steps for early stopping. +- **Random Seed (`--seed`):** Seed for reproducibility. +- **CUDA Options (`--nocu`, `--device`):** Configure CUDA usage and device settings. +- **Generated Images (`--gen`):** Option to save generated images. +- **Model Preservation (`--keep_model`):** Choose not to delete the model at the end of training. +- **Epochs (`--epos`, `--epos_min`):** Configure maximum and minimum numbers of epochs. +- **Test Interval (`--epo_te`):** Set intervals for testing performance. +- **Hyperparameter Warm-Up (`-w` or `--warmup`):** Epochs for hyperparameter warm-up. +- **Debugging (`--debug`):** Enable debug mode for verbose output. +- **Memory Debugging (`--dmem`):** Memory usage debugging. +- **Output Suppression (`--no_dump`):** Suppress saving the confusion matrix. +- **Trainer Selection (`--trainer`):** Specify which trainer to use. +- **Output Directory (`--out`):** Directory to store outputs. +- **Data Path (`--dpath`):** Path for storing the downloaded dataset. +- **Additional Neural Network Options:** + - Custom Argument Values (`--npath_argna2val`, `--nname_argna2val`) + - Domain Feature Extraction Network (`--npath_dom`, `--nname_dom`) + - Custom Algorithm Path (`--apath`) +- **Experiment and Aggregation Tags (`--exptag`, `--aggtag`):** Tags for experiment tracking and result aggregation. +- **Benchmarking and Plotting:** + - Partial Benchmark Aggregation (`--agg_partial_bm`) + - Plot Generation (`--gen_plots`, `--outp_dir`, `--param_idx`) + +### Task-Specific Arguments + +- **Batch Size (`--bs`):** Loader batch size for mixed domains. +- **Training-Validation Split (`--split`):** Proportion of training, a value between 0 and 1. +- **Training Domain (`--tr_d`):** Specify training domain names. +- **Sanity Check (`--san_check`):** Save images from the dataset as a sanity check. +- **Sanity Check Image Count (`--san_num`):** Number of images for the sanity check. +- **Logging Level (`--loglevel`):** Set the log level of the logger. +- **Shuffling (`--shuffling_off`):** Disable shuffling of the training dataloader for the dataset. + +### Model-Specific Hyperparameters + +#### VAE Model Parameters + +- **Latent Space Dimensions (`--zd_dim`, `--zx_dim`, `--zy_dim`):** Set the size of latent spaces for domain, unobserved, and class features. +- **Topic Dimension (`--topic_dim`):** Number of topics for HDUVA. +- **Networks for HDUVA Model:** + - Image to Topic Distribution (`--nname_encoder_x2topic_h`, `--npath_encoder_x2topic_h`) + - Image and Topic to ZD (`--nname_encoder_sandwich_x2h4zd`, `--npath_encoder_sandwich_x2h4zd`) +- **Hyperparameters for DIVA and HDUVA (`--gamma_y`, `--gamma_d`, `--beta_t`, `--beta_d`, `--beta_x`, `--beta_y`):** Multipliers for various classifiers and loss components. + +#### MatchDG Parameters + +- **Cosine Similarity Factor (`--tau`):** Magnify cosine similarity. +- **Match Tensor Update Frequency (`--epos_per_match_update`):** Epochs before updating the match tensor. +- **Epochs for CTR (`--epochs_ctr`):** Total epochs for CTR. + +#### Jigen Parameters + +- **Permutation Settings (`--nperm`, `--pperm`, `--jigen_ppath`):** Configure image tile permutations. +- **Grid Length (`--grid_len`):** Length of image in tile units. + +#### DIAL Parameters + +- **Adversarial Image Generation (`--dial_steps_perturb`, `--dial_noise_scale`, `--dial_lr`, `--dial_epsilon`):** Configure parameters for generating adversarial images. + + +For a comprehensive understanding of all available commands, use: +```shell +python main_out.py --help +``` + +## Example +DomainLab comes with some minimal toy-dataset to test its basis functionality, see [a minimal subsample of the VLCS dataset](./zdata/vlcs_mini) and [an example configuration file for vlcs_mini](../examples/tasks/task_vlcs.py). + +To train a domain invariant model on the vlcs_mini task: ```shell python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --config=examples/yaml/demo_config_single_run_diva.yaml ``` where `--tpath` specifies the path of a user specified python file which defines the domain generalization task [see here](../examples/tasks/task_vlcs.py), `--te_d` specifies the test domain name (or index starting from 0), `--config` specifies the configurations of the domain generalization algorithms, [see here](../examples/yaml/demo_config_single_run_diva.yaml) -#### Further usage -Alternatively, in a verbose mode without using the algorithm configuration file: +In more detail, in a verbose mode without using the algorithm configuration file: ```shell python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug --bs=2 --model=diva --gamma_y=7e5 --gamma_d=1e5 --nname=alexnet --nname_dom=conv_bn_pool_2 @@ -19,22 +105,11 @@ python main_out.py --te_d=caltech --tpath=examples/tasks/task_vlcs.py --debug -- where `--model` specifies which algorithm to use, `--bs` specifies the batch size, `--debug` restrain only running for 2 epochs and save results with prefix 'debug'. For DIVA, the hyper-parameters include `--gamma_y=7e5` which is the relative weight of ERM loss compared to ELBO loss, and `--gamma_d=1e5`, which is the relative weight of domain classification loss compared to ELBO loss. `--nname` is to specify which neural network to use for feature extraction for classification, `--nname_dom` is to specify which neural network to use for feature extraction of domains. -For usage of other arguments, check with - -```shell -python main_out.py --help -``` - -See also [Examples](./doc_examples.md). - -### Custom Neural network - -where the user could plugin different neural network architectures for the same algorithm. See -[Specify Custom Neural Networks for an algorithm](./doc_custom_nn.md) -### Output structure (results storage) and Performance Measure -[Output structure and Performance Measure](./doc_output.md) +See [more examples](./doc_examples.md). +## Further Resources -## Software Design Pattern, Extend or Contribution -[Extend or Contibute](./doc_extend_contribute.md) +- **Custom Neural Networks:** [Guide on specifying custom neural networks](./doc_custom_nn.md) +- **Output and Performance:** [Understanding the output structure and performance measures](./doc_output.md) +- **Extending DomainLab:** [Guide for extending or contributing to DomainLab](./doc_extend_contribute.md) diff --git a/docs/build/html/domainlab.algos.html b/docs/build/html/domainlab.algos.html index 9ddef8504..2e43ec625 100644 --- a/docs/build/html/domainlab.algos.html +++ b/docs/build/html/domainlab.algos.html @@ -389,6 +389,7 @@

Subpackagesdomainlab.algos.trainers.hyper_scheduler module
  • domainlab.algos.trainers.train_basic module
  • domainlab.algos.trainers.train_dial module
  • +
  • domainlab.algos.trainers.train_fishr module
  • domainlab.algos.trainers.train_hyper_scheduler module
  • domainlab.algos.trainers.train_matchdg module
  • domainlab.algos.trainers.train_mldg module
  • diff --git a/docs/build/html/domainlab.algos.msels.html b/docs/build/html/domainlab.algos.msels.html index 500caf593..f5e0dde96 100644 --- a/docs/build/html/domainlab.algos.msels.html +++ b/docs/build/html/domainlab.algos.msels.html @@ -344,15 +344,22 @@

    Submodules
    -class domainlab.algos.msels.a_model_sel.AMSel[source]
    +class domainlab.algos.msels.a_model_sel.AMSel(val_threshold=None)[source]

    Bases: object

    Abstract Model Selection

    -accept(trainer, tr_obs)[source]
    +accept(trainer, observer4msel)[source]

    Visitor pattern to trainer accept trainer and tr_observer

    +
    +
    +abstract base_update(clear_counter=False)[source]
    +

    observer + visitor pattern to trainer +if the best model should be updated +return boolean

    +
    property best_te_metric
    @@ -364,16 +371,32 @@

    Submodules -
    -if_stop()[source]
    +
    +early_stop()[source]

    check if trainer should stop return boolean

    +
    +
    +if_stop(acc_val=None)[source]
    +

    check if trainer should stop and additionally tests for validation threshold +return boolean

    +
    property max_es

    maximum early stop

    +
    +
    +property model_selection_epoch
    +

    the epoch when the model was selected

    +
    +
    +
    +property observer4msel
    +

    the observer from trainer

    +
    reset()[source]
    @@ -384,17 +407,15 @@

    Submodulesproperty sel_model_te_acc

    the selected model test accuaracy

    -
    -
    -property tr_obs
    -

    the observer from trainer

    -
    -abstract update(clear_counter=False)[source]
    -

    observer + visitor pattern to trainer -if the best model should be updated -return boolean

    +update(epoch, clear_counter=False)[source] +

    level above the observer + visitor pattern to get information about the epoch

    +
    +
    +
    +property val_threshold
    +

    the treshold below which we don’t stop early

    @@ -403,19 +424,24 @@

    Submodules
    -class domainlab.algos.msels.c_msel_oracle.MSelOracleVisitor(msel=None)[source]
    +class domainlab.algos.msels.c_msel_oracle.MSelOracleVisitor(msel=None, val_threshold=None)[source]

    Bases: AMSel

    save best out-of-domain test acc model, but do not affect how the final model is selected

    -accept(trainer, tr_obs)[source]
    +accept(trainer, observer4msel)[source]

    Visitor pattern to trainer accept trainer and tr_observer

    -
    -if_stop()[source]
    +
    +base_update(clear_counter=False)[source]
    +

    if the best model should be updated

    +
    +
    +
    +early_stop()[source]

    if should early stop oracle model selection does not intervene how models get selected by the innermost model selection

    @@ -425,27 +451,27 @@

    Submodulesproperty oracle_last_setpoint_sel_te_acc

    last setpoint acc

    -
    -
    -update(clear_counter=False)[source]
    -

    if the best model should be updated

    -

    domainlab.algos.msels.c_msel_tr_loss module

    -

    Model Selection should be decoupled from

    +

    AMSel.accept —> Trainer

    -class domainlab.algos.msels.c_msel_tr_loss.MSelTrLoss(max_es)[source]
    +class domainlab.algos.msels.c_msel_tr_loss.MSelTrLoss(max_es, val_threshold=None)[source]

    Bases: AMSel

    1. Model selection using sum of loss across training domains

    2. Visitor pattern to trainer

    -
    -if_stop()[source]
    +
    +base_update(clear_counter=False)[source]
    +

    if the best model should be updated

    +
    +
    +
    +early_stop()[source]

    if should early stop

    @@ -458,11 +484,6 @@

    Submodulesreset()[source]

    reset observer via reset model selector

    -
    -
    -update(clear_counter=False)[source]
    -

    if the best model should be updated

    -
    @@ -470,12 +491,17 @@

    Submodules
    -class domainlab.algos.msels.c_msel_val.MSelValPerf(max_es)[source]
    +class domainlab.algos.msels.c_msel_val.MSelValPerf(max_es, val_threshold=None)[source]

    Bases: MSelTrLoss

    1. Model selection using validation performance

    2. Visitor pattern to trainer

    +
    +
    +base_update(clear_counter=False)[source]
    +

    if the best model should be updated

    +
    property best_te_metric
    @@ -496,11 +522,6 @@

    Submodulesproperty sel_model_te_acc

    the selected model test accuaracy

    -
    -
    -update(clear_counter=False)[source]
    -

    if the best model should be updated

    -

    diff --git a/docs/build/html/domainlab.algos.trainers.html b/docs/build/html/domainlab.algos.trainers.html index 9201390e5..7b1a2a02d 100644 --- a/docs/build/html/domainlab.algos.trainers.html +++ b/docs/build/html/domainlab.algos.trainers.html @@ -325,6 +325,8 @@
  • domainlab.algos.trainers.train_dial module
  • +
  • domainlab.algos.trainers.train_fishr module +
  • domainlab.algos.trainers.train_hyper_scheduler module
  • domainlab.algos.trainers.train_matchdg module @@ -611,6 +613,89 @@

    Submodules +

    domainlab.algos.trainers.train_fishr module

    +

    use random start to generate adversarial images

    +
    +
    +class domainlab.algos.trainers.train_fishr.TrainerFishr(successor_node=None, extend=None)[source]
    +

    Bases: TrainerBasic

    +

    The goal is to minimize the variance of the domain-level variance of the gradients. +This aligns the domain-level loss landscapes locally around the final weights, reducing +inconsistencies across domains.

    +
    +
    For more details, see: Alexandre Ramé, Corentin Dancette, and Matthieu Cord.

    “Fishr: Invariant gradient variances for out-of-distribution generalization.” +International Conference on Machine Learning. PMLR, 2022.

    +
    +
    +
    +
    +cal_dict_variance_grads(tensor_x, vec_y)[source]
    +

    Calculates the domain-level variances of the gradients w.r.t. the scalar component of the +weight tensor for the layer in question, i.e. +$$v_i = var(nabla_{theta}ell(x^{(d_i)}, y^{(d_i)}))$$, where $$d_i$$ means data +coming from domain i. The computation is done using the package backpack.

    +

    Input: tensor_x, a tensor, where the first dimension is the batch size and vec_y, which +is a vector representing the output labels.

    +

    Return: dictionary, where the key is the name for the layer of a neural network and the +value is the diagonal variance of each scalar component of the gradient of the loss w.r.t. +the parameter.

    +

    Return Example: +{“layer1”: Tensor[batchsize=32, 64, 3, 11, 11 ]} as a convolution kernel

    +
    +
    +
    +cal_mean_across_dict(list_dict)[source]
    +

    Calculates the mean across several dictionaries. +Input: list of dictionaries, where the values of each dictionary are tensors. +Return: dictionary, where the values are tensors. The scalar values of the tensors contain +the mean across the first dimension of the dictionaries from the list of inputs.

    +
    +
    +
    +cal_power_single_dict(mdict)[source]
    +

    Calculates the element-wise power of the values in a dictionary, when the values ar tensors. +Input: dictionary, where the values are tensors. +Return: dictionary, where the values are tensors. The scalar values of the tensors are the +element-wise power of the scalars in the input dictionary.

    +
    +
    +
    +tr_epoch(epoch)[source]
    +
    +
    Parameters:
    +

    epoch

    +
    +
    +
    +
    +
    +var_grads_and_loss(tuple_data_domains_batch)[source]
    +

    Calculate the domain-level variance of the gradients and the layer-wise erm loss. +Input: a tupel containing lists with the data per domain +Return: two lists. The first one contains dictionaries with the gradient variances. The keys +are the layers and the values are tensors. The gradient variances are stored in the tensors. +The second list contains the losses. Each list entry represents the summed up erm loss of a +single layer.

    +
    +
    +
    +variance_between_dict(list_dict_var_paragrad)[source]
    +

    Computes the variance of the domain-level gradient variances, layer-wise. +Let $v=1/nsum_i^n v_i represent the mean across n domains, with +$$v_i = var(nabla_{theta}ell(x^{(d_i)}, y^{(d_i)}))$$, where $$d_i$$ means data +coming from domain i. We are interested in $1/nsum_(v_i-v)^2=1/n sum_i v_i^2 - v^2$.

    +

    Input: list of dictionaries, each dictionary has the structure +{“layer1”: tensor[64, 3, 11, 11], +“layer2”: tensor[8, 3, 5, 5]}….. +The scalar values in the dictionary are the variances of the gradient of the loss +w.r.t. the scalar component of the weight tensor for the layer in question, where +the variance is computed w.r.t. the minibatch of a particular domain.

    +

    Return: dictionary, containing the layers as keys and tensors as values. The variances are +stored in the tensors as scalars.

    +
    +
    +

  • domainlab.algos.trainers.train_hyper_scheduler module

    update hyper-parameters during training

    diff --git a/docs/build/html/domainlab.html b/docs/build/html/domainlab.html index f45d40197..5f9dc0aed 100644 --- a/docs/build/html/domainlab.html +++ b/docs/build/html/domainlab.html @@ -392,6 +392,7 @@

    Subpackagesdomainlab.algos.trainers.hyper_scheduler module
  • domainlab.algos.trainers.train_basic module
  • domainlab.algos.trainers.train_dial module
  • +
  • domainlab.algos.trainers.train_fishr module
  • domainlab.algos.trainers.train_hyper_scheduler module
  • domainlab.algos.trainers.train_matchdg module
  • domainlab.algos.trainers.train_mldg module
  • diff --git a/docs/build/html/domainlab.utils.html b/docs/build/html/domainlab.utils.html index 483f91b7e..5b71f8884 100644 --- a/docs/build/html/domainlab.utils.html +++ b/docs/build/html/domainlab.utils.html @@ -779,7 +779,7 @@

    Submodules
    -static get_logger(logger_name='logger_135037', loglevel='INFO')[source]
    +static get_logger(logger_name='logger_736044', loglevel='INFO')[source]

    returns a logger if no logger was created yet, it will create a logger with the name specified in logger_name with the level specified in loglevel. diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index b8971ba40..16589b2dc 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -434,6 +434,16 @@

    B

    +
  • base_update() (domainlab.algos.msels.a_model_sel.AMSel method) + +
  • before_batch() (domainlab.algos.trainers.a_trainer.AbstractTrainer method) @@ -468,10 +478,10 @@

    B

  • (domainlab.algos.msels.c_msel_val.MSelValPerf property)
  • -
  • boxplot() (in module domainlab.utils.generate_benchmark_plots) -
  • cal_loss_gen_adv() (domainlab.models.a_model_classif.AModelClassif method) +
  • +
  • cal_mean_across_dict() (domainlab.algos.trainers.train_fishr.TrainerFishr method)
  • cal_metrics() (domainlab.utils.perf_metrics.PerfMetricClassif method)
  • @@ -537,6 +551,8 @@

    C

  • cal_p_x_pars_loc_scale() (domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv.DecoderConcatLatentFcReshapeConv method)
  • cal_perf_metric() (domainlab.models.a_model_classif.AModelClassif method) +
  • +
  • cal_power_single_dict() (domainlab.algos.trainers.train_fishr.TrainerFishr method)
  • cal_prior_zd() (domainlab.compos.vae.c_vae_adaptor_model_recon.AdaptorReconVAEXYD method)
  • @@ -558,12 +574,12 @@

    C

  • ChainNodeVAEBuilderClassifCondPrior (class in domainlab.compos.vae.c_vae_builder_classif)
  • + + - + +
    • domainlab.compos.vae.compos.encoder_xyd_parallel @@ -1156,8 +1181,6 @@

      D

    • module
    - -
    • domainlab.compos.vae.compos.encoder_xydt_elevator @@ -1689,6 +1712,14 @@

      D

      E

      + -
      • ExpProtocolAggWriter (class in domainlab.exp.exp_utils)
      • extend() (domainlab.algos.a_algo_builder.NodeAlgoBuilder method) @@ -1958,13 +1989,7 @@

        I

        • if_stop() (domainlab.algos.msels.a_model_sel.AMSel method) - -
        • img_loader2dir() (in module domainlab.tasks.utils_task)
        • import_path() (in module domainlab.utils.u_import) @@ -2212,6 +2237,8 @@

          M

        • model_dir (domainlab.exp.exp_utils.ExpModelPersistVisitor attribute)
        • model_sel (domainlab.algos.observers.c_obvisitor_cleanup.ObVisitorCleanUp property) +
        • +
        • model_selection_epoch (domainlab.algos.msels.a_model_sel.AMSel property)
        • model_suffix (domainlab.exp.exp_utils.ExpModelPersistVisitor attribute)
        • @@ -2278,6 +2305,8 @@

          M

        • domainlab.algos.trainers.train_basic
        • domainlab.algos.trainers.train_dial +
        • +
        • domainlab.algos.trainers.train_fishr
        • domainlab.algos.trainers.train_hyper_scheduler
        • @@ -2592,6 +2621,8 @@

          N

          O

          + + +
            +
          • observer4msel (domainlab.algos.msels.a_model_sel.AMSel property) +
          • ObVisitor (class in domainlab.algos.observers.b_obvisitor)
          • ObVisitorCleanUp (class in domainlab.algos.observers.c_obvisitor_cleanup) @@ -2814,6 +2845,8 @@

            T

          • -
          • tr_obs (domainlab.algos.msels.a_model_sel.AMSel property) -
          • TrainerBasic (class in domainlab.algos.trainers.train_basic)
          • TrainerChainNodeGetter (class in domainlab.algos.trainers.zoo_trainer)
          • TrainerDIAL (class in domainlab.algos.trainers.train_dial) +
          • +
          • TrainerFishr (class in domainlab.algos.trainers.train_fishr)
          • TrainerHyperScheduler (class in domainlab.algos.trainers.train_hyper_scheduler)
          • @@ -2917,12 +2950,6 @@

            U

          • update() (domainlab.algos.msels.a_model_sel.AMSel method)
              -
            • (domainlab.algos.msels.c_msel_oracle.MSelOracleVisitor method) -
            • -
            • (domainlab.algos.msels.c_msel_tr_loss.MSelTrLoss method) -
            • -
            • (domainlab.algos.msels.c_msel_val.MSelValPerf method) -
            • (domainlab.algos.observers.a_observer.AObVisitor method)
            • (domainlab.algos.observers.b_obvisitor.ObVisitor method) @@ -2937,10 +2964,16 @@

              V

              diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 8bb5162e0265c619b36ad75c5c9520124346abd5..e6e2f4ef6b0f6a183b4aac6eb421280e08840e02 100644 GIT binary patch delta 26635 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 a*3BUEwn>?xO=&#Gj_K<7x(vTu$q)GEwrijp4 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 E52_tA&Hw-a diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index b6b9c66ca..4a0a7229b 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -469,6 +469,11 @@

              Python Module Index

              domainlab.algos.trainers.train_dial
              + domainlab.algos.trainers.train_fishr +
              diff --git a/docs/build/html/readme_link.html b/docs/build/html/readme_link.html index 42b69cd7b..7926bff36 100644 --- a/docs/build/html/readme_link.html +++ b/docs/build/html/readme_link.html @@ -317,13 +317,17 @@
        • Example and usage
        • Benchmark different methods +
        • +
        • Citation
        • @@ -351,17 +355,17 @@

          pages-build-deployment

          Distribution shifts, domain generalization and DomainLab

          -

          Neural networks trained using data from a specific distribution (domain) usually fails to generalize to novel distributions (domains). Domain generalization aims at learning domain invariant features by utilizing data from multiple domains (data sites, corhorts, batches, vendors) so the learned feature can generalize to new unseen domains (distributions).

          -

          DomainLab is a software platform with state-of-the-art domain generalization algorithms implemented, designed by maximal decoupling of different software components thus enhances maximal code reuse.

          +

          Neural networks trained using data from a specific distribution (domain) usually fail to generalize to novel distributions (domains). Domain generalization aims at learning domain invariant features by utilizing data from multiple domains (data sites, cohorts, batches, vendors) so the learned feature can be generalized to new unseen domains (distributions).

          +

          DomainLab is a software platform with state-of-the-art domain generalization algorithms implemented and designed by maximal decoupling of different software components thus enhancing maximal code reuse.

          DomainLab

          DomainLab decouples the following concepts or objects:

            -
          • task \(M\): In DomainLab, a task is a container for datasets from different domains. (e.g. from distribution \(D_1\) and \(D_2\)). Task offer a static protocol to evaluate the generalization performance of a neural network: which dataset(s) is used for training, wich dataset(s) used for testing.

          • -
          • neural network: a map \(\phi\) from the input data to the feature space and a map \(\varphi\) from feature space to output \(\hat{y}\) (e.g. decision variable).

          • +
          • task \(M\): In DomainLab, a task is a container for datasets from different domains. (e.g. from distribution \(D_1\) and \(D_2\)). The task offers a static protocol to evaluate the generalization performance of a neural network: which dataset(s) is used for training, and which dataset(s) is used for testing.

          • +
          • neural network: a map \(\phi\) from the input data to the feature space and a map \(\varphi\) from the feature space to output \(\hat{y}\) (e.g. decision variable).

          • model: structural risk in the form of \(\ell() + \mu R()\) where

              -
            • \(\ell(Y, \hat{y}=\varphi(\phi(X)))\) is the task specific empirical loss (e.g. cross entropy for classification task).

            • +
            • \(\ell(Y, \hat{y}=\varphi(\phi(X)))\) is the task-specific empirical loss (e.g. cross entropy for classification task).

            • \(R(\phi(X))\) is the penalty loss to boost domain invariant feature extraction using \(\phi\).

            • \(\mu\) is the corresponding multiplier to each penalty function factor.

            @@ -369,8 +373,19 @@

            DomainLabhttps://marrlab.github.io/DomainLab/

            -

            DomainLab makes it possible to combine models with models, trainers with models, and trainers with trainers in a decorator pattern like line of code Trainer A(Trainer B(Model C(Model D(network E), network E, network F))) which correspond to \(\ell() + \mu_a R_a() + \mu_b R_b + \mu_c R_c() + \mu_d R_d()\), where Model C and Model D share neural network E, but Model C has an extra neural network F. All models share the same neural network for feature extraction, but can have different auxilliary networks for \(R()\).

            +

            We offer detailed documentation on how these models and trainers work on our documentation page: https://marrlab.github.io/DomainLab/

            +

            DomainLab makes it possible to combine models with models, trainers with models, and trainers with trainers in a decorator pattern like the line of code below

            +
            Trainer A(
            +                  Trainer B(Model C(
            +                                                    Model D(network E),
            +                                                        network E,
            +                                                        network F
            +                                                   )
            +                                   )
            +             )
            +
            +
            +

            which correspond to \(\ell() + \mu_a R_a() + \mu_b R_b + \mu_c R_c() + \mu_d R_d()\), where Model C and Model D share neural network E, but Model C has an extra neural network F. All models share the same neural network for feature extraction, but can have different auxiliary networks for \(R()\).

            @@ -382,7 +397,7 @@

            DomainLabGetting started

            Installation

            -

            For development version in Github, see Installation and Dependencies handling

            +

            For the development version in Github, see Installation and Dependencies handling

            We also offer a PyPI version here https://pypi.org/project/domainlab/ which one could install via pip install domainlab and it is recommended to create a virtual environment for it.

            @@ -392,10 +407,23 @@

            Task specification

            Example and usage

            -
            -
            Either clone this repo and use command line
            -

            python main_out.py -c ./examples/conf/vlcs_diva_mldg_dial.yaml -where the configuration file below can be downloaded here

            +
            +
            Available arguments for commandline
            +

            The following command tells which arguments/hyperparameters/multipliers are available to be set by the user and which model they are associated with

            +
            python main_out.py --help
            +
            +
            +

            or

            +
            domainlab --help
            +
            +
            +
            +
            +
            Command line configuration file
            +

            domainlab -c ./examples/conf/vlcs_diva_mldg_dial.yaml (if you install via pip)

            +

            or if you clone this the code repository for DomainLab

            +

            python main_out.py -c ./examples/conf/vlcs_diva_mldg_dial.yaml

            +

            where the configuration file below can be downloaded here

            te_d: caltech                       # domain name of test domain
             tpath: examples/tasks/task_vlcs.py  # python file path to specify the task
             bs: 2                               # batch size
            @@ -421,7 +449,7 @@ 

            Benchmark different methodsbenchmarks documentation and tutorial

            One could simply run bash run_benchmark_slurm.sh your_benchmark_configuration.yaml to launch different experiments with specified configuraiton.

            -

            For example, the following result (without any augmentation like flip) is for PACS dataset using ResNet.

            +

            For example, the following result (without any augmentation like flip) is for PACS dataset using ResNet. The reader should note that using different neural network, whether pre-trained or not, what kind of preprocessinga and augmentation to use can lead to very different result distributions, which is one of the features DomainLab provide: the above factors get decoupled in DomainLab.

            @@ -429,7 +457,20 @@

            Benchmark different methods +

            Citation

            +

            Source: https://arxiv.org/pdf/2403.14356.pdf

            +
            @misc{sun2024domainlab,
            +  title={DomainLab: A modular Python package for domain generalization in deep learning},
            +  author={Sun, Xudong and Feistner, Carla and Gossmann, Alexej and Schwarz, George and Umer, Rao Muhammad and Beer, Lisa and Rockenschaub, Patrick and Shrestha, Rahul Babu and Gruber, Armin and Chen, Nutan and others},
            +  journal={https://arxiv.org/pdf/2403.14356.pdf},
            +  year={2024}
            +}
            +
            +
            +

          diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 7acc5aa5c..6f79b2254 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["docDIAL", "docFishr", "docHDUVA", "docJiGen", "docMatchDG", "doc_MNIST_classification", "doc_benchmark", "doc_benchmark_further_explanation", "doc_benchmark_pacs", "doc_benchmark_yaml", "doc_custom_nn", "doc_dann", "doc_diva", "doc_examples", "doc_extend_contribute", "doc_install", "doc_mldg", "doc_output", "doc_tasks", "doc_usage_cmd", "domainlab", "domainlab.algos", "domainlab.algos.msels", "domainlab.algos.observers", "domainlab.algos.trainers", "domainlab.algos.trainers.compos", "domainlab.compos", "domainlab.compos.nn_zoo", "domainlab.compos.pcr", "domainlab.compos.vae", "domainlab.compos.vae.compos", "domainlab.dsets", "domainlab.exp", "domainlab.exp_protocol", "domainlab.models", "domainlab.tasks", "domainlab.utils", "index", "modules", "readme_link", "requirements", "tips"], "filenames": ["docDIAL.md", "docFishr.md", "docHDUVA.md", "docJiGen.md", "docMatchDG.md", "doc_MNIST_classification.md", "doc_benchmark.md", "doc_benchmark_further_explanation.md", "doc_benchmark_pacs.md", "doc_benchmark_yaml.md", "doc_custom_nn.md", "doc_dann.md", "doc_diva.md", "doc_examples.md", "doc_extend_contribute.md", "doc_install.md", "doc_mldg.md", "doc_output.md", "doc_tasks.md", "doc_usage_cmd.md", "domainlab.rst", "domainlab.algos.rst", "domainlab.algos.msels.rst", "domainlab.algos.observers.rst", "domainlab.algos.trainers.rst", "domainlab.algos.trainers.compos.rst", "domainlab.compos.rst", "domainlab.compos.nn_zoo.rst", "domainlab.compos.pcr.rst", "domainlab.compos.vae.rst", "domainlab.compos.vae.compos.rst", "domainlab.dsets.rst", "domainlab.exp.rst", "domainlab.exp_protocol.rst", "domainlab.models.rst", "domainlab.tasks.rst", "domainlab.utils.rst", "index.rst", "modules.rst", "readme_link.rst", "requirements.txt", "tips.txt"], "titles": ["Trainer DIAL", "Trainer Fishr", "Model HDUVA", "Model JiGen", "Trainer MatchDG", "colored MNIST classification", "Benchmarking with DomainLab", "Further explanations to Benchmark Setup", "Let DomainLab know where your PACS data were located", "Benchmark yaml files", "Specify neural network in command line", "Model DANN", "Model DIVA", "Command line examples", "Software Architecture and Design", "Installation of DomainLab", "Trainer MLDG", "Output structure", "Task Specification", "Basic usage", "domainlab package", "domainlab.algos package", "domainlab.algos.msels package", "domainlab.algos.observers package", "domainlab.algos.trainers package", "domainlab.algos.trainers.compos package", "domainlab.compos package", "domainlab.compos.nn_zoo package", "domainlab.compos.pcr package", "domainlab.compos.vae package", "domainlab.compos.vae.compos package", "domainlab.dsets package", "domainlab.exp package", "domainlab.exp_protocol package", "domainlab.models package", "domainlab.tasks package", "domainlab.utils package", "Welcome to domainlab\u2019s documentation!", "domainlab", "Introduction", "recommonmark==0.5.0.dev0", "<no title>"], "terms": {"The": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 17, 18, 20, 21, 24, 27, 29, 34, 35, 36], "algorithm": [0, 4, 5, 9, 17, 19, 21, 24, 26, 32, 33, 39], "introduc": [0, 2, 4, 34], "http": [0, 1, 2, 4, 10, 12, 27, 30, 31, 32, 34, 39, 40], "arxiv": [0, 1, 2, 4, 12, 34], "org": [0, 1, 2, 4, 12, 27, 31, 32, 39], "pdf": [0, 2, 4, 12], "2104": 0, "00322": 0, "us": [0, 1, 2, 3, 5, 6, 7, 9, 12, 15, 18, 19, 20, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "tackl": 0, "task": [0, 3, 5, 6, 7, 10, 14, 17, 19, 20, 21, 23, 24, 25, 28, 31, 32, 33, 34, 36, 38], "therefor": [0, 4, 9, 12], "sourc": [0, 1, 2, 4, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "natur": 0, "dataset": [0, 8, 9, 19, 20, 24, 25, 31, 34, 35, 36, 39], "while": [0, 4, 5, 27, 29], "target": [0, 24, 34, 35], "attack": 0, "imag": [0, 1, 2, 3, 4, 6, 12, 17, 18, 24, 26, 27, 30, 31, 34, 35, 36], "demonstr": 0, "figur": [0, 1, 2, 4, 5, 32], "1": [0, 1, 2, 4, 5, 6, 9, 11, 13, 16, 21, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 39], "find": [0, 1, 2, 4, 6, 18, 24], "an": [0, 1, 2, 3, 4, 5, 6, 7, 12, 17, 18, 19, 20, 21, 27, 28, 31, 34, 35, 36, 39], "x": [0, 2, 4, 27, 29, 30, 34, 35, 39], "small": [0, 1, 4, 24], "output": [0, 7, 9, 26, 27, 32, 33, 34, 39], "classif": [0, 3, 4, 12, 18, 19, 34, 35, 36, 39], "phi": [0, 4, 39], "fulfil": [0, 36], "big": 0, "In": [0, 2, 4, 6, 7, 9, 12, 18, 26, 27, 39], "exampl": [0, 5, 6, 7, 8, 9, 18, 19, 20, 28, 32, 34], "you": [0, 2, 6, 9, 15, 18, 19, 27, 28], "can": [0, 1, 2, 3, 5, 6, 7, 9, 10, 12, 17, 18, 20, 21, 24, 26, 27, 28, 29, 34, 35, 36, 39], "see": [0, 1, 6, 7, 8, 10, 18, 19, 31, 34, 39], "differ": [0, 1, 2, 4, 5, 6, 7, 9, 12, 17, 18, 19, 21, 25, 26, 32, 33, 34, 35, 36], "between": [0, 4, 7, 17, 18, 32, 34, 36, 37], "left": [0, 4, 41], "right": [0, 1, 4, 34], "panda": [0, 33], "unobserv": [0, 2], "classifi": [0, 3, 4, 5, 12, 18, 27, 29, 34], "doe": [0, 3, 4, 6, 9, 12, 18, 22, 25, 28, 35, 36], "still": [0, 6, 28], "them": [0, 27, 29, 36], "domainlab": [0, 1, 2, 5, 9, 10, 14, 19], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 9, 12, 17, 18, 20, 27, 32, 34, 35, 36], "creat": [0, 3, 6, 7, 9, 18, 20, 24, 25, 28, 34, 35, 36, 39], "start": [0, 4, 6, 9, 18, 19, 24, 26, 29, 33, 36], "from": [0, 2, 3, 4, 5, 7, 9, 10, 12, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 32, 33, 34, 35, 36, 39], "random": [0, 6, 7, 9, 24, 31, 32, 33, 35, 39], "perturb": [0, 1], "_0": 0, "sigma": 0, "tild": 0, "sim": [0, 4], "mathcal": [0, 1, 4], "n": [0, 3, 4, 6, 34], "0": [0, 4, 5, 6, 7, 9, 13, 18, 19, 25, 27, 30, 34, 35, 36, 39], "step": [0, 7, 9, 24, 36], "descend": 0, "size": [0, 2, 4, 5, 7, 9, 12, 19, 20, 24, 30, 34, 35, 39], "tau": [0, 4, 9, 25], "maxim": [0, 5, 9, 34, 39], "machin": [0, 1, 11, 34], "dure": [0, 2, 6, 12, 24, 27, 34, 37], "train": [0, 2, 3, 5, 7, 9, 11, 12, 17, 19, 21, 22, 23, 24, 27, 29, 30, 31, 32, 34, 35, 36, 37], "process": [0, 4, 6, 9], "make": [0, 6, 8, 20, 24, 28, 35, 36, 39], "more": [0, 1, 2, 5, 6, 7, 9, 20, 26, 34], "robust": 0, "explain": [0, 3, 6, 11, 18], "har": 0, "ab": [0, 1], "1412": 0, "6572": 0, "consist": [0, 35], "three": [0, 2, 4, 12, 34], "part": [0, 2, 24, 36], "At": [0, 9], "first": [0, 1, 3, 4, 6, 15, 27, 34, 35, 36], "featur": [0, 3, 4, 7, 12, 18, 19, 21, 26, 27, 30, 34, 35, 36, 39], "extractor": [0, 21, 26, 30, 34, 39], "which": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 17, 18, 19, 24, 27, 28, 29, 30, 34, 35, 36, 39], "extract": [0, 3, 5, 7, 19, 26, 27, 30, 34, 36, 39], "main": [0, 24], "characterist": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 15, 17, 18, 19, 21, 24, 27, 28, 29, 30, 32, 33, 34, 35, 36], "input": [0, 2, 12, 20, 25, 27, 28, 29, 34, 35, 36, 39], "label": [0, 2, 3, 4, 12, 18, 29, 30, 34, 35, 36], "optim": [0, 1, 24, 27, 28], "have": [0, 4, 5, 6, 7, 9, 15, 18, 19, 25, 27, 34, 35, 36, 39], "low": 0, "error": [0, 7, 36], "ensur": [0, 5, 26, 28, 29, 32], "intern": [0, 1, 24], "represent": [0, 2, 4, 30, 34, 35], "cannot": [0, 9], "discrimin": 0, "goal": [0, 1, 3, 4], "archiv": 0, "special": 0, "combin": [0, 5, 21, 24, 31, 32, 33, 36, 39], "2": [0, 1, 4, 5, 6, 9, 10, 12, 19, 27, 28, 29, 30, 31, 34, 35, 36, 39], "packag": [0, 1, 5, 6, 17, 18, 37, 38], "one": [0, 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 39], "describ": 0, "paper": [0, 2, 4, 12, 31], "It": [0, 6, 15, 18, 27], "standard": [0, 7, 9, 31, 34], "cross": [0, 3, 34, 39], "entropi": [0, 3, 34, 39], "predict": [0, 3, 4, 12, 17, 23, 30, 34, 35, 36], "probabl": [0, 3, 34, 36], "actual": [0, 12, 36], "ce_": 0, "nat": 0, "adv": 0, "weight": [0, 1, 2, 3, 4, 19, 24, 26, 28, 29, 34], "paramet": [0, 1, 2, 4, 6, 7, 9, 19, 20, 21, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37], "gamma_": [0, 4], "text": [0, 1, 4, 17, 18, 32], "reg": [0, 4, 36], "procedur": [0, 4, 9], "yield": [0, 4], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 18, 27, 39], "avail": [0, 4, 5, 7, 28, 35], "hyperparamet": [0, 3, 4, 5, 12, 33, 36, 37, 39], "dial_steps_perturb": [0, 13], "how": [0, 5, 9, 22, 28, 39], "mani": [0, 9, 27], "go": [0, 36], "dial_noise_scal": 0, "varianc": [0, 2, 12, 30, 34, 37], "gaussian": 0, "nois": 0, "inject": 0, "pure": 0, "dial_lr": 0, "rate": [0, 5, 7, 9], "dial_epsilon": 0, "pixel": [0, 30], "wise": [0, 17, 30], "threshold": 0, "gamma_reg": [0, 3, 4, 9], "epsilon": [0, 1, 24], "lr": [0, 5, 7, 9], "alpha": [0, 2, 27, 34], "regular": [1, 4, 24, 34], "techniqu": [1, 7], "local": [1, 6, 31, 35], "align": [1, 39], "level": [1, 2, 4, 9, 30, 34, 36], "loss": [1, 3, 4, 19, 22, 24, 34, 37, 39], "landscap": 1, "around": [1, 35], "final": [1, 2, 4, 22, 36], "minim": [1, 4, 6, 18, 19, 34], "possibl": [1, 9, 26, 36, 39], "done": [1, 4, 5, 6, 9, 23], "consid": [1, 6, 7, 24, 31, 36], "second": [1, 4, 5, 6, 35], "order": [1, 12, 18, 29, 30, 35], "term": [1, 2, 3, 4, 34], "across": [1, 4, 18, 22, 35], "intuit": 1, "two": [1, 2, 3, 4, 6, 7, 9, 12, 24, 34], "highli": 1, "affect": [1, 4, 22, 28], "its": [1, 2, 4, 5, 6, 9, 19, 24, 28, 34], "onli": [1, 3, 4, 5, 6, 7, 9, 10, 12, 17, 18, 19, 24, 28, 29, 30, 31, 34, 35, 36], "other": [1, 2, 3, 4, 5, 6, 7, 9, 19, 24, 27, 28, 31, 34, 35, 36], "under": [1, 36], "certain": 1, "assumpt": [1, 4], "most": [1, 18, 29], "importantli": [1, 29], "hessian": 1, "being": [1, 3, 7, 18, 34], "posit": [1, 4], "definit": [1, 4, 20, 26], "measur": 1, "A": [1, 5, 19, 28, 34, 36, 39], "b": [1, 4, 39], "score": 1, "i": [1, 3, 4, 6, 9, 30, 31, 34], "theta": [1, 2], "max": [1, 7, 9, 36], "_": 1, "e": [1, 3, 6, 7, 9, 26, 27, 28, 34, 36, 39], "biggl": 1, "r": [1, 6, 15, 27, 39], "frac": [1, 2, 4], "t": [1, 4, 27, 29, 31, 32], "h_a": 1, "leq": 1, "h_b": 1, "wherebi": [1, 3], "denot": [1, 2, 3, 4, 34], "set": [1, 2, 3, 4, 5, 7, 9, 12, 20, 21, 24, 25, 32, 34, 35, 36], "h_e": 1, "network": [1, 2, 3, 5, 7, 9, 12, 18, 21, 24, 26, 30, 34, 36, 37], "_e": 1, "erm": [1, 18, 19, 21, 27, 34], "object": [1, 4, 21, 22, 23, 24, 25, 26, 28, 29, 30, 32, 34, 35, 36, 39], "method": [1, 3, 5, 6, 9, 21, 24, 28, 29, 34, 35, 36], "forc": 1, "both": [1, 3, 4, 5, 6, 28, 29, 31, 34], "hand": 1, "side": 1, "becom": [1, 6], "repres": [1, 2, 7, 23, 27, 34, 36, 39], "risk": [1, 18, 34, 39], "implicitli": 1, "appli": [1, 7, 9, 20, 27, 36], "For": [1, 2, 3, 4, 5, 6, 7, 9, 18, 19, 20, 23, 27, 28, 29, 34, 35, 39], "suffic": 1, "diagon": 1, "approxim": 1, "let": 1, "space": [1, 2, 4, 12, 34, 36, 39], "all": [1, 4, 5, 6, 7, 9, 12, 18, 27, 28, 31, 32, 33, 34, 35, 36, 39], "function": [1, 4, 6, 18, 19, 20, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39], "l": [1, 4, 6], "sum_": [1, 4], "lambda": 1, "v_e": 1, "v": [1, 34], "2_2": 1, "averag": 1, "within": [1, 2, 6, 7, 27, 34, 35], "each": [1, 4, 6, 7, 9, 12, 17, 18, 23, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 39], "comput": [1, 3, 27, 30, 34], "backpack": 1, "dangel": 1, "felix": 1, "frederik": 1, "kunstner": 1, "philipp": 1, "hennig": 1, "pack": 1, "backprop": 1, "1912": 1, "10985": 1, "further": [1, 39], "we": [1, 2, 4, 5, 6, 7, 8, 9, 18, 23, 25, 29, 33, 35, 36, 39], "textnorm": 1, "var": [1, 30], "g": [1, 6, 7, 26, 27, 28, 34, 36, 39], "approx": 1, "diag": 1, "h": [1, 4, 35], "fisher": 1, "inform": [1, 2, 4, 5, 6, 9, 12, 18, 24, 34, 35, 36], "matrix": [1, 4, 32], "again": 1, "empir": [1, 34, 39], "estim": [1, 36], "effici": 1, "detail": [1, 7, 9, 11, 34, 39], "refer": [1, 3, 6, 7, 9, 12, 20, 36], "below": [1, 6, 7, 10, 12, 17, 18, 39], "code": [1, 6, 8, 10, 18, 21, 26, 28, 39], "rame": 1, "alexandr": 1, "corentin": 1, "dancett": 1, "matthieu": 1, "cord": 1, "confer": [1, 3, 16, 34], "learn": [1, 2, 4, 5, 7, 9, 11, 12, 24, 34, 37, 39], "pmlr": [1, 12, 34], "2022": 1, "build": [2, 21, 29, 34, 35, 36], "approach": [2, 4, 34], "framework": [2, 34], "autoencod": [2, 34, 37], "facilit": [2, 34], "new": [2, 12, 21, 24, 34, 35, 39], "without": [2, 9, 19, 27, 30, 34, 35, 39], "supervis": [2, 12, 34], "disentangl": [2, 12, 34], "specif": [2, 5, 6, 7, 12, 34, 35, 36], "class": [2, 4, 12, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 39], "even": [2, 9, 26, 28, 29, 34], "complex": [2, 34], "where": [2, 4, 5, 6, 10, 12, 18, 19, 24, 25, 30, 34, 35, 36, 39], "structur": [2, 4, 5, 18, 20, 31, 34, 35, 36, 37, 39], "observ": [2, 4, 14, 20, 21, 22, 24, 32, 34, 36], "base": [2, 4, 6, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36], "latent": [2, 12, 30, 34], "variabl": [2, 4, 12, 24, 30, 34, 39], "distinct": 2, "z_y": [2, 29], "z_d": [2, 29], "z_x": 2, "residu": [2, 12, 34], "addit": [2, 12, 33, 34], "continu": [2, 9], "s": [2, 18, 30, 31, 34, 35, 39], "potenti": [2, 17], "mean": [2, 7, 9, 17, 18, 27, 30, 36], "encourag": [2, 12], "through": [2, 9, 30, 36], "condit": [2, 4, 12, 29], "prior": [2, 29, 30], "need": [2, 4, 5, 9, 12, 18, 24, 27, 29, 34, 35, 36], "hot": [2, 34, 35, 36], "along": [2, 20, 34, 36, 39], "shown": [2, 5, 18], "probabilist": 2, "graphic": [2, 4, 6], "note": [2, 5, 6, 7, 21, 27, 31, 32, 34, 36], "concatent": 2, "dash": [2, 4], "arrow": [2, 4], "requir": [2, 3, 8, 15, 27, 35], "respec": 2, "elbo": [2, 19, 34], "decompos": [2, 34], "4": [2, 5, 6, 9, 13, 27, 28, 31, 35], "likelihood": [2, 30], "e_": 2, "q": 2, "log": [2, 4, 6, 24, 36], "p_": 2, "kl": 2, "diverg": 2, "beta": 2, "vae": [2, 14, 20, 26, 27, 34], "beta_x": [2, 34], "q_": 2, "phi_x": 2, "theta_x": 2, "beta_i": [2, 34], "phi_i": 2, "theta_i": 2, "y": [2, 4, 12, 29, 34, 35, 39], "beta_d": [2, 34], "phi_": [2, 4], "phi_d": 2, "theta_d": 2, "topic": [2, 27, 30, 34], "beta_t": [2, 34], "theta_": 2, "construct": [2, 4, 9, 26, 28, 29, 34, 35], "ad": [2, 21, 24, 26, 34, 35], "auxiliari": 2, "classsifi": 2, "gamma_i": [2, 5, 9, 12, 13, 18, 19, 34, 39], "fit": 2, "specifi": [2, 3, 5, 6, 7, 9, 12, 17, 19, 20, 21, 26, 34, 35, 36, 39], "relat": [2, 18], "well": [2, 5, 6, 18], "zd_dim": [2, 9, 12, 29, 30, 34], "zx_dim": [2, 9, 12, 29, 30, 34], "zy_dim": [2, 9, 12, 29, 30, 34], "topic_dim": [2, 29, 30, 34], "dirichlet": [2, 30], "distribut": [2, 7, 30, 34, 35, 36, 37], "user": [2, 3, 6, 7, 9, 10, 12, 17, 18, 19, 20, 21, 24, 26, 31, 34, 35, 36, 39], "least": 2, "neural": [2, 3, 7, 12, 18, 21, 24, 26, 30, 34, 36, 37], "via": [2, 3, 6, 10, 18, 22, 23, 34, 35, 39], "npath_encoder_x2topic_h": [2, 13], "python": [2, 5, 6, 9, 10, 15, 18, 19, 21, 26, 35, 36], "file": [2, 10, 15, 17, 18, 19, 21, 26, 28, 29, 31, 32, 33, 34, 35, 36, 39], "path": [2, 6, 7, 9, 10, 18, 19, 26, 27, 30, 31, 33, 35, 36, 39], "map": [2, 18, 34, 35, 36, 39], "modal": 2, "data": [2, 3, 4, 5, 12, 20, 24, 27, 29, 31, 34, 35, 36, 39], "dimension": 2, "hidden": [2, 27, 30], "serv": [2, 28, 34], "h_t": 2, "d": [2, 4, 12, 29, 30, 34, 35, 39], "layer": [2, 21, 26, 27, 30, 37], "concentr": 2, "npath_encoder_sandwich_x2h4zd": [2, 13], "same": [2, 4, 5, 6, 9, 17, 18, 19, 25, 26, 27, 32, 34, 35, 39], "infer": [2, 12, 18, 27, 35], "posterior": 2, "h_d": 2, "zd_mean": 2, "zd_scale": 2, "altern": [2, 6, 19], "could": [2, 6, 8, 9, 10, 18, 19, 34, 39], "exist": [2, 12, 17, 18, 26, 34], "nname": [2, 5, 7, 9, 12, 13, 18, 19, 26], "instead": [2, 4, 23, 27, 28, 35, 36], "npath": [2, 7, 9, 10, 12, 13, 18, 26, 39], "nname_encoder_x2topic_h": [2, 9, 13], "nname_encoder_sandwich_x2h4zd": [2, 9, 13], "number": [2, 3, 4, 5, 6, 7, 9, 24, 27, 33, 34, 35, 36, 39], "epoch": [2, 4, 5, 7, 9, 19, 23, 24, 39], "hyper": [2, 19, 24, 30, 33, 34, 36], "warm": 2, "up": [2, 9, 23, 24, 36], "argument": [2, 6, 7, 10, 17, 18, 19, 20, 21, 26, 27, 28, 29, 33, 34, 35, 36], "pleas": [2, 6, 7], "cite": 2, "our": [2, 5, 6, 18, 36, 39], "inproceed": 2, "sun2021hierarch": 2, "titl": [2, 36], "author": [2, 4], "sun": [2, 34], "xudong": [2, 34], "buettner": [2, 34], "florian": [2, 34], "booktitl": 2, "iclr": 2, "2021": [2, 34], "robustml": 2, "workshop": 2, "2101": [2, 34], "09436": [2, 34], "year": 2, "extend": [3, 20, 21, 24, 27, 34], "understand": 3, "concept": [3, 5, 39], "spatial": 3, "correl": [3, 4], "also": [3, 5, 6, 7, 9, 12, 18, 19, 21, 27, 28, 31, 34, 36, 39], "solv": [3, 34], "jigsaw": [3, 34], "puzzl": [3, 34], "To": [3, 6, 7, 8, 10, 18, 19, 28, 34, 39], "split": [3, 17, 21, 35], "time": [3, 4, 9, 18, 29, 33, 35, 36], "patch": [3, 34], "permut": [3, 24, 31, 34], "correct": [3, 5, 35, 36], "result": [3, 7, 9, 17, 28, 32, 33, 36, 39], "problem": [3, 12], "parallel": [3, 30], "origin": [3, 24, 30, 34], "fed": [3, 12, 34], "convolut": [3, 26, 27, 30], "given": [3, 4, 5, 6, 23, 27, 30, 31, 35, 36], "total": [3, 9], "plu": 3, "anoth": [3, 4, 7, 9, 18, 24, 27, 30, 34, 35], "shuffl": [3, 31, 34, 35], "instanc": [3, 17, 23, 24, 27, 34, 36], "rel": [3, 4, 8, 17, 19, 35], "ratio": [3, 35], "advantag": [3, 12], "domain": [3, 7, 9, 19, 21, 22, 23, 24, 25, 26, 29, 31, 33, 34, 35, 36, 37], "despit": 3, "miss": [3, 12], "nperm": [3, 9, 13, 34], "pperm": [3, 9, 13], "abov": [3, 6, 8, 9], "furthermor": [3, 7, 12], "custom": [3, 7, 18, 20, 21, 27, 34], "grid": [3, 7, 9, 34, 36], "length": [3, 34], "grid_len": [3, 13, 31], "carlucci": [3, 34], "fabio": [3, 34], "m": [3, 4, 34, 39], "et": [3, 11, 16, 34], "al": [3, 11, 16, 34], "gener": [3, 5, 12, 17, 18, 19, 23, 24, 29, 31, 32, 33, 34, 35, 36, 37], "proceed": [3, 16, 34], "ieee": [3, 34], "cvf": [3, 34], "vision": [3, 31, 34], "pattern": [3, 21, 22, 23, 24, 26, 29, 30, 34, 39], "recognit": [3, 34], "2019": [3, 34], "2006": 4, "07500": 4, "try": [4, 6], "enforc": [4, 7, 27], "model": [4, 5, 7, 9, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 35, 36, 37, 38, 39], "includ": [4, 5, 7, 9, 19, 31, 32], "look": [4, 9], "underli": [4, 5], "scm": 4, "o": 4, "directli": [4, 9, 27, 30], "influenc": 4, "true": [4, 7, 23, 24, 27, 28, 29, 31, 35, 36], "y_": 4, "do": [4, 6, 9, 18, 20, 22, 26, 28, 29, 35, 36], "addition": [4, 12, 32, 34, 35], "togeth": [4, 5, 34, 35], "form": [4, 6, 31, 36, 39], "shall": [4, 9, 18, 36], "neuron": [4, 5], "so": [4, 6, 17, 18, 24, 26, 27, 28, 29, 32, 35, 39], "contribut": 4, "provid": [4, 5, 6, 18, 31, 35, 36, 39], "high": [4, 5], "x_c": 4, "common": [4, 7, 18, 24, 29, 35], "ani": [4, 27, 33, 39], "kei": [4, 7, 18, 20, 25, 34, 35, 36], "sublimin": 4, "depend": [4, 7, 9, 19, 32, 39], "x_a": 4, "respect": [4, 6, 7, 8, 12, 18, 34, 36], "shade": 4, "node": [4, 6, 21, 24, 26, 28, 29, 35, 36], "mai": [4, 6, 9], "befor": [4, 5, 6, 9, 24], "defin": [4, 6, 7, 8, 9, 18, 19, 27, 28, 29, 32, 35, 36], "c": [4, 6, 30, 34, 35, 39], "henc": [4, 9], "rightarrow": 4, "sinc": [4, 10, 12, 27, 28, 34, 35, 36], "unknown": [4, 20], "By": [4, 12, 17], "x_j": 4, "x_k": 4, "dist": 4, "associ": [4, 39], "omega": 4, "begin": 4, "case": [4, 5, 6, 7, 18, 35, 36], "quad": 4, "correspond": [4, 5, 6, 17, 18, 24, 27, 33, 35, 39], "otherwis": [4, 35, 36], "end": [4, 5, 30, 31], "substack": 4, "neq": 4, "desir": 4, "f": [4, 9, 30, 39], "circ": 4, "initialis": [4, 9], "pair": [4, 5, 35], "point": [4, 5, 7, 9, 36], "select": [4, 6, 9, 21, 22, 23, 24, 26, 29, 34, 35], "randomli": [4, 6, 7, 9, 24], "chosen": [4, 9, 31], "highest": 4, "sampl": [4, 12, 33, 35, 36], "lead": [4, 9, 12], "k": [4, 35], "sum": [4, 22], "over": [4, 9, 36], "ob": 4, "phase": 4, "batch": [4, 5, 7, 9, 19, 20, 24, 27, 30, 34, 35, 36, 39], "adapt": [4, 28], "contrast": [4, 24], "everi": [4, 27], "exp": [4, 14, 20, 21, 38], "j": [4, 30], "limits_": 4, "y_i": 4, "y_j": 4, "x_b": 4, "cosin": 4, "similar": [4, 6, 17, 18, 34], "after": [4, 6, 17, 23, 24, 32, 34, 36], "epos_per_match_upd": 4, "tensor": [4, 20, 24, 25, 27, 30, 34, 36], "updat": [4, 6, 21, 22, 23, 24], "nearest": [4, 36], "neighbor": 4, "among": [4, 9], "l_2": 4, "distanc": [4, 25], "underset": 4, "arg": [4, 20, 21, 23, 24, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36], "min": [4, 7, 9, 36], "n_d": 4, "x_i": 4, "perform": [4, 5, 6, 12, 22, 23, 24, 27, 32, 34, 36, 39], "scratch": 4, "05": [4, 25], "experi": [4, 6, 7, 9, 20, 21, 28, 32, 33, 39], "epochs_ctr": [4, 10, 13], "verion": 5, "digit": [5, 36], "semant": [5, 34], "want": [5, 25, 29, 33, 36], "10": [5, 7, 27, 35, 36], "version": [5, 6, 29, 39], "9": [5, 15, 27], "background": [5, 31], "thu": [5, 7, 34, 36, 39], "zero": [5, 35], "nine": 5, "simplic": 5, "show": [5, 27, 28], "red": 5, "blue": 5, "exact": [5, 36], "3": [5, 6, 9, 10, 13, 15, 21, 26, 27, 28, 30, 31, 32, 34, 35, 36], "revers": [5, 37], "seen": 5, "come": [5, 19, 24, 25, 28], "5": [5, 6, 9, 13, 26, 27, 35, 36], "6": [5, 6, 10, 13, 27, 32], "7": [5, 6, 13, 18, 27], "8": [5, 9, 27, 31, 36], "particular": 5, "hard": [5, 17, 18], "few": 5, "test": [5, 6, 7, 9, 12, 17, 19, 22, 23, 34, 35, 36, 39], "lot": 5, "here": [5, 6, 8, 9, 18, 19, 29, 31, 34, 39], "choos": [5, 9, 10, 36], "appear": [5, 9], "far": 5, "ones": 5, "like": [5, 6, 9, 21, 31, 34, 36, 39], "compar": [5, 17, 19], "wa": [5, 9, 36], "command": [5, 6, 17, 18, 20, 26, 28, 32], "main_out": [5, 6, 10, 13, 18, 19, 39], "py": [5, 6, 9, 10, 13, 14, 15, 18, 19, 20, 30, 31, 34, 39, 40, 41], "te_d": [5, 6, 7, 10, 13, 18, 19, 32, 36, 39], "tr_d": [5, 7, 9, 13, 18], "mnistcolor10": [5, 9, 13], "epo": [5, 6, 7, 9, 10, 13, 36, 39], "500": 5, "bs": [5, 7, 9, 10, 13, 18, 19, 35, 39], "16": [5, 9], "conv_bn_pool_2": [5, 9, 13, 18, 19], "1e": 5, "seed": [5, 6, 9, 32, 33, 36, 39], "san_check": [5, 7, 13], "san_num": [5, 13], "nname_dom": [5, 9, 12, 13, 19], "1e5": [5, 9, 13, 18, 19, 33], "gamma_d": [5, 9, 12, 13, 18, 19, 34, 39], "earli": [5, 7, 9, 22], "stop": [5, 7, 9, 22, 23], "criterion": 5, "summar": 5, "tabl": 5, "acc": [5, 6, 22, 34, 36], "precis": [5, 6, 36], "recal": [5, 6, 36], "f1": [5, 6, 36], "auroc": [5, 6, 36], "798": 5, "858": 5, "800": 5, "978": 5, "797": 5, "832": 5, "959": 5, "961": 5, "958": 5, "995": 5, "999": 5, "program": 5, "descript": [5, 36], "contain": [5, 6, 8, 12, 17, 18, 31, 32, 35, 36, 39], "about": [5, 9, 36], "save": [5, 6, 9, 19, 22, 27, 32, 34, 35, 36], "transform": [5, 18, 31, 35, 39], "should": [5, 7, 18, 22, 23, 24, 26, 27, 28, 30, 32, 33, 34, 36], "found": [5, 6, 7, 10, 18, 20, 36], "doc_task": 5, "md": [5, 6], "valu": [5, 6, 7, 9, 18, 24, 27, 30, 34, 35, 36], "suffici": [5, 39], "termin": 5, "full": [5, 36], "converg": 5, "t0": 5, "basi": [5, 19], "alreadi": [5, 9, 18, 31], "implement": [5, 10, 18, 21, 28, 29, 30, 31, 35, 36, 37, 39], "nn": [5, 20, 25, 26], "sequenti": [5, 27], "conv2d": [5, 27], "in_channel": 5, "num_of_input_channel": 5, "out_channel": 5, "32": [5, 6, 9, 16, 18, 31], "kernel_s": [5, 27], "stride": [5, 27], "bia": [5, 27], "fals": [5, 7, 10, 20, 22, 23, 24, 26, 27, 28, 29, 31, 33, 35, 36], "batchnorm2d": 5, "num_featur": 5, "relu": [5, 27, 30], "maxpool2d": [5, 27], "64": [5, 9, 27], "give": [5, 18], "plot": [5, 31, 33, 36, 39], "check": [5, 19, 22, 24, 28, 31, 32, 34, 36], "document": [6, 7, 18, 20, 39], "markdown": 6, "offer": [6, 7, 18, 39], "abil": 6, "against": [6, 36], "collect": [6, 24], "prepar": [6, 12, 18], "chart": 6, "aspect": 6, "stochast": [6, 33, 36], "variat": [6, 33, 34, 36, 37], "sensit": 6, "choic": 6, "investig": 6, "reli": 6, "snakemak": [6, 33], "pulp": 6, "due": [6, 24], "upgrd": 6, "unstabl": 6, "recom": 6, "pip": [6, 15, 20, 39], "current": [6, 7, 9, 17, 21, 24, 27, 30, 33, 34, 35, 36], "datri": 6, "One": [6, 9, 34, 39], "howev": [6, 12], "mamba": 6, "bioconda": 6, "conda": [6, 15], "forg": 6, "work": [6, 9, 17, 26, 28, 29, 32, 39], "configur": [6, 15, 17, 19, 29, 32, 35, 36, 39], "yaml": [6, 19, 33, 36, 39], "doc_benchmark_yaml": 6, "execut": [6, 9, 32, 35, 36], "script": [6, 14], "repositori": [6, 8, 10, 15, 18, 19], "run_benchmark_standalon": 6, "sh": [6, 39], "run_benchmark_slurm": [6, 39], "insid": [6, 7, 17, 24, 39], "assum": [6, 18, 25, 31, 35], "core": 6, "ha": [6, 10, 18, 25, 27, 28, 29, 31, 34, 36, 39], "been": 6, "linux": 6, "system": 6, "demo_benchmark": 6, "mandatori": [6, 7], "third": 6, "cuda": [6, 32], "option": [6, 7, 9, 33, 34, 35, 36], "fourth": 6, "default": [6, 7, 9, 17, 34, 35], "your": [6, 9], "last": [6, 21, 22, 27, 30, 36], "cpu": [6, 34], "rm": 6, "If": [6, 7, 9, 27, 36], "access": 6, "support": [6, 7, 12], "submiss": 6, "clone": [6, 15, 19], "cd": 6, "sure": [6, 28], "tool": [6, 9, 20], "nohup": 6, "tmux": 6, "keep": [6, 34], "activ": [6, 15, 27], "good": 6, "idea": 6, "submit": 6, "pytorch": [6, 17, 18, 21, 27, 30, 31, 32, 33, 34, 35], "help": [6, 19], "out": [6, 12, 18, 22, 27, 33, 35, 37], "fail": [6, 28, 39], "messag": [6, 28], "direct": [6, 24, 27], "bash": [6, 39], "sh_list_error": 6, "zoutput": [6, 9, 17, 31], "slurm_log": 6, "suppos": [6, 15, 18, 19, 29], "14144163": 6, "grep": 6, "run_experi": [6, 14, 20, 38], "41": 6, "err": 6, "name": [6, 7, 9, 15, 18, 19, 21, 24, 26, 28, 29, 31, 32, 34, 35, 36, 39], "directori": [6, 7, 8, 9, 15, 17, 18, 19, 31, 33, 35], "translat": 6, "config": [6, 19, 29, 33, 36], "txt": [6, 15, 17], "commit": [6, 17, 32], "format": [6, 31, 36], "reproduc": [6, 7, 32], "line": [6, 17, 18, 20, 26, 28, 32, 33, 35, 36], "rule_result": 6, "tree": 6, "get": [6, 18, 20, 21, 22, 24, 26, 30, 32, 34, 35, 36], "someth": [6, 17, 18], "diva_fbopt_ful": 6, "radar_dist": 6, "png": [6, 35], "radar": 6, "scatterpl": 6, "sp_matrix_dist": 6, "sp_matrix_dist_reg": 6, "sp_matrix": 6, "sp_matrix_reg": 6, "variational_plot": 6, "json": 6, "visual": 6, "variou": [6, 18, 39], "specificli": 6, "stochastic_vari": 6, "aggreg": [6, 17, 20, 32, 33, 34, 36], "chang": [6, 8, 15, 19, 24, 27, 28, 29, 32, 34, 36, 41], "anyth": [6, 36], "moreov": 6, "subdirectori": 6, "interpret": 6, "entir": 6, "complet": [6, 17], "yet": [6, 36], "some": [6, 9, 12, 18, 19, 24, 26, 28, 29], "brokenpip": 6, "multiprocess": 6, "pil": 6, "read": [6, 32], "agg_partial_bm": 6, "output_dir": [6, 7, 9, 36], "cat": 6, "clean": [6, 23], "extra": [6, 17, 24, 27, 34, 39], "head": 6, "might": [6, 9, 17, 18, 26, 28, 33], "manual": [6, 32], "must": [6, 7, 9, 27, 34, 35, 36], "gen_plot": [6, 36], "csv_file": 6, "outp_dir": 6, "cv": 6, "fulli": [6, 12, 26, 27], "param_index": [6, 33, 36], "algo": [6, 14, 20, 36, 38], "param": [6, 7, 9, 20, 21, 24, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36], "param1": 6, "p1": [6, 36], "p2": [6, 36], "incorrect": 7, "next": [7, 9, 21], "section": [7, 9], "share": [7, 25, 29, 34, 36, 39], "list": [7, 9, 18, 20, 24, 29, 31, 33, 34, 35, 36, 41], "trainer": [7, 9, 14, 20, 21, 22, 23, 34, 35, 37, 39], "dial": [7, 9, 37, 39], "mldg": [7, 9, 13, 37, 39], "declar": 7, "domainlab_arg": [7, 9], "tpath": [7, 9, 13, 18, 19, 39], "address": [7, 12], "int": [7, 9, 20, 30, 33, 34, 35, 36], "float": [7, 9, 34, 36], "es": [7, 9], "dmem": 7, "startse": [7, 9, 33], "endse": [7, 9, 33], "mode": [7, 9, 18, 19, 24, 27], "search": [7, 9, 37], "num_shared_param_sampl": [7, 9], "sampling_se": [7, 9, 36], "outsid": 7, "num_param_sampl": [7, 9], "multipl": [7, 9, 28, 39], "apart": 7, "real": [7, 24, 26, 28, 29], "num": [7, 9, 36], "ly": 7, "demo_hyperparameter_sampl": 7, "yml": 7, "categor": [7, 9, 36], "valid": [7, 18, 22, 23, 31, 35], "datatyp": [7, 9, 36], "uniform": [7, 36], "loguniform": [7, 36], "normal": [7, 18, 30, 31, 36], "std": [7, 9, 36], "deviat": [7, 9], "geq": 7, "lognorm": [7, 36], "lower": [7, 37], "bound": [7, 37], "upper": 7, "reject": 7, "prevent": 7, "contradictori": 7, "amongst": 7, "concret": [7, 9, 20, 28, 29, 34], "abort": 7, "000": 7, "row": [7, 31, 33, 36], "equal": 7, "p4": 7, "task1": 7, "demo_hypeparameter_sampl": 7, "referenc": [7, 36], "undefin": 7, "behaviour": [7, 36], "diretori": 8, "avoid": [8, 26, 28, 29, 35], "alwai": [8, 12, 26, 28, 29, 32, 35, 36], "discourag": 8, "symbol": 8, "link": 8, "power": [9, 39], "own": [9, 18], "gridsearch": [9, 36], "veri": 9, "fix": [9, 35, 36], "top": 9, "decid": [9, 23], "whether": [9, 23, 27], "switch": 9, "sould": 9, "when": [9, 28, 35, 36], "rang": [9, 31], "mnist_benchmark": 9, "test_domain": [9, 20, 33], "exactli": [9, 25], "per": [9, 24], "run": [9, 17, 19, 20, 27, 33, 36, 39], "happen": [9, 24], "though": [9, 27], "were": [9, 27], "pass": [9, 24, 27, 36], "take": [9, 27, 29, 30], "preced": 9, "pac": [9, 39], "task_pacs_path_list": 9, "001": 9, "50": 9, "iter": [9, 35], "resnet50": 9, "net": [9, 10, 18, 21, 34, 39], "resnet50domainb": 9, "npath_": 9, "pick": 9, "crash": 9, "add": [9, 26, 35, 36], "uniqu": [9, 18, 35, 39], "task_diva_di": 9, "skip": [9, 36], "diva": [9, 18, 19, 21, 26, 34, 37, 39], "adam": 9, "constraint": [9, 24, 36], "theire": 9, "express": 9, "task_jigen": 9, "task_dann": 9, "There": 9, "wai": [9, 18, 32, 39], "rand": 9, "decis": [9, 39], "previou": 9, "either": [9, 24, 27, 29, 35], "fill": [9, 36], "interv": 9, "01": 9, "useful": 9, "span": 9, "magnitud": 9, "1e4": 9, "1e6": 9, "2e4": 9, "predefin": 9, "30": 9, "31": [9, 34], "100": [9, 13, 31], "taken": 9, "formular": 9, "evalu": [9, 23, 33, 34, 35, 39], "round": [9, 36], "integ": [9, 36], "mention": 9, "othervis": 9, "thei": [9, 27, 36], "96": 9, "dimes": 9, "thep": 9, "subgrid": 9, "84": 9, "80": 9, "sort": 9, "task_nam": [9, 35, 36], "hyperparamt": [9, 36], "standalon": 9, "No": [9, 16], "indic": [9, 18], "signatur": [10, 18], "def": [10, 18, 36], "build_feat_extract_net": 10, "dim_i": [10, 25, 27, 34, 35, 36], "remove_last_lay": [10, 26, 36], "ignor": [10, 20, 27, 31], "fair": [10, 27], "benchmark": [10, 14, 33, 36], "comparison": [10, 27], "resnet": [10, 13, 18, 39], "folder": [10, 17, 18, 31, 35, 36], "github": [10, 30, 31, 34, 39, 40], "com": [10, 30, 31, 34, 40], "marrlab": [10, 34, 39], "blob": [10, 30, 31, 34], "master": [10, 30, 31, 34], "caltech": [10, 13, 19, 39], "mini_vlc": [10, 13], "debug": [10, 13, 18, 19], "public": 11, "ganin": [11, 34], "yaroslav": [11, 34], "journal": [11, 34], "research": [11, 34], "17": [11, 34], "2016": [11, 34], "2096": [11, 34], "2030": [11, 34], "independ": [12, 30, 34], "encod": [12, 26, 27, 29, 34, 37], "store": [12, 18, 27, 36], "obtain": 12, "margin": 12, "densiti": 12, "These": 12, "parameter": 12, "learnabl": 12, "singl": [12, 31, 33, 39], "decod": [12, 29, 30, 34], "reconstruct": [12, 29, 34], "overal": [12, 34, 37], "larg": 12, "improv": 12, "accuraci": 12, "semi": 12, "turn": 12, "notabl": 12, "better": [12, 35], "close": 12, "setup": [12, 15, 36], "allow": [12, 18, 31, 35], "unsupervis": [12, 34, 37], "clear": [12, 24], "decreas": 12, "multipli": [12, 34, 39], "alpha_i": 12, "eq": 12, "alpha_d": 12, "npath_dom": [12, 13, 18, 39], "1905": 12, "10427": 12, "medic": [12, 34], "deep": [12, 34], "2020": [12, 34], "keep_model": [13, 17], "10e5": 13, "7e5": [13, 18, 19], "alexnet": [13, 19, 27], "gen": [13, 17, 36], "sketch": [13, 18], "demo_task_path_list_smal": [13, 18], "task_vlc": [13, 19, 39], "apath": [13, 21], "demo_custom_model": 13, "nname_argna2v": 13, "my_custom_arg_nam": 13, "npath_argna2v": 13, "a_algo_build": [14, 20, 38], "builder_api_model": [14, 20, 38], "builder_custom": [14, 20, 38], "builder_dann": [14, 20, 38], "builder_diva": [14, 20, 38], "builder_erm": [14, 20, 38], "builder_hduva": [14, 20, 38], "builder_jigen1": [14, 20, 38], "__init__": [14, 28], "msel": [14, 20, 21], "util": [14, 20, 31, 35, 38, 39], "zoo_algo": [14, 20, 38], "arg_pars": [14, 37, 38], "cli": [14, 37, 38], "compo": [14, 20, 21, 24, 34, 38], "a_nn_build": [14, 20, 38], "builder_nn_alex": [14, 20, 38], "builder_nn_conv_bn_relu_2": [14, 20, 38], "builder_nn_external_from_fil": [14, 20, 38], "nn_zoo": [14, 20, 26], "pcr": [14, 20, 26], "utils_conv_get_flat_dim": [14, 20, 38], "zoo_nn": [14, 20, 38], "dset": [14, 20, 35, 38], "a_dset_mnist_color_rgb_solo": [14, 20, 38], "dset_img_path_list": [14, 20, 38], "dset_mnist_color_solo_default": [14, 20, 38], "dset_poly_domains_mnist_color_default": [14, 20, 38], "dset_subfold": [14, 20, 38], "utils_color_palett": [14, 20, 38], "utils_data": [14, 20, 38], "utils_wrapdset_patch": [14, 20, 38], "exp_cuda_se": [14, 20, 38], "exp_main": [14, 20, 38], "exp_util": [14, 20, 38], "exp_protocol": [14, 20, 38], "aggregate_result": [14, 20, 38], "smk": 14, "mk_exp": [14, 37, 38], "a_model_classif": [14, 20, 38], "a_model": [14, 20, 38], "args_jigen": [14, 20, 38], "args_va": [14, 20, 38], "interface_vae_xyd": [14, 20, 38], "model_custom": [14, 20, 38], "model_dann": [14, 20, 38], "model_diva": [14, 20, 38], "model_erm": [14, 20, 38], "model_hduva": [14, 20, 38], "model_jigen": [14, 20, 38], "model_vae_xyd_classif": [14, 20, 38], "a_task_classif": [14, 20, 38], "a_task": [14, 20, 38], "b_task_classif": [14, 20, 38], "b_task": [14, 20, 38], "task_dset": [14, 20, 38], "task_folder_mk": [14, 20, 38], "task_fold": [14, 20, 38], "task_mini_vlc": [14, 20, 38], "task_mnist_color": [14, 20, 38], "task_pathlist": [14, 20, 38], "task_util": [14, 20, 38], "utils_task_dset": [14, 20, 38], "utils_task": [14, 20, 38], "zoo_task": [14, 20, 38], "flows_gen_img_model": [14, 20, 38], "generate_benchmark_plot": [14, 20, 38], "get_git_tag": [14, 20, 38], "hyperparameter_gridsearch": [14, 20, 38], "hyperparameter_sampl": [14, 20, 38], "logger": [14, 20, 38], "override_interfac": [14, 20, 38], "perf_metr": [14, 20, 38], "perf": [14, 20, 38], "sanity_check": [14, 20, 38], "test_img": [14, 20, 38], "u_import_net_modul": [14, 20, 38], "u_import": [14, 20, 38], "utils_classif": [14, 20, 38], "utils_class": [14, 20, 38], "utils_cuda": [14, 20, 38], "utils_img_sav": [14, 20, 38], "zdata": 14, "mixed_codec": 14, "pacs_mini_10": 14, "pacs_split": 14, "patches_permutation4jigsaw": 14, "vlcs_mini": [14, 19], "ztest_fil": 14, "domainlab_py39": 15, "poetri": 15, "pyproject": 15, "toml": 15, "li": 16, "da": 16, "aaai": 16, "artifici": 16, "intellig": 16, "vol": 16, "2018": 16, "alter": 17, "comment": [17, 18], "aggrst": [17, 32], "task1_test_domain1_tagnam": 17, "csv": [17, 33, 36], "task2_test_domain3_tagnam": 17, "counterfactu": [17, 29], "task1_test_domain1": 17, "saved_model": [17, 32], "persist": [17, 23, 32, 34, 36], "task1_algo1_git": 17, "hashtag1_seed_1_instance_wise_predict": 17, "hashtag1_seed_1": 17, "sever": [17, 29, 31, 33, 39], "ident": [17, 27, 33, 35], "append": [17, 24, 35, 39], "conveni": 17, "upon": [17, 24, 30, 31], "disk": [17, 23, 32, 34, 35], "delet": [17, 27], "accord": [18, 29, 36], "thress": 18, "cover": [18, 33], "feed": [18, 30], "inlin": 18, "what": 18, "straightforward": 18, "dictionari": [18, 21, 25, 29, 33, 34, 35, 36], "emper": [18, 34], "domain1": [18, 35], "domain2": 18, "domain3": 18, "task_dset_custom": 18, "batchsiz": [18, 20, 26, 31], "nicknam": 18, "root": [18, 31, 35], "locat": [18, 30], "plain": 18, "subfold": [18, 31], "car": 18, "dog": 18, "human": 18, "chair": 18, "bird": 18, "folder_a": 18, "folder_b": 18, "folder_c": 18, "sub": [18, 28, 35], "3rd_domain": 18, "3rd": 18, "1st": 18, "hund": 18, "2nd": 18, "huski": 18, "2nd_domain": 18, "1st_domain": 18, "auto": [18, 34, 37], "mensch": 18, "stuhl": 18, "vogel": 18, "drive": 18, "sit": 18, "fly": 18, "sapien": 18, "sofa": 18, "vehicl": 18, "expect": [18, 36], "separ": [18, 29, 30], "get_task": [18, 35], "na": 18, "none": [18, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "import": [18, 20, 35, 36], "os": 18, "torchvis": [18, 26, 27, 31, 35, 36], "mk_task_fold": [18, 35], "imsiz": [18, 35], "trans_tr": 18, "compos": 18, "resiz": [18, 31], "224": [18, 35], "randomresizedcrop": 18, "scale": [18, 27, 30, 36], "randomhorizontalflip": 18, "colorjitt": 18, "randomgrayscal": 18, "totensor": 18, "485": 18, "456": 18, "406": 18, "229": 18, "225": 18, "trans_t": 18, "chain": [18, 21, 24, 26, 28, 29, 35], "extens": [18, 31, 35], "jpg": [18, 35], "list_str_i": [18, 34, 35], "dict_domain_folder_name2class": [18, 35], "dict_domain_img_tran": [18, 35], "img_trans_t": [18, 35], "isiz": [18, 27, 30, 35], "dict_domain2imgroot": [18, 35], "join": [18, 33], "taskna": [18, 35], "task_demo": 18, "call": [18, 23, 27, 28, 30, 32, 34, 36], "return": [18, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 34, 35, 36], "print": [18, 27, 35], "__doc__": 18, "matter": [18, 35], "carri": [18, 35], "composit": [18, 35], "knowledg": [18, 35], "channel": [18, 24, 27, 35], "height": [18, 27, 35], "width": [18, 27, 35], "absolut": [18, 35], "toi": 19, "subsampl": [19, 36], "vlc": 19, "readi": 19, "invari": [19, 24, 34, 37], "demo_config_single_run_diva": 19, "index": [19, 24, 31, 32, 33, 34, 35, 36, 37, 39, 41], "verbos": 19, "restrain": 19, "prefix": [19, 24, 36], "plugin": 19, "architectur": [19, 36], "contibut": 19, "a_model_sel": [20, 21], "c_msel_oracl": [20, 21], "c_msel_tr_loss": [20, 21], "c_msel_val": [20, 21], "a_observ": [20, 21], "b_obvisitor": [20, 21], "c_obvisitor_cleanup": [20, 21], "c_obvisitor_gen": [20, 21], "a_train": [20, 21], "args_dial": [20, 21], "hyper_schedul": [20, 21], "train_bas": [20, 21], "train_dial": [20, 21], "train_hyper_schedul": [20, 21], "train_matchdg": [20, 21], "train_mldg": [20, 21], "zoo_train": [20, 21], "net_adversari": [20, 26], "net_classif": [20, 26], "net_conv_conv_bn_pool_2": [20, 26], "net_gat": [20, 26], "nn_alex": [20, 26], "nn_torchvis": [20, 26], "p_chain_handl": [20, 26], "request": [20, 21, 24, 26, 29, 34, 35, 36], "a_model_build": [20, 26], "a_vae_build": [20, 26], "c_vae_adaptor_model_recon": [20, 26], "c_vae_builder_classif": [20, 26], "c_vae_recon": [20, 26], "utils_request_chain_build": [20, 26, 34], "zoo_vae_builders_classif": [20, 26], "zoo_vae_builders_classif_top": [20, 26], "apply_dict_to_arg": 20, "dict": [20, 25, 33, 36], "tri": [20, 36], "silent": [20, 27], "long": 20, "mk_parser_main": 20, "parse_cmd_arg": 20, "interfac": [20, 23, 28, 30, 34, 35, 36], "domainlab_cli": 20, "instal": 20, "str": [20, 31, 33, 35, 36], "nocu": 20, "mk_task_dset": [20, 35], "explan": 20, "nameofmodel": 20, "mk_": 20, "model_": 20, "string": [20, 21, 23, 24, 26, 28, 29, 31, 34, 35, 36], "global": 20, "whole": [20, 28], "g_list_model_penalized_reg_agg": 20, "list_penalized_reg": 20, "diminish": 20, "matchdg_arg": [21, 24], "matchdg_match": [21, 24], "matchdg_util": [21, 24], "parent": [21, 24, 28, 30, 34, 35], "comb": 21, "nodealgobuild": 21, "success_nod": [21, 28, 29], "abstractchainnodehandl": [21, 24, 26, 28, 29, 35], "builder": [21, 26, 29], "next_model": 21, "attribut": [21, 27, 29, 32, 36], "abstract": [21, 22, 23, 24, 28, 29, 31, 34, 35], "init_busi": [21, 24, 26, 28, 29, 35], "init_next_model": 21, "initi": [21, 24, 26, 28, 29, 33, 34, 36], "decor": [21, 23, 24, 31, 32, 34, 35, 36, 39], "is_myjob": [21, 24, 26, 28, 29, 35], "na_prefix": 21, "properti": [21, 22, 23, 24, 31, 34, 35, 36], "api": [21, 24], "backbon": 21, "nodealgobuilderapimodel": 21, "make_basic_train": 21, "class_name_model": 21, "adversari": [21, 24, 34, 37], "accept": [21, 22, 23, 27, 28, 36], "scheme": 21, "nodealgobuilderdann": 21, "reset_aux_net": [21, 34], "net_encod": [21, 34], "reset": [21, 22, 23, 24, 34], "auxilliari": [21, 39], "extract_semantic_feat": [21, 34], "compon": [21, 27, 34, 39], "nodealgobuilderdiva": 21, "get_train": 21, "respons": [21, 23, 24, 26, 28, 29, 35], "fetch": [21, 27, 30, 31], "nodealgobuildererm": 21, "hduva": [21, 34, 37], "cmd": 21, "nodealgobuilderhduva": 21, "jigen": [21, 24, 31, 34, 37, 39], "nodealgobuilderjigen": 21, "split_net_feat_last": 21, "algobuilderchainnodegett": 21, "hardcod": [21, 26, 29, 35], "register_external_nod": 21, "extern": [21, 36], "amsel": 22, "tr_ob": 22, "visitor": [22, 23, 32, 34], "tr_observ": 22, "best_te_metr": 22, "decorate": [22, 24, 34], "best": 22, "metric": [22, 23, 24, 34, 36], "best_val_acc": 22, "val": [22, 25, 36], "if_stop": 22, "boolean": [22, 27], "max_": 22, "maximum": [22, 34, 36], "selector": [22, 23], "sel_model_te_acc": 22, "accuaraci": 22, "clear_count": 22, "decoupl": [22, 28, 29, 39], "mseloraclevisitor": 22, "oracl": [22, 23], "interven": 22, "innermost": 22, "oracle_last_setpoint_sel_te_acc": 22, "setpoint": 22, "mseltrloss": 22, "mselvalperf": 22, "aobvisitor": 23, "invit": 23, "after_al": 23, "clean_up": [23, 32], "set_task": 23, "devic": [23, 24, 29, 30, 34, 36], "coupl": [23, 28, 29, 32], "bool": [23, 27, 30, 31, 33, 34, 36], "dispatch": [23, 35], "obvisitor": 23, "model_sel": 23, "cal_oracle_perf": 23, "calcul": [23, 30, 34], "dump_predict": 23, "model_ld": 23, "metric_t": [23, 34], "loader": [23, 24, 31, 34, 35, 36], "load": [23, 24, 32, 33, 34, 35, 36], "str_metric4msel": [23, 24], "obvisitorcleanup": 23, "els": [23, 36], "obvisitorgen": 23, "abstracttrain": 24, "successor_nod": [24, 26, 29], "director": 24, "control": 24, "flow": [24, 35, 39], "after_batch": 24, "ind_batch": 24, "before_batch": 24, "before_tr": 24, "probe": 24, "cal_reg_loss": [24, 34], "tensor_x": [24, 27, 34], "tensor_i": [24, 34], "tensor_d": [24, 34], "self": [24, 27, 28, 35, 36], "_model": 24, "dset_decoration_args_algo": [24, 34], "ddset": [24, 34], "entri": [24, 34], "item": [24, 31, 34], "deleg": [24, 27, 34], "get_model": 24, "recurs": [24, 36], "aconf": 24, "flag_accept": 24, "list_tr_domain_s": [24, 25], "p_na_prefix": 24, "post_tr": 24, "state": [24, 39], "tr_epoch": 24, "mk_opt": 24, "parmaet": 24, "add_args2parser_di": 24, "parser": [24, 25, 34, 40], "argpars": 24, "hyperschedulerwarmupexponenti": 24, "kwarg": [24, 27, 28, 29, 34], "hyperschedulerwarmuplinear": 24, "hyperschedul": 24, "exponenti": 24, "warmup": [24, 37], "par_setpoint": 24, "par": 24, "ramp": 24, "steadi": 24, "total_step": 24, "set_step": 24, "gradual": 24, "basic": [24, 35], "trainerbas": 24, "after_epoch": 24, "before_epoch": 24, "member": [24, 28], "cal_loss": [24, 34], "log_loss": 24, "list_b_reg_loss": 24, "loss_task": 24, "just": [24, 27], "epo_reg_loss_tr": 24, "tr_batch": 24, "mini": [24, 34], "list_divid": 24, "list_val": 24, "scalar": [24, 36], "trainerdi": 24, "gen_adversari": 24, "img_natur": 24, "vec_i": [24, 29, 34, 36], "naiv": 24, "trim": 24, "img": [24, 30, 31, 36], "gradient": [24, 27, 37], "necessarili": 24, "nonlinear": 24, "hoc": 24, "trainerhyperschedul": 24, "num_batch": 24, "set_schedul": 24, "schedul": 24, "flag_update_epoch": 24, "flag_update_batch": 24, "strategi": 24, "wheter": 24, "matchdg": [24, 25, 37], "trainermatchdg": 24, "overrid": [24, 26, 28, 29, 36], "flag_erm": 24, "mk_match_tensor": 24, "match": [24, 25, 35, 37], "batch_idx": 24, "x_e": 24, "y_e": 24, "d_e": 24, "match_tensor_reshap": 24, "batch_tensor_ref_domain2each": 24, "dimens": [24, 25, 26, 27, 29, 34, 35, 36], "ref_domain": 24, "img_h": 24, "img_w": 24, "easier": 24, "accomod": 24, "meta": [24, 37], "trainermldg": 24, "prepare_ziped_load": 24, "virtual": [24, 39], "trainerchainnodegett": 24, "str_trainer": 24, "xxx": 24, "add_args2parser_matchdg": 25, "matchpair": 25, "i_c": [25, 26, 28, 30, 35], "i_h": [25, 26, 28, 30, 35, 36], "i_w": [25, 26, 28, 30, 35], "bs_match": 25, "virtual_ref_dset_s": 25, "num_domains_tr": 25, "matchdictinit": 25, "creator": 25, "get_num_row": 25, "matchdictnumdomain2sizedomain": 25, "kth": 25, "size_domain_k": 25, "matchdictvirtualrefdset2eachdomain": 25, "dist_cosine_agg": 25, "x1": 25, "x2": 25, "torch": [25, 32], "cosinesimilar": 25, "dist_pairwise_cosin": 25, "necesarilli": 25, "shape": [25, 34], "cartesian": [25, 36], "product": [25, 34, 36], "pairwis": 25, "fun_tensor_norm": 25, "tensor_batch_x": 25, "get_base_domain_size4match_dg": 25, "nomin": [25, 31], "decoder_concat_vec_reshape_conv": [26, 29], "decoder_concat_vec_reshape_conv_gated_conv": [26, 29], "decoder_cond_prior": [26, 29], "decoder_loss": [26, 29], "encoder_dirichlet": [26, 29], "encoder_domain_top": [26, 29], "encoder_domain_topic_img2top": [26, 29], "encoder_domain_topic_img_topic2zd": [26, 29], "encoder_xyd_parallel": [26, 29], "encoder_xydt_elev": [26, 29], "encoder_zi": [26, 29], "integr": [26, 29], "abstractfeatextractnnbuilderchainnod": 26, "heavi": [26, 28, 29], "busi": [26, 28, 29], "light": [26, 28, 29], "dim_out": 26, "flag_pretrain": [26, 27, 30], "job": [26, 28, 29, 33], "subclass": [26, 27, 28, 29, 34], "servic": [26, 28, 29], "args_nnam": 26, "mknodefeatextractnnbuildernamealex": 26, "arg_name4net": 26, "arg_val": 26, "mknodefeatextractnnbuildernameconvbnrelu2": 26, "conv_strid": [26, 27, 30], "reus": [26, 29, 39], "famili": [26, 34], "regist": [26, 27], "28": 26, "mknodefeatextractnnbuilderexternfromfil": 26, "arg_name_net_path": 26, "get_flat_dim": 26, "i_channel": [26, 27, 30], "flat": 26, "connect": [26, 27, 30], "featextractnnbuilderchainnodegett": 26, "arg_name_of_net": 26, "arg_path_of_net": 26, "autogradfunmultipli": 27, "static": [27, 34, 35, 36, 39], "backward": 27, "ctx": 27, "grad_output": 27, "formula": 27, "differenti": 27, "oper": [27, 28, 34, 35], "automat": 27, "alia": 27, "vjp": 27, "overridden": 27, "context": 27, "forward": [27, 30, 34, 35], "non": 27, "w": [27, 35], "grad": 27, "retriev": 27, "needs_input_grad": 27, "tupl": [27, 31, 33, 35, 36], "type": [27, 34, 35], "arbitrari": [27, 34], "compat": [27, 34], "save_for_backward": 27, "intend": 27, "equival": 27, "save_for_forward": 27, "jvp": 27, "autogradfunreversemultipli": 27, "doc": [27, 32], "stabl": [27, 31, 32], "autograd": 27, "html": [27, 31, 32], "flatten": [27, 34], "although": 27, "recip": 27, "afterward": [27, 36], "former": 27, "care": 27, "hook": 27, "latter": 27, "classifdropoutrelulinear": 27, "z_dim": [27, 30], "target_dim": [27, 36], "dropout": 27, "linearli": 27, "z_vec": 27, "netconvbnrelupool2l": 27, "dim_out_h": 27, "netconvdens": 27, "dense_lay": 27, "until": 27, "replac": [27, 36], "mk_conv_bn_relu_pool": 27, "max_pool_strid": 27, "norm": 27, "maxpool_2d": 27, "input_channel": 27, "output_channel": 27, "pad": 27, "dilat": 27, "gatedconv2d": 27, "gateddens": 27, "input_s": 27, "output_s": 27, "densenet": [27, 30], "input_flat_s": 27, "out_hidden_s": 27, "1024": 27, "last_feat_dim": 27, "4096": 27, "p_dropout": 27, "linear": 27, "layerid": 27, "alex4deepal": 27, "alexnetbas": 27, "nettorchvisionbas": 27, "11": 27, "inplac": 27, "ceil_mod": 27, "192": 27, "384": 27, "256": [27, 30], "12": 27, "avgpool": 27, "adaptiveavgpool2d": 27, "p": [27, 29, 30, 34], "in_featur": 27, "9216": 27, "out_featur": 27, "fetch_net": 27, "alexnetnolastlay": 27, "depth": 27, "net_torchvis": 27, "successfulli": 28, "design": [28, 39], "constructor": [28, 29, 30, 32, 34], "handler": 28, "inherit": [28, 32, 34, 36], "factori": [28, 36], "redund": [28, 29], "safest": 28, "solut": 28, "karg": [28, 29], "chainnod": 28, "onc": 28, "break": [28, 32], "init": [28, 34], "handl": [28, 31, 39], "invok": 28, "print_opt": 28, "set_par": 28, "dummybusi": 28, "dummi": 28, "dummychainnodehandlerbeav": 28, "dummychainnodehandlerlazi": 28, "request4chain": 28, "field": 28, "safeti": 28, "convert": [28, 29, 33, 34, 35], "obj": [28, 36], "pre": [28, 32], "behavior": 28, "requestargs2expcmd": 28, "isol": [28, 36], "requesttask": 28, "requestvaebuilderchw": 28, "requestvaebuildernn": 28, "net_class_d": [28, 30], "net_x": [28, 30], "net_class_i": [28, 30], "test_exp": 28, "patter": 29, "abstractmodelbuilderchainnod": 29, "child": [29, 35, 36], "abstractvaebuilderchainnod": 29, "build_decod": 29, "build_encod": 29, "adaptor": 29, "intens": [29, 30], "refactor": 29, "old": 29, "adaptorreconvaexyd": 29, "cal_lat": 29, "won": 29, "retrain": 29, "cal_prior_zd": 29, "vec_d": [29, 36], "cal_prior_zi": 29, "recon_ydx": 29, "zy": [29, 30], "zd": [29, 30], "zx": [29, 30], "concatn": 29, "plai": 29, "vital": 29, "role": 29, "chainnodevaebuilderclassifcondprior": 29, "bridg": [29, 30], "construct_classifi": 29, "input_dim": 29, "output_dim": 29, "construct_cond_prior": 29, "reconvaexyd": 29, "na_adaptor": 29, "recon": 29, "sample_p_zi": 29, "sample_p_zd": 29, "scalar_zx2fil": 29, "recon_cf": 29, "na_cf": 29, "dim_cf": 29, "zx2fill": 29, "countefactu": 29, "factor": [29, 39], "vaechainnodegett": [29, 34], "scenario": [29, 39], "vabuild": 29, "chainnodevaebuilderclassifcondpriorbas": 29, "ae": 29, "config_img": 29, "flag": 29, "nodevaebuilderarg": 29, "commandlin": [29, 33, 34], "nodevaebuilderimgalex": 29, "nodevaebuilderimgconvbnpool": 29, "nodevaebuilderus": 29, "test_mk_exp": 29, "nodevaebuilderimgtop": 29, "concaten": 30, "decoderconcatlatentfcreshapeconv": 30, "cls_fun_nll_p_x": 30, "net_fc_z2flat_img": 30, "net_conv": 30, "net_p_x_mean": 30, "net_p_x_log_var": 30, "vector": [30, 34, 35, 36], "re": [30, 31, 35], "arrang": 30, "textur": 30, "cal_p_x_pars_loc_scal": 30, "vec_z": 30, "z": 30, "concat_ydx": 30, "concat_ytdx": 30, "decoderconcatlatentfcreshapeconvgatedconv": 30, "lscondpriorlinearbnrelulinearsoftplu": 30, "hyper_prior_dim": 30, "hidden_dim": 30, "hyper_prior": 30, "nllpixellogistic256": 30, "reduce_dim": 30, "bin_siz": 30, "00390625": 30, "neg": 30, "divid": 30, "bin": 30, "x_": 30, "openai": 30, "iaf": 30, "tf_util": 30, "l29": 30, "softplu": 30, "lsencoderconvbnrelupool": 30, "pool": [30, 34], "lsencoderlinear": 30, "dim_input": 30, "encoderh2dirichlet": 30, "dim_top": 30, "encoderimg2topicdirzd": 30, "num_top": 30, "encoderimg2topicdistri": 30, "encodersandwichtopicimg2zd": 30, "img_h_dim": 30, "sandwich": 30, "vec_top": 30, "xydencoderparallel": 30, "net_infer_zd": 30, "net_infer_zx": 30, "net_infer_zi": 30, "q_zd": 30, "zd_q": 30, "q_zx": 30, "zx_q": 30, "q_zy": 30, "zy_q": 30, "infer_zy_loc": 30, "xydencoderparallelalex": 30, "reimplement": 30, "contructor": 30, "xydencoderparallelconvbnrelupool": 30, "xydencoderparallelextern": 30, "xydencoderparallelus": 30, "xydtencoderarg": 30, "xydtencoderelev": 30, "net_infer_zd_top": 30, "encoderconnectlastfeatlayer2z": 30, "arg_nam": 30, "arg_path_nam": 30, "transpar": 30, "color": [31, 35], "mnist": [31, 35], "adsetmnistcolorrgbsolo": 31, "ind_color": 31, "subset_step": 31, "color_schem": 31, "label_transform": 31, "mk_fun_label2onehot": 31, "fun_label2onehot": 31, "list_transform": 31, "raw_split": 31, "flag_rand_color": 31, "palett": [31, 35], "spectrum": 31, "subdomain": 31, "foreground": 31, "get_background_color": 31, "ind": [31, 35], "get_foreground_color": 31, "get_num_color": 31, "dsetimpathlist": 31, "root_img": 31, "path2filelist": 31, "trans_img": 31, "trans_target": 31, "get_list_tuple_img_label": 31, "dsetmnistcolorsolodefault": 31, "merg": 31, "solo": 31, "mix": [31, 35], "dsetmnistcolormix": 31, "n_domain": 31, "dsetmnistcolormixnodomainlabel": 31, "bb5af1d77658133af8be8c9b1a13139722315c3a": 31, "l93": 31, "_modul": 31, "datasetfold": 31, "fetch_img_path": 31, "dsetsubfold": 31, "list_class_dir": 31, "target_transform": 31, "is_valid_fil": 31, "path_dir": 31, "class_to_idx": 31, "len": 31, "fstring": 31, "list_tuple_path_cls_ind": 31, "has_file_allowed_extens": 31, "filenam": [31, 34, 36], "lowercas": 31, "dsetinmemdecor": 31, "memori": 31, "fun_img_path_loader_default": 31, "discuss": [31, 32], "rgba": 31, "88428": 31, "dim": [31, 34, 35, 36], "onehot": 31, "plot_d": 31, "f_name": 31, "batch_siz": [31, 34, 35, 36], "plot_ds_list": 31, "ds_list": 31, "fname": 31, "tile": [31, 34], "crope": 31, "flip": [31, 39], "fmcarlucci": 31, "jigendg": 31, "jigsawload": 31, "wrapdsetpatch": 31, "num_perms2classifi": 31, "prob_no_perm": 31, "ppath": 31, "flag_do_not_weave_til": 31, "permuat": 31, "weav": 31, "get_til": 31, "ind_til": 31, "squar": 31, "13848": 32, "set_se": 32, "aggwrit": 32, "num_epoch": 32, "expprotocolaggwrit": 32, "expmodelpersistvisitor": 32, "host": 32, "confmat_to_fil": 32, "confmat": 32, "confmat_filenam": 32, "confus": 32, "first_lin": 32, "dict_col": 32, "header": [32, 33], "get_col": 32, "column": [32, 33, 36], "get_fpath": 32, "dirnam": 32, "write": 32, "futur": 32, "softwar": [32, 36, 39], "to_fil": 32, "str_line": 32, "suffix": [32, 34], "mk_model_na": 32, "tag": 32, "dd_cut": 32, "19": 32, "git": [32, 40], "hash": 32, "model_dir": 32, "model_suffix": 32, "remov": [32, 36], "tailor": 32, "experiment": 32, "protocol": [32, 39], "filepath": 32, "agg_from_directori": 33, "input_dir": 33, "output_fil": 33, "partial": 33, "agg_main": 33, "bm_dir": 33, "skip_plot": 33, "agg_result": [33, 36], "input_fil": 33, "aggregr": 33, "leav": 33, "convert_dict2float": 33, "dict_in": 33, "scientif": 33, "notat": 33, "10000": 33, "load_paramet": 33, "param_fil": 33, "out_fil": 33, "start_se": 33, "misc": 33, "num_gpu": 33, "datafram": [33, 36], "fixm": 33, "kind": [34, 36], "amodel": 34, "segment": 34, "seq2seq": 34, "cal_task_loss": 34, "action": 34, "than": [34, 35], "reshap": 34, "list_inner_product": 34, "list_loss": 34, "list_multipli": 34, "inner": 34, "element": 34, "minibatch": 34, "metric4msel": 34, "multiplier4task_loss": 34, "except": [34, 35], "net_invar_feat": 34, "usag": [34, 36], "reset_feature_extractor": 34, "set_sav": 34, "claasif": 34, "amodelclassif": 34, "cal_logit_i": 34, "logit": [34, 36], "softmax": 34, "cal_loss_gen_adv": 34, "x_natur": 34, "x_adv": 34, "cal_perf_metr": 34, "modifi": 34, "necessari": 34, "create_perf_obj": 34, "quieri": 34, "embed": [34, 36], "loader_t": [34, 35, 36], "cal": 34, "super": 34, "infer_y_vpicn": 34, "vpicn": 34, "confid": 34, "match_feat_fun_na": 34, "net_classifi": 34, "pred2fil": 34, "spliter": 34, "dump": [34, 36], "saniti": [34, 36], "read_prediction_fil": 34, "written": 34, "fiel": 34, "add_args2parser_jigen": 34, "add_args2parser_va": 34, "xyd": 34, "interfacevaexyd": 34, "init_p_zx4batch": 34, "amodelcustom": 34, "dict_net_module_na2arg_na": 34, "mk_dann": 34, "parent_class": 34, "instanti": [34, 36], "dan": 34, "determin": [34, 36], "modeldan": 34, "list_d_tr": 34, "total_loss": 34, "task_loss": 34, "domain_classification_loss": 34, "net_discrimin": 34, "test_mk_exp_dann": 34, "mk_diva": 34, "vaexydclassif": 34, "subspac": 34, "ils": 34, "maximilian": 34, "modeldiva": 34, "chain_node_build": 34, "enter": 34, "test_mk_exp_diva": 34, "mk_erm": 34, "deepal": 34, "fact": 34, "stem": 34, "neglect": 34, "modelerm": 34, "test_mk_exp_erm": 34, "hierarch": [34, 36, 37], "mk_hduva": 34, "benefit": 34, "incomplet": 34, "preprint": 34, "modelhduva": 34, "classificaiton": 34, "move": 34, "gpu": [34, 36], "dann": [34, 37, 39], "mk_jigen": 34, "recov": 34, "modeljigen": 34, "list_str_d": 34, "net_classifier_class": 34, "net_classifier_permut": 34, "coeff_reg": 34, "img_class_loss": 34, "perm_task_loss": 34, "prob_permut": 34, "test_mk_exp_jigen": 34, "nodetaskdg": 35, "succ": 35, "conf_without_arg": 35, "get_list_domain": 35, "get_list_domains_tr_t": 35, "tr_id": 35, "te_id": 35, "dg": 35, "id": 35, "complement": 35, "get_na": 35, "na_tr": 35, "na_t": 35, "getter": 35, "list_domain_tr": 35, "loader_tr": 35, "loader_v": 35, "set_list_domain": 35, "list_domain": 35, "setter": 35, "_list_domain": 35, "taskclassif": 35, "nodetaskdgclassif": 35, "sample_sav": 35, "subfolder_na": [35, 36], "task_sampl": 35, "nodetaskdict": 35, "decorate_dset": 35, "organ": 35, "get_dset_by_domain": 35, "na_domain": 35, "nodetaskdictclassif": 35, "count_domain_class": 35, "count": 35, "doubl": 35, "class1": 35, "class2": 35, "task_custom": 35, "nodetaskfold": 35, "xx": 35, "yy": 35, "zz": 35, "nodetaskfolderclassnamismatch": 35, "jpeg": 35, "addtask2chain": 35, "nodetaskmnistcolor10": 35, "deafult": 35, "statement": 35, "taskpathlist": 35, "slot": 35, "know": 35, "numer": [35, 36], "nodetaskpathlistdummi": 35, "typedef": 35, "isinst": 35, "mk_node_task_path_list": 35, "img_trans_tr": 35, "dict_class_label_ind2nam": 35, "dict_d2filepath_list_img_tr": 35, "dict_d2filepath_list_img_v": 35, "dict_d2filepath_list_img_t": 35, "parse_domain_id": 35, "list_domain_id": 35, "wrap": 35, "dsetclassvecdecor": 35, "dict_folder_name2class_glob": 35, "fun_class_local_na2vec_new": 35, "straight": 35, "dsetclassvecdecoratorimgpath": 35, "dsetdomainvecdecor": 35, "vec_domain": 35, "dsetdomainvecdecoratorimgpath": 35, "mostli": 35, "loaderdomainlabel": 35, "dim_d": 35, "img_loader2dir": 35, "list_domain_na": 35, "list_class_na": 35, "specul": 35, "assumend": 35, "mk_loader": 35, "bsize": 35, "drop_last": 35, "num_work": 35, "mk_onehot": 35, "tensor1hot2ind": 35, "tensor_label": 35, "dsetinddecorator4xyd": 35, "wih": 35, "dsetzip": 35, "dset1": 35, "dset2": 35, "enabl": 35, "zip": 35, "getitem": 35, "x_1": 35, "y_1": 35, "x_2": 35, "y_2": 35, "idx": 35, "__get__item": 35, "taskchainnodegett": 35, "flowgenimg": 36, "gen_img_load": 36, "gen_img_xyd": 36, "folder_na": 36, "fun_gen": 36, "output_folder_na": 36, "gen_bencmark_plot": 36, "boxplot": 36, "dataframe_in": 36, "param_idx": 36, "obj1": 36, "obj2": 36, "foldernam": 36, "boxplot_stochast": 36, "boxplot_systemat": 36, "ssystemt": 36, "gen_benchmark_plot": 36, "use_param_index": 36, "restult": 36, "intrepret": 36, "skip_gen": 36, "speed": 36, "max_0_x": 36, "x_arg": 36, "radar_plot": 36, "distinguish_hyperparam": 36, "distinguish_param_setup": 36, "distinguish": 36, "round_vals_in_dict": 36, "df_column_in": 36, "signific": 36, "hyperparam": 36, "scatterplot": 36, "kde": 36, "scatterplot_matrix": 36, "regress": 36, "print_diff": 36, "add_next_param_from_list": 36, "resurs": 36, "grid_task": 36, "param_grid": 36, "grid_df": 36, "recours": 36, "fassion": 36, "itself": 36, "finish": 36, "g_model_na": 36, "add_references_and_check_constraint": 36, "grid_df_prior": 36, "referenced_param": 36, "gridpoint": 36, "satisfi": 36, "add_shared_params_to_param_grid": 36, "shared_df": 36, "dict_param_grid": 36, "build_param_grid_of_shared_param": 36, "back": 36, "frame": 36, "lognormal_grid": 36, "param_config": 36, "loguniform_grid": 36, "normal_grid": 36, "rais_error_if_num_not_specifi": 36, "param_nam": 36, "rais": 36, "consider": 36, "round_to_discreate_grid_norm": 36, "round_to_discreate_grid_uniform": 36, "sample_grid": 36, "sample_gridsearch": 36, "dest": 36, "explicitli": 36, "trust": 36, "uniform_grid": 36, "categoricalhyperparamet": 36, "get_val": 36, "referencehyperparamet": 36, "sampledhyperparamet": 36, "check_constraint": 36, "create_samples_from_shared_sampl": 36, "shared_sampl": 36, "constraind": 36, "pd": 36, "g_method_na": 36, "get_hyperparamet": 36, "get_shared_sampl": 36, "shared_samples_ful": 36, "shared_config_ful": 36, "task_config": 36, "is_dict_with_kei": 36, "input_dict": 36, "sample_hyperparamet": 36, "sample_paramet": 36, "init_param": 36, "shared_config": 36, "10_0000": 36, "attempt": 36, "compli": 36, "sample_task": 36, "num_sampl": 36, "conf_samp": 36, "shared_conf_samp": 36, "sample_task_only_shar": 36, "sample_df": 36, "get_logg": 36, "logger_nam": 36, "logger_135037": 36, "loglevel": 36, "info": 36, "anymor": 36, "interface_class": 36, "method2overrid": 36, "baseclass": 36, "fun": 36, "perfclassif": 36, "classmethod": 36, "cal_acc": 36, "gen_fun_acc": 36, "dim_target": 36, "get_list_pred_target": 36, "model_loc": 36, "went": 36, "perfmetricclassif": 36, "num_class": 36, "agg_precision_recall_f1": 36, "macro": 36, "cal_metr": 36, "sanitycheck": 36, "dataset_sanity_check": 36, "save_san_check_for_domain": 36, "sample_num": 36, "folder_nam": 36, "d_dataset": 36, "destin": 36, "mk_img": 36, "i_ch": 36, "mk_rand_label_onehot": 36, "mk_rand_xyd": 36, "im": 36, "y_dim": 36, "d_dim": 36, "import_path": 36, "build_external_obj_net_module_feat_extract": 36, "mpath": 36, "fine": 36, "problemat": 36, "store_arg": 36, "get_label_na": 36, "tensor_ind": 36, "list_str_na": 36, "logit2preds_vp": 36, "mk_dummy_label_list_str": 36, "get_devic": 36, "mk_fun_sav_img": 36, "nrow": 36, "saver": 36, "sav_add_titl": 36, "grid_img": 36, "matplotlib": 36, "pyplot": 36, "subpackag": [37, 38], "submodul": [37, 38], "modul": [37, 38], "FOR": 37, "overview": 37, "evid": 37, "causal": 37, "motiv": 37, "theori": 37, "fishr": 37, "quantifi": 37, "inconsist": 37, "page": [37, 39], "content": 38, "usual": 39, "novel": 39, "aim": 39, "site": 39, "corhort": 39, "vendor": 39, "unseen": 39, "platform": 39, "art": 39, "enhanc": 39, "d_1": 39, "d_2": 39, "wich": 39, "varphi": 39, "hat": 39, "ell": 39, "mu": 39, "penalti": 39, "boost": 39, "guid": 39, "inter": 39, "io": 39, "mu_a": 39, "r_a": 39, "mu_b": 39, "r_b": 39, "mu_c": 39, "r_c": 39, "mu_d": 39, "r_d": 39, "develop": 39, "pypi": 39, "project": 39, "recommend": 39, "environ": 39, "limit": 39, "conf": [39, 41], "vlcs_diva_mldg_di": 39, "download": 39, "dann_diva": 39, "mldg_dial": 39, "700000": 39, "100000": 39, "tutori": 39, "simpli": 39, "your_benchmark_configur": 39, "launch": 39, "configuraiton": 39, "augment": 39, "rectangl": 39, "bar": [39, 41], "dot": 39, "linkifi": 40, "m2r2": 40, "myst": 40, "rinohtyp": 40, "nbsphinx": 40, "nbsphinx_link": 40, "sphinx_materi": 40, "commonmark": 40, "rtfd": 40, "tab": 41, "websit": 41, "rst": 41, "navig": 41, "algoritm": 41}, "objects": {"": [[20, 0, 0, "-", "domainlab"]], "domainlab": [[21, 0, 0, "-", "algos"], [20, 0, 0, "-", "arg_parser"], [20, 0, 0, "-", "cli"], [26, 0, 0, "-", "compos"], [31, 0, 0, "-", "dsets"], [32, 0, 0, "-", "exp"], [33, 0, 0, "-", "exp_protocol"], [20, 5, 1, "", "g_list_model_penalized_reg_agg"], [20, 0, 0, "-", "mk_exp"], [34, 0, 0, "-", "models"], [35, 0, 0, "-", "tasks"], [36, 0, 0, "-", "utils"]], "domainlab.algos": [[21, 0, 0, "-", "a_algo_builder"], [21, 0, 0, "-", "builder_api_model"], [21, 0, 0, "-", "builder_custom"], [21, 0, 0, "-", "builder_dann"], [21, 0, 0, "-", "builder_diva"], [21, 0, 0, "-", "builder_erm"], [21, 0, 0, "-", "builder_hduva"], [21, 0, 0, "-", "builder_jigen1"], [22, 0, 0, "-", "msels"], [23, 0, 0, "-", "observers"], [24, 0, 0, "-", "trainers"], [21, 0, 0, "-", "utils"], [21, 0, 0, "-", "zoo_algos"]], "domainlab.algos.a_algo_builder": [[21, 1, 1, "", "NodeAlgoBuilder"]], "domainlab.algos.a_algo_builder.NodeAlgoBuilder": [[21, 2, 1, "", "extend"], [21, 2, 1, "", "init_business"], [21, 2, 1, "", "init_next_model"], [21, 2, 1, "", "is_myjob"], [21, 3, 1, "", "na_prefix"], [21, 4, 1, "", "name"]], "domainlab.algos.builder_api_model": [[21, 1, 1, "", "NodeAlgoBuilderAPIModel"]], "domainlab.algos.builder_api_model.NodeAlgoBuilderAPIModel": [[21, 2, 1, "", "init_business"]], "domainlab.algos.builder_custom": [[21, 5, 1, "", "make_basic_trainer"]], "domainlab.algos.builder_dann": [[21, 1, 1, "", "NodeAlgoBuilderDANN"]], "domainlab.algos.builder_dann.NodeAlgoBuilderDANN": [[21, 2, 1, "", "init_business"], [21, 2, 1, "", "reset_aux_net"]], "domainlab.algos.builder_diva": [[21, 1, 1, "", "NodeAlgoBuilderDIVA"]], "domainlab.algos.builder_diva.NodeAlgoBuilderDIVA": [[21, 2, 1, "", "get_trainer"], [21, 2, 1, "", "init_business"]], "domainlab.algos.builder_erm": [[21, 1, 1, "", "NodeAlgoBuilderERM"]], "domainlab.algos.builder_erm.NodeAlgoBuilderERM": [[21, 2, 1, "", "init_business"]], "domainlab.algos.builder_hduva": [[21, 1, 1, "", "NodeAlgoBuilderHDUVA"]], "domainlab.algos.builder_hduva.NodeAlgoBuilderHDUVA": [[21, 2, 1, "", "init_business"]], "domainlab.algos.builder_jigen1": [[21, 1, 1, "", "NodeAlgoBuilderJiGen"]], "domainlab.algos.builder_jigen1.NodeAlgoBuilderJiGen": [[21, 2, 1, "", "init_business"]], "domainlab.algos.msels": [[22, 0, 0, "-", "a_model_sel"], [22, 0, 0, "-", "c_msel_oracle"], [22, 0, 0, "-", "c_msel_tr_loss"], [22, 0, 0, "-", "c_msel_val"]], "domainlab.algos.msels.a_model_sel": [[22, 1, 1, "", "AMSel"]], "domainlab.algos.msels.a_model_sel.AMSel": [[22, 2, 1, "", "accept"], [22, 4, 1, "", "best_te_metric"], [22, 4, 1, "", "best_val_acc"], [22, 2, 1, "", "if_stop"], [22, 4, 1, "", "max_es"], [22, 2, 1, "", "reset"], [22, 4, 1, "", "sel_model_te_acc"], [22, 4, 1, "", "tr_obs"], [22, 2, 1, "", "update"]], "domainlab.algos.msels.c_msel_oracle": [[22, 1, 1, "", "MSelOracleVisitor"]], "domainlab.algos.msels.c_msel_oracle.MSelOracleVisitor": [[22, 2, 1, "", "accept"], [22, 2, 1, "", "if_stop"], [22, 4, 1, "", "oracle_last_setpoint_sel_te_acc"], [22, 2, 1, "", "update"]], "domainlab.algos.msels.c_msel_tr_loss": [[22, 1, 1, "", "MSelTrLoss"]], "domainlab.algos.msels.c_msel_tr_loss.MSelTrLoss": [[22, 2, 1, "", "if_stop"], [22, 4, 1, "", "max_es"], [22, 2, 1, "", "reset"], [22, 2, 1, "", "update"]], "domainlab.algos.msels.c_msel_val": [[22, 1, 1, "", "MSelValPerf"]], "domainlab.algos.msels.c_msel_val.MSelValPerf": [[22, 4, 1, "", "best_te_metric"], [22, 4, 1, "", "best_val_acc"], [22, 2, 1, "", "reset"], [22, 4, 1, "", "sel_model_te_acc"], [22, 2, 1, "", "update"]], "domainlab.algos.observers": [[23, 0, 0, "-", "a_observer"], [23, 0, 0, "-", "b_obvisitor"], [23, 0, 0, "-", "c_obvisitor_cleanup"], [23, 0, 0, "-", "c_obvisitor_gen"]], "domainlab.algos.observers.a_observer": [[23, 1, 1, "", "AObVisitor"]], "domainlab.algos.observers.a_observer.AObVisitor": [[23, 2, 1, "", "accept"], [23, 2, 1, "", "after_all"], [23, 2, 1, "", "clean_up"], [23, 2, 1, "", "reset"], [23, 2, 1, "", "set_task"], [23, 2, 1, "", "update"]], "domainlab.algos.observers.b_obvisitor": [[23, 1, 1, "", "ObVisitor"]], "domainlab.algos.observers.b_obvisitor.ObVisitor": [[23, 2, 1, "", "accept"], [23, 2, 1, "", "after_all"], [23, 2, 1, "", "cal_oracle_perf"], [23, 2, 1, "", "clean_up"], [23, 2, 1, "", "dump_prediction"], [23, 4, 1, "", "str_metric4msel"], [23, 2, 1, "", "update"]], "domainlab.algos.observers.c_obvisitor_cleanup": [[23, 1, 1, "", "ObVisitorCleanUp"]], "domainlab.algos.observers.c_obvisitor_cleanup.ObVisitorCleanUp": [[23, 2, 1, "", "accept"], [23, 2, 1, "", "after_all"], [23, 2, 1, "", "clean_up"], [23, 4, 1, "", "model_sel"], [23, 2, 1, "", "update"]], "domainlab.algos.observers.c_obvisitor_gen": [[23, 1, 1, "", "ObVisitorGen"]], "domainlab.algos.observers.c_obvisitor_gen.ObVisitorGen": [[23, 2, 1, "", "after_all"]], "domainlab.algos.trainers": [[24, 0, 0, "-", "a_trainer"], [24, 0, 0, "-", "args_dial"], [25, 0, 0, "-", "compos"], [24, 0, 0, "-", "hyper_scheduler"], [24, 0, 0, "-", "train_basic"], [24, 0, 0, "-", "train_dial"], [24, 0, 0, "-", "train_hyper_scheduler"], [24, 0, 0, "-", "train_matchdg"], [24, 0, 0, "-", "train_mldg"], [24, 0, 0, "-", "zoo_trainer"]], "domainlab.algos.trainers.a_trainer": [[24, 1, 1, "", "AbstractTrainer"], [24, 5, 1, "", "mk_opt"]], "domainlab.algos.trainers.a_trainer.AbstractTrainer": [[24, 2, 1, "", "after_batch"], [24, 2, 1, "", "before_batch"], [24, 2, 1, "", "before_tr"], [24, 2, 1, "", "cal_reg_loss"], [24, 4, 1, "", "decoratee"], [24, 2, 1, "", "dset_decoration_args_algo"], [24, 2, 1, "", "extend"], [24, 2, 1, "", "get_model"], [24, 2, 1, "", "init_business"], [24, 2, 1, "", "is_myjob"], [24, 4, 1, "", "list_tr_domain_size"], [24, 4, 1, "", "model"], [24, 4, 1, "", "name"], [24, 4, 1, "", "p_na_prefix"], [24, 2, 1, "", "post_tr"], [24, 2, 1, "", "reset"], [24, 4, 1, "", "str_metric4msel"], [24, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.args_dial": [[24, 5, 1, "", "add_args2parser_dial"]], "domainlab.algos.trainers.compos": [[25, 0, 0, "-", "matchdg_args"], [25, 0, 0, "-", "matchdg_match"], [25, 0, 0, "-", "matchdg_utils"]], "domainlab.algos.trainers.compos.matchdg_args": [[25, 5, 1, "", "add_args2parser_matchdg"]], "domainlab.algos.trainers.compos.matchdg_match": [[25, 1, 1, "", "MatchPair"]], "domainlab.algos.trainers.compos.matchdg_utils": [[25, 1, 1, "", "MatchDictInit"], [25, 1, 1, "", "MatchDictNumDomain2SizeDomain"], [25, 1, 1, "", "MatchDictVirtualRefDset2EachDomain"], [25, 5, 1, "", "dist_cosine_agg"], [25, 5, 1, "", "dist_pairwise_cosine"], [25, 5, 1, "", "fun_tensor_normalize"], [25, 5, 1, "", "get_base_domain_size4match_dg"]], "domainlab.algos.trainers.compos.matchdg_utils.MatchDictInit": [[25, 2, 1, "", "get_num_rows"]], "domainlab.algos.trainers.compos.matchdg_utils.MatchDictNumDomain2SizeDomain": [[25, 2, 1, "", "get_num_rows"]], "domainlab.algos.trainers.compos.matchdg_utils.MatchDictVirtualRefDset2EachDomain": [[25, 2, 1, "", "get_num_rows"]], "domainlab.algos.trainers.hyper_scheduler": [[24, 1, 1, "", "HyperSchedulerWarmupExponential"], [24, 1, 1, "", "HyperSchedulerWarmupLinear"]], "domainlab.algos.trainers.hyper_scheduler.HyperSchedulerWarmupExponential": [[24, 2, 1, "", "warmup"]], "domainlab.algos.trainers.hyper_scheduler.HyperSchedulerWarmupLinear": [[24, 2, 1, "", "set_steps"], [24, 2, 1, "", "warmup"]], "domainlab.algos.trainers.train_basic": [[24, 1, 1, "", "TrainerBasic"], [24, 5, 1, "", "list_divide"]], "domainlab.algos.trainers.train_basic.TrainerBasic": [[24, 2, 1, "", "after_epoch"], [24, 2, 1, "", "before_epoch"], [24, 2, 1, "", "before_tr"], [24, 2, 1, "", "cal_loss"], [24, 2, 1, "", "log_loss"], [24, 2, 1, "", "tr_batch"], [24, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.train_dial": [[24, 1, 1, "", "TrainerDIAL"]], "domainlab.algos.trainers.train_dial.TrainerDIAL": [[24, 2, 1, "", "gen_adversarial"]], "domainlab.algos.trainers.train_hyper_scheduler": [[24, 1, 1, "", "TrainerHyperScheduler"]], "domainlab.algos.trainers.train_hyper_scheduler.TrainerHyperScheduler": [[24, 2, 1, "", "before_batch"], [24, 2, 1, "", "before_tr"], [24, 2, 1, "", "set_scheduler"], [24, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.train_matchdg": [[24, 1, 1, "", "TrainerMatchDG"], [24, 5, 1, "", "match_tensor_reshape"]], "domainlab.algos.trainers.train_matchdg.TrainerMatchDG": [[24, 2, 1, "", "before_tr"], [24, 2, 1, "", "dset_decoration_args_algo"], [24, 2, 1, "", "init_business"], [24, 2, 1, "", "mk_match_tensor"], [24, 2, 1, "", "tr_batch"], [24, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.train_mldg": [[24, 1, 1, "", "TrainerMLDG"]], "domainlab.algos.trainers.train_mldg.TrainerMLDG": [[24, 2, 1, "", "before_tr"], [24, 2, 1, "", "prepare_ziped_loader"], [24, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.zoo_trainer": [[24, 1, 1, "", "TrainerChainNodeGetter"]], "domainlab.algos.utils": [[21, 5, 1, "", "split_net_feat_last"]], "domainlab.algos.zoo_algos": [[21, 1, 1, "", "AlgoBuilderChainNodeGetter"]], "domainlab.algos.zoo_algos.AlgoBuilderChainNodeGetter": [[21, 2, 1, "", "register_external_node"]], "domainlab.arg_parser": [[20, 5, 1, "", "apply_dict_to_args"], [20, 5, 1, "", "mk_parser_main"], [20, 5, 1, "", "parse_cmd_args"]], "domainlab.cli": [[20, 5, 1, "", "domainlab_cli"]], "domainlab.compos": [[26, 0, 0, "-", "a_nn_builder"], [26, 0, 0, "-", "builder_nn_alex"], [26, 0, 0, "-", "builder_nn_conv_bn_relu_2"], [26, 0, 0, "-", "builder_nn_external_from_file"], [27, 0, 0, "-", "nn_zoo"], [28, 0, 0, "-", "pcr"], [26, 0, 0, "-", "utils_conv_get_flat_dim"], [29, 0, 0, "-", "vae"], [26, 0, 0, "-", "zoo_nn"]], "domainlab.compos.a_nn_builder": [[26, 1, 1, "", "AbstractFeatExtractNNBuilderChainNode"]], "domainlab.compos.a_nn_builder.AbstractFeatExtractNNBuilderChainNode": [[26, 2, 1, "", "init_business"], [26, 2, 1, "", "is_myjob"]], "domainlab.compos.builder_nn_alex": [[26, 5, 1, "", "mkNodeFeatExtractNNBuilderNameAlex"]], "domainlab.compos.builder_nn_conv_bn_relu_2": [[26, 5, 1, "", "mkNodeFeatExtractNNBuilderNameConvBnRelu2"]], "domainlab.compos.builder_nn_external_from_file": [[26, 5, 1, "", "mkNodeFeatExtractNNBuilderExternFromFile"]], "domainlab.compos.nn_zoo": [[27, 0, 0, "-", "net_adversarial"], [27, 0, 0, "-", "net_classif"], [27, 0, 0, "-", "net_conv_conv_bn_pool_2"], [27, 0, 0, "-", "net_gated"], [27, 0, 0, "-", "nn"], [27, 0, 0, "-", "nn_alex"], [27, 0, 0, "-", "nn_torchvision"]], "domainlab.compos.nn_zoo.net_adversarial": [[27, 1, 1, "", "AutoGradFunMultiply"], [27, 1, 1, "", "AutoGradFunReverseMultiply"], [27, 1, 1, "", "Flatten"]], "domainlab.compos.nn_zoo.net_adversarial.AutoGradFunMultiply": [[27, 2, 1, "", "backward"], [27, 2, 1, "", "forward"]], "domainlab.compos.nn_zoo.net_adversarial.AutoGradFunReverseMultiply": [[27, 2, 1, "", "backward"], [27, 2, 1, "", "forward"]], "domainlab.compos.nn_zoo.net_adversarial.Flatten": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_classif": [[27, 1, 1, "", "ClassifDropoutReluLinear"]], "domainlab.compos.nn_zoo.net_classif.ClassifDropoutReluLinear": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_conv_conv_bn_pool_2": [[27, 1, 1, "", "NetConvBnReluPool2L"], [27, 1, 1, "", "NetConvDense"], [27, 5, 1, "", "mk_conv_bn_relu_pool"]], "domainlab.compos.nn_zoo.net_conv_conv_bn_pool_2.NetConvBnReluPool2L": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_conv_conv_bn_pool_2.NetConvDense": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_gated": [[27, 1, 1, "", "Conv2d"], [27, 1, 1, "", "GatedConv2d"], [27, 1, 1, "", "GatedDense"]], "domainlab.compos.nn_zoo.net_gated.Conv2d": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_gated.GatedConv2d": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_gated.GatedDense": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn": [[27, 1, 1, "", "DenseNet"], [27, 1, 1, "", "LayerId"]], "domainlab.compos.nn_zoo.nn.DenseNet": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn.LayerId": [[27, 2, 1, "", "forward"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_alex": [[27, 1, 1, "", "Alex4DeepAll"], [27, 1, 1, "", "AlexNetBase"], [27, 1, 1, "", "AlexNetNoLastLayer"]], "domainlab.compos.nn_zoo.nn_alex.Alex4DeepAll": [[27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_alex.AlexNetBase": [[27, 2, 1, "", "fetch_net"], [27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_alex.AlexNetNoLastLayer": [[27, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_torchvision": [[27, 1, 1, "", "NetTorchVisionBase"]], "domainlab.compos.nn_zoo.nn_torchvision.NetTorchVisionBase": [[27, 2, 1, "", "fetch_net"], [27, 2, 1, "", "forward"], [27, 2, 1, "", "show"], [27, 3, 1, "", "training"]], "domainlab.compos.pcr": [[28, 0, 0, "-", "p_chain_handler"], [28, 0, 0, "-", "request"]], "domainlab.compos.pcr.p_chain_handler": [[28, 1, 1, "", "AbstractChainNodeHandler"], [28, 1, 1, "", "DummyBusiness"], [28, 1, 1, "", "DummyChainNodeHandlerBeaver"], [28, 1, 1, "", "DummyChainNodeHandlerLazy"], [28, 1, 1, "", "Request4Chain"]], "domainlab.compos.pcr.p_chain_handler.AbstractChainNodeHandler": [[28, 2, 1, "", "handle"], [28, 2, 1, "", "init_business"], [28, 2, 1, "", "is_myjob"], [28, 2, 1, "", "print_options"], [28, 2, 1, "", "set_parent"]], "domainlab.compos.pcr.p_chain_handler.DummyBusiness": [[28, 3, 1, "", "message"]], "domainlab.compos.pcr.p_chain_handler.DummyChainNodeHandlerBeaver": [[28, 2, 1, "", "init_business"], [28, 2, 1, "", "is_myjob"]], "domainlab.compos.pcr.p_chain_handler.DummyChainNodeHandlerLazy": [[28, 2, 1, "", "init_business"], [28, 2, 1, "", "is_myjob"]], "domainlab.compos.pcr.p_chain_handler.Request4Chain": [[28, 2, 1, "", "convert"]], "domainlab.compos.pcr.request": [[28, 1, 1, "", "RequestArgs2ExpCmd"], [28, 1, 1, "", "RequestTask"], [28, 1, 1, "", "RequestVAEBuilderCHW"], [28, 1, 1, "", "RequestVAEBuilderNN"]], "domainlab.compos.utils_conv_get_flat_dim": [[26, 5, 1, "", "get_flat_dim"]], "domainlab.compos.vae": [[29, 0, 0, "-", "a_model_builder"], [29, 0, 0, "-", "a_vae_builder"], [29, 0, 0, "-", "c_vae_adaptor_model_recon"], [29, 0, 0, "-", "c_vae_builder_classif"], [29, 0, 0, "-", "c_vae_recon"], [30, 0, 0, "-", "compos"], [29, 0, 0, "-", "utils_request_chain_builder"], [29, 0, 0, "-", "zoo_vae_builders_classif"], [29, 0, 0, "-", "zoo_vae_builders_classif_topic"]], "domainlab.compos.vae.a_model_builder": [[29, 1, 1, "", "AbstractModelBuilderChainNode"]], "domainlab.compos.vae.a_model_builder.AbstractModelBuilderChainNode": [[29, 2, 1, "", "config"]], "domainlab.compos.vae.a_vae_builder": [[29, 1, 1, "", "AbstractVAEBuilderChainNode"]], "domainlab.compos.vae.a_vae_builder.AbstractVAEBuilderChainNode": [[29, 2, 1, "", "build_decoder"], [29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "init_business"]], "domainlab.compos.vae.c_vae_adaptor_model_recon": [[29, 1, 1, "", "AdaptorReconVAEXYD"]], "domainlab.compos.vae.c_vae_adaptor_model_recon.AdaptorReconVAEXYD": [[29, 2, 1, "", "cal_latent"], [29, 2, 1, "", "cal_prior_zd"], [29, 2, 1, "", "cal_prior_zy"], [29, 2, 1, "", "recon_ydx"]], "domainlab.compos.vae.c_vae_builder_classif": [[29, 1, 1, "", "ChainNodeVAEBuilderClassifCondPrior"]], "domainlab.compos.vae.c_vae_builder_classif.ChainNodeVAEBuilderClassifCondPrior": [[29, 2, 1, "", "build_decoder"], [29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "construct_classifier"], [29, 2, 1, "", "construct_cond_prior"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.c_vae_recon": [[29, 1, 1, "", "ReconVAEXYD"]], "domainlab.compos.vae.c_vae_recon.ReconVAEXYD": [[29, 2, 1, "", "recon"], [29, 2, 1, "", "recon_cf"]], "domainlab.compos.vae.compos": [[30, 0, 0, "-", "decoder_concat_vec_reshape_conv"], [30, 0, 0, "-", "decoder_concat_vec_reshape_conv_gated_conv"], [30, 0, 0, "-", "decoder_cond_prior"], [30, 0, 0, "-", "decoder_losses"], [30, 0, 0, "-", "encoder"], [30, 0, 0, "-", "encoder_dirichlet"], [30, 0, 0, "-", "encoder_domain_topic"], [30, 0, 0, "-", "encoder_domain_topic_img2topic"], [30, 0, 0, "-", "encoder_domain_topic_img_topic2zd"], [30, 0, 0, "-", "encoder_xyd_parallel"], [30, 0, 0, "-", "encoder_xydt_elevator"], [30, 0, 0, "-", "encoder_zy"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv": [[30, 1, 1, "", "DecoderConcatLatentFcReshapeConv"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv.DecoderConcatLatentFcReshapeConv": [[30, 2, 1, "", "cal_p_x_pars_loc_scale"], [30, 2, 1, "", "concat_ydx"], [30, 2, 1, "", "concat_ytdx"], [30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv_gated_conv": [[30, 1, 1, "", "DecoderConcatLatentFCReshapeConvGatedConv"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv_gated_conv.DecoderConcatLatentFCReshapeConvGatedConv": [[30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.decoder_cond_prior": [[30, 1, 1, "", "LSCondPriorLinearBnReluLinearSoftPlus"]], "domainlab.compos.vae.compos.decoder_cond_prior.LSCondPriorLinearBnReluLinearSoftPlus": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.decoder_losses": [[30, 1, 1, "", "NLLPixelLogistic256"]], "domainlab.compos.vae.compos.encoder": [[30, 1, 1, "", "LSEncoderConvBnReluPool"], [30, 1, 1, "", "LSEncoderLinear"]], "domainlab.compos.vae.compos.encoder.LSEncoderConvBnReluPool": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder.LSEncoderLinear": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_dirichlet": [[30, 1, 1, "", "EncoderH2Dirichlet"]], "domainlab.compos.vae.compos.encoder_dirichlet.EncoderH2Dirichlet": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_domain_topic": [[30, 1, 1, "", "EncoderImg2TopicDirZd"]], "domainlab.compos.vae.compos.encoder_domain_topic.EncoderImg2TopicDirZd": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_domain_topic_img2topic": [[30, 1, 1, "", "EncoderImg2TopicDistri"]], "domainlab.compos.vae.compos.encoder_domain_topic_img2topic.EncoderImg2TopicDistri": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_domain_topic_img_topic2zd": [[30, 1, 1, "", "EncoderSandwichTopicImg2Zd"]], "domainlab.compos.vae.compos.encoder_domain_topic_img_topic2zd.EncoderSandwichTopicImg2Zd": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel": [[30, 1, 1, "", "XYDEncoderParallel"], [30, 1, 1, "", "XYDEncoderParallelAlex"], [30, 1, 1, "", "XYDEncoderParallelConvBnReluPool"], [30, 1, 1, "", "XYDEncoderParallelExtern"], [30, 1, 1, "", "XYDEncoderParallelUser"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallel": [[30, 2, 1, "", "forward"], [30, 2, 1, "", "infer_zy_loc"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelAlex": [[30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelConvBnReluPool": [[30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelExtern": [[30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelUser": [[30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xydt_elevator": [[30, 1, 1, "", "XYDTEncoderArg"], [30, 1, 1, "", "XYDTEncoderElevator"]], "domainlab.compos.vae.compos.encoder_xydt_elevator.XYDTEncoderArg": [[30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xydt_elevator.XYDTEncoderElevator": [[30, 2, 1, "", "forward"], [30, 2, 1, "", "infer_zy_loc"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_zy": [[30, 1, 1, "", "EncoderConnectLastFeatLayer2Z"]], "domainlab.compos.vae.compos.encoder_zy.EncoderConnectLastFeatLayer2Z": [[30, 2, 1, "", "forward"], [30, 3, 1, "", "training"]], "domainlab.compos.vae.utils_request_chain_builder": [[29, 1, 1, "", "VAEChainNodeGetter"]], "domainlab.compos.vae.zoo_vae_builders_classif": [[29, 1, 1, "", "ChainNodeVAEBuilderClassifCondPriorBase"], [29, 1, 1, "", "NodeVAEBuilderArg"], [29, 1, 1, "", "NodeVAEBuilderImgAlex"], [29, 1, 1, "", "NodeVAEBuilderImgConvBnPool"], [29, 1, 1, "", "NodeVAEBuilderUser"]], "domainlab.compos.vae.zoo_vae_builders_classif.ChainNodeVAEBuilderClassifCondPriorBase": [[29, 2, 1, "", "build_decoder"], [29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "config_img"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderArg": [[29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderImgAlex": [[29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderImgConvBnPool": [[29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderUser": [[29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif_topic": [[29, 1, 1, "", "NodeVAEBuilderImgTopic"]], "domainlab.compos.vae.zoo_vae_builders_classif_topic.NodeVAEBuilderImgTopic": [[29, 2, 1, "", "build_decoder"], [29, 2, 1, "", "build_encoder"], [29, 2, 1, "", "is_myjob"]], "domainlab.compos.zoo_nn": [[26, 1, 1, "", "FeatExtractNNBuilderChainNodeGetter"]], "domainlab.dsets": [[31, 0, 0, "-", "a_dset_mnist_color_rgb_solo"], [31, 0, 0, "-", "dset_img_path_list"], [31, 0, 0, "-", "dset_mnist_color_solo_default"], [31, 0, 0, "-", "dset_poly_domains_mnist_color_default"], [31, 0, 0, "-", "dset_subfolder"], [31, 0, 0, "-", "utils_color_palette"], [31, 0, 0, "-", "utils_data"], [31, 0, 0, "-", "utils_wrapdset_patches"]], "domainlab.dsets.a_dset_mnist_color_rgb_solo": [[31, 1, 1, "", "ADsetMNISTColorRGBSolo"]], "domainlab.dsets.a_dset_mnist_color_rgb_solo.ADsetMNISTColorRGBSolo": [[31, 2, 1, "", "get_background_color"], [31, 2, 1, "", "get_foreground_color"], [31, 2, 1, "", "get_num_colors"]], "domainlab.dsets.dset_img_path_list": [[31, 1, 1, "", "DsetImPathList"]], "domainlab.dsets.dset_img_path_list.DsetImPathList": [[31, 2, 1, "", "get_list_tuple_img_label"]], "domainlab.dsets.dset_mnist_color_solo_default": [[31, 1, 1, "", "DsetMNISTColorSoloDefault"]], "domainlab.dsets.dset_mnist_color_solo_default.DsetMNISTColorSoloDefault": [[31, 2, 1, "", "get_background_color"], [31, 2, 1, "", "get_foreground_color"], [31, 2, 1, "", "get_num_colors"], [31, 4, 1, "", "palette"]], "domainlab.dsets.dset_poly_domains_mnist_color_default": [[31, 1, 1, "", "DsetMNISTColorMix"], [31, 1, 1, "", "DsetMNISTColorMixNoDomainLabel"]], "domainlab.dsets.dset_subfolder": [[31, 1, 1, "", "DsetSubFolder"], [31, 5, 1, "", "fetch_img_paths"], [31, 5, 1, "", "has_file_allowed_extension"]], "domainlab.dsets.utils_data": [[31, 1, 1, "", "DsetInMemDecorator"], [31, 5, 1, "", "fun_img_path_loader_default"], [31, 5, 1, "", "mk_fun_label2onehot"], [31, 5, 1, "", "plot_ds"], [31, 5, 1, "", "plot_ds_list"]], "domainlab.dsets.utils_wrapdset_patches": [[31, 1, 1, "", "WrapDsetPatches"]], "domainlab.dsets.utils_wrapdset_patches.WrapDsetPatches": [[31, 2, 1, "", "get_tile"]], "domainlab.exp": [[32, 0, 0, "-", "exp_cuda_seed"], [32, 0, 0, "-", "exp_main"], [32, 0, 0, "-", "exp_utils"]], "domainlab.exp.exp_cuda_seed": [[32, 5, 1, "", "set_seed"]], "domainlab.exp.exp_main": [[32, 1, 1, "", "Exp"]], "domainlab.exp.exp_main.Exp": [[32, 2, 1, "", "clean_up"], [32, 2, 1, "", "execute"]], "domainlab.exp.exp_utils": [[32, 1, 1, "", "AggWriter"], [32, 1, 1, "", "ExpModelPersistVisitor"], [32, 1, 1, "", "ExpProtocolAggWriter"]], "domainlab.exp.exp_utils.AggWriter": [[32, 2, 1, "", "confmat_to_file"], [32, 2, 1, "", "first_line"], [32, 2, 1, "", "get_cols"], [32, 2, 1, "", "get_fpath"], [32, 2, 1, "", "to_file"]], "domainlab.exp.exp_utils.ExpModelPersistVisitor": [[32, 2, 1, "", "clean_up"], [32, 2, 1, "", "load"], [32, 2, 1, "", "mk_model_na"], [32, 3, 1, "", "model_dir"], [32, 3, 1, "", "model_suffix"], [32, 2, 1, "", "remove"], [32, 2, 1, "", "save"]], "domainlab.exp.exp_utils.ExpProtocolAggWriter": [[32, 2, 1, "", "confmat_to_file"], [32, 2, 1, "", "get_cols"], [32, 2, 1, "", "get_fpath"]], "domainlab.exp_protocol": [[33, 0, 0, "-", "aggregate_results"], [33, 0, 0, "-", "run_experiment"]], "domainlab.exp_protocol.aggregate_results": [[33, 5, 1, "", "agg_from_directory"], [33, 5, 1, "", "agg_main"], [33, 5, 1, "", "agg_results"]], "domainlab.exp_protocol.run_experiment": [[33, 5, 1, "", "convert_dict2float"], [33, 5, 1, "", "load_parameters"], [33, 5, 1, "", "run_experiment"]], "domainlab.mk_exp": [[20, 5, 1, "", "mk_exp"]], "domainlab.models": [[34, 0, 0, "-", "a_model"], [34, 0, 0, "-", "a_model_classif"], [34, 0, 0, "-", "args_jigen"], [34, 0, 0, "-", "args_vae"], [34, 0, 0, "-", "interface_vae_xyd"], [34, 0, 0, "-", "model_custom"], [34, 0, 0, "-", "model_dann"], [34, 0, 0, "-", "model_diva"], [34, 0, 0, "-", "model_erm"], [34, 0, 0, "-", "model_hduva"], [34, 0, 0, "-", "model_jigen"], [34, 0, 0, "-", "model_vae_xyd_classif"]], "domainlab.models.a_model": [[34, 1, 1, "", "AModel"]], "domainlab.models.a_model.AModel": [[34, 2, 1, "", "cal_loss"], [34, 2, 1, "", "cal_reg_loss"], [34, 2, 1, "", "cal_task_loss"], [34, 2, 1, "", "dset_decoration_args_algo"], [34, 2, 1, "", "extend"], [34, 2, 1, "", "extract_semantic_feat"], [34, 2, 1, "", "forward"], [34, 2, 1, "", "list_inner_product"], [34, 2, 1, "", "load"], [34, 4, 1, "", "metric4msel"], [34, 4, 1, "", "multiplier4task_loss"], [34, 4, 1, "", "net_invar_feat"], [34, 2, 1, "", "reset_aux_net"], [34, 2, 1, "", "reset_feature_extractor"], [34, 2, 1, "", "save"], [34, 2, 1, "", "set_saver"], [34, 3, 1, "", "training"]], "domainlab.models.a_model_classif": [[34, 1, 1, "", "AModelClassif"]], "domainlab.models.a_model_classif.AModelClassif": [[34, 2, 1, "", "cal_logit_y"], [34, 2, 1, "", "cal_loss_gen_adv"], [34, 2, 1, "", "cal_perf_metric"], [34, 2, 1, "", "cal_task_loss"], [34, 2, 1, "", "create_perf_obj"], [34, 4, 1, "", "dim_y"], [34, 2, 1, "", "evaluate"], [34, 2, 1, "", "extend"], [34, 2, 1, "", "extract_semantic_feat"], [34, 2, 1, "", "infer_y_vpicn"], [34, 3, 1, "", "match_feat_fun_na"], [34, 4, 1, "", "metric4msel"], [34, 4, 1, "", "net_classifier"], [34, 2, 1, "", "pred2file"], [34, 2, 1, "", "read_prediction_file"], [34, 3, 1, "", "training"]], "domainlab.models.args_jigen": [[34, 5, 1, "", "add_args2parser_jigen"]], "domainlab.models.args_vae": [[34, 5, 1, "", "add_args2parser_vae"]], "domainlab.models.interface_vae_xyd": [[34, 1, 1, "", "InterfaceVAEXYD"]], "domainlab.models.interface_vae_xyd.InterfaceVAEXYD": [[34, 2, 1, "", "init"], [34, 2, 1, "", "init_p_zx4batch"]], "domainlab.models.model_custom": [[34, 1, 1, "", "AModelCustom"]], "domainlab.models.model_custom.AModelCustom": [[34, 2, 1, "", "dict_net_module_na2arg_na"], [34, 3, 1, "", "training"]], "domainlab.models.model_dann": [[34, 5, 1, "", "mk_dann"]], "domainlab.models.model_diva": [[34, 5, 1, "", "mk_diva"]], "domainlab.models.model_erm": [[34, 5, 1, "", "mk_erm"]], "domainlab.models.model_hduva": [[34, 5, 1, "", "mk_hduva"]], "domainlab.models.model_jigen": [[34, 5, 1, "", "mk_jigen"]], "domainlab.models.model_vae_xyd_classif": [[34, 1, 1, "", "VAEXYDClassif"]], "domainlab.models.model_vae_xyd_classif.VAEXYDClassif": [[34, 2, 1, "", "extract_semantic_feat"], [34, 4, 1, "", "multiplier4task_loss"], [34, 3, 1, "", "training"]], "domainlab.tasks": [[35, 0, 0, "-", "a_task"], [35, 0, 0, "-", "a_task_classif"], [35, 0, 0, "-", "b_task"], [35, 0, 0, "-", "b_task_classif"], [35, 0, 0, "-", "task_dset"], [35, 0, 0, "-", "task_folder"], [35, 0, 0, "-", "task_folder_mk"], [35, 0, 0, "-", "task_mini_vlcs"], [35, 0, 0, "-", "task_mnist_color"], [35, 0, 0, "-", "task_pathlist"], [35, 0, 0, "-", "task_utils"], [35, 0, 0, "-", "utils_task"], [35, 0, 0, "-", "utils_task_dset"], [35, 0, 0, "-", "zoo_tasks"]], "domainlab.tasks.a_task": [[35, 1, 1, "", "NodeTaskDG"]], "domainlab.tasks.a_task.NodeTaskDG": [[35, 2, 1, "", "conf_without_args"], [35, 2, 1, "", "get_list_domains"], [35, 2, 1, "", "get_list_domains_tr_te"], [35, 2, 1, "", "get_na"], [35, 2, 1, "", "init_business"], [35, 2, 1, "", "is_myjob"], [35, 4, 1, "", "isize"], [35, 4, 1, "", "list_domain_tr"], [35, 4, 1, "", "loader_te"], [35, 4, 1, "", "loader_tr"], [35, 4, 1, "", "loader_val"], [35, 2, 1, "", "set_list_domains"], [35, 4, 1, "", "task_name"]], "domainlab.tasks.a_task_classif": [[35, 1, 1, "", "NodeTaskDGClassif"]], "domainlab.tasks.a_task_classif.NodeTaskDGClassif": [[35, 4, 1, "", "dim_y"], [35, 4, 1, "", "list_str_y"], [35, 2, 1, "", "sample_sav"]], "domainlab.tasks.b_task": [[35, 1, 1, "", "NodeTaskDict"]], "domainlab.tasks.b_task.NodeTaskDict": [[35, 2, 1, "", "decorate_dset"], [35, 2, 1, "", "get_dset_by_domain"], [35, 2, 1, "", "init_business"]], "domainlab.tasks.b_task_classif": [[35, 1, 1, "", "NodeTaskDictClassif"]], "domainlab.tasks.b_task_classif.NodeTaskDictClassif": [[35, 2, 1, "", "count_domain_class"], [35, 2, 1, "", "init_business"]], "domainlab.tasks.task_dset": [[35, 5, 1, "", "mk_task_dset"]], "domainlab.tasks.task_folder": [[35, 1, 1, "", "NodeTaskFolder"], [35, 1, 1, "", "NodeTaskFolderClassNaMismatch"]], "domainlab.tasks.task_folder.NodeTaskFolder": [[35, 4, 1, "", "dict_domain2imgroot"], [35, 4, 1, "", "extensions"], [35, 2, 1, "", "get_dset_by_domain"]], "domainlab.tasks.task_folder.NodeTaskFolderClassNaMismatch": [[35, 2, 1, "", "get_dset_by_domain"]], "domainlab.tasks.task_folder_mk": [[35, 5, 1, "", "mk_task_folder"]], "domainlab.tasks.task_mini_vlcs": [[35, 5, 1, "", "addtask2chain"]], "domainlab.tasks.task_mnist_color": [[35, 1, 1, "", "NodeTaskMNISTColor10"]], "domainlab.tasks.task_mnist_color.NodeTaskMNISTColor10": [[35, 2, 1, "", "get_dset_by_domain"], [35, 2, 1, "", "get_list_domains"], [35, 4, 1, "", "isize"], [35, 4, 1, "", "list_str_y"]], "domainlab.tasks.task_pathlist": [[35, 1, 1, "", "NodeTaskPathListDummy"], [35, 5, 1, "", "mk_node_task_path_list"]], "domainlab.tasks.task_pathlist.NodeTaskPathListDummy": [[35, 2, 1, "", "get_dset_by_domain"]], "domainlab.tasks.task_utils": [[35, 5, 1, "", "parse_domain_id"]], "domainlab.tasks.utils_task": [[35, 1, 1, "", "DsetClassVecDecorator"], [35, 1, 1, "", "DsetClassVecDecoratorImgPath"], [35, 1, 1, "", "DsetDomainVecDecorator"], [35, 1, 1, "", "DsetDomainVecDecoratorImgPath"], [35, 1, 1, "", "ImSize"], [35, 1, 1, "", "LoaderDomainLabel"], [35, 5, 1, "", "img_loader2dir"], [35, 5, 1, "", "mk_loader"], [35, 5, 1, "", "mk_onehot"], [35, 5, 1, "", "tensor1hot2ind"]], "domainlab.tasks.utils_task.DsetClassVecDecorator": [[35, 2, 1, "", "fun_class_local_na2vec_new"], [35, 4, 1, "", "targets"]], "domainlab.tasks.utils_task.DsetDomainVecDecorator": [[35, 4, 1, "", "targets"]], "domainlab.tasks.utils_task.ImSize": [[35, 4, 1, "", "c"], [35, 4, 1, "", "h"], [35, 4, 1, "", "w"]], "domainlab.tasks.utils_task_dset": [[35, 1, 1, "", "DsetIndDecorator4XYD"], [35, 1, 1, "", "DsetZip"]], "domainlab.tasks.zoo_tasks": [[35, 1, 1, "", "TaskChainNodeGetter"], [35, 5, 1, "", "get_task"]], "domainlab.utils": [[36, 0, 0, "-", "flows_gen_img_model"], [36, 0, 0, "-", "generate_benchmark_plots"], [36, 0, 0, "-", "get_git_tag"], [36, 0, 0, "-", "hyperparameter_gridsearch"], [36, 0, 0, "-", "hyperparameter_sampling"], [36, 0, 0, "-", "logger"], [36, 0, 0, "-", "override_interface"], [36, 0, 0, "-", "perf"], [36, 0, 0, "-", "perf_metrics"], [36, 0, 0, "-", "sanity_check"], [36, 0, 0, "-", "test_img"], [36, 0, 0, "-", "u_import"], [36, 0, 0, "-", "u_import_net_module"], [36, 0, 0, "-", "utils_class"], [36, 0, 0, "-", "utils_classif"], [36, 0, 0, "-", "utils_cuda"], [36, 0, 0, "-", "utils_img_sav"]], "domainlab.utils.flows_gen_img_model": [[36, 1, 1, "", "FlowGenImgs"], [36, 5, 1, "", "fun_gen"]], "domainlab.utils.flows_gen_img_model.FlowGenImgs": [[36, 2, 1, "", "gen_img_loader"], [36, 2, 1, "", "gen_img_xyd"]], "domainlab.utils.generate_benchmark_plots": [[36, 5, 1, "", "boxplot"], [36, 5, 1, "", "boxplot_stochastic"], [36, 5, 1, "", "boxplot_systematic"], [36, 5, 1, "", "gen_benchmark_plots"], [36, 5, 1, "", "gen_plots"], [36, 5, 1, "", "max_0_x"], [36, 5, 1, "", "radar_plot"], [36, 5, 1, "", "round_vals_in_dict"], [36, 5, 1, "", "scatterplot"], [36, 5, 1, "", "scatterplot_matrix"]], "domainlab.utils.get_git_tag": [[36, 5, 1, "", "get_git_tag"]], "domainlab.utils.hyperparameter_gridsearch": [[36, 5, 1, "", "add_next_param_from_list"], [36, 5, 1, "", "add_references_and_check_constraints"], [36, 5, 1, "", "add_shared_params_to_param_grids"], [36, 5, 1, "", "build_param_grid_of_shared_params"], [36, 5, 1, "", "grid_task"], [36, 5, 1, "", "lognormal_grid"], [36, 5, 1, "", "loguniform_grid"], [36, 5, 1, "", "normal_grid"], [36, 5, 1, "", "rais_error_if_num_not_specified"], [36, 5, 1, "", "round_to_discreate_grid_normal"], [36, 5, 1, "", "round_to_discreate_grid_uniform"], [36, 5, 1, "", "sample_grid"], [36, 5, 1, "", "sample_gridsearch"], [36, 5, 1, "", "uniform_grid"]], "domainlab.utils.hyperparameter_sampling": [[36, 1, 1, "", "CategoricalHyperparameter"], [36, 1, 1, "", "Hyperparameter"], [36, 1, 1, "", "ReferenceHyperparameter"], [36, 1, 1, "", "SampledHyperparameter"], [36, 5, 1, "", "check_constraints"], [36, 5, 1, "", "create_samples_from_shared_samples"], [36, 5, 1, "", "get_hyperparameter"], [36, 5, 1, "", "get_shared_samples"], [36, 5, 1, "", "is_dict_with_key"], [36, 5, 1, "", "sample_hyperparameters"], [36, 5, 1, "", "sample_parameters"], [36, 5, 1, "", "sample_task"], [36, 5, 1, "", "sample_task_only_shared"]], "domainlab.utils.hyperparameter_sampling.CategoricalHyperparameter": [[36, 2, 1, "", "datatype"], [36, 2, 1, "", "sample"]], "domainlab.utils.hyperparameter_sampling.Hyperparameter": [[36, 2, 1, "", "datatype"], [36, 2, 1, "", "get_val"], [36, 2, 1, "", "sample"]], "domainlab.utils.hyperparameter_sampling.ReferenceHyperparameter": [[36, 2, 1, "", "datatype"], [36, 2, 1, "", "sample"]], "domainlab.utils.hyperparameter_sampling.SampledHyperparameter": [[36, 2, 1, "", "datatype"], [36, 2, 1, "", "sample"]], "domainlab.utils.logger": [[36, 1, 1, "", "Logger"]], "domainlab.utils.logger.Logger": [[36, 2, 1, "", "get_logger"], [36, 3, 1, "", "logger"]], "domainlab.utils.override_interface": [[36, 5, 1, "", "override_interface"]], "domainlab.utils.perf": [[36, 1, 1, "", "PerfClassif"]], "domainlab.utils.perf.PerfClassif": [[36, 2, 1, "", "cal_acc"], [36, 2, 1, "", "gen_fun_acc"], [36, 2, 1, "", "get_list_pred_target"]], "domainlab.utils.perf_metrics": [[36, 1, 1, "", "PerfMetricClassif"]], "domainlab.utils.perf_metrics.PerfMetricClassif": [[36, 2, 1, "", "cal_metrics"]], "domainlab.utils.sanity_check": [[36, 1, 1, "", "SanityCheck"]], "domainlab.utils.sanity_check.SanityCheck": [[36, 2, 1, "", "dataset_sanity_check"], [36, 2, 1, "", "save_san_check_for_domain"]], "domainlab.utils.test_img": [[36, 5, 1, "", "mk_img"], [36, 5, 1, "", "mk_rand_label_onehot"], [36, 5, 1, "", "mk_rand_xyd"]], "domainlab.utils.u_import": [[36, 5, 1, "", "import_path"]], "domainlab.utils.u_import_net_module": [[36, 5, 1, "", "build_external_obj_net_module_feat_extract"]], "domainlab.utils.utils_class": [[36, 5, 1, "", "store_args"]], "domainlab.utils.utils_classif": [[36, 5, 1, "", "get_label_na"], [36, 5, 1, "", "logit2preds_vpic"], [36, 5, 1, "", "mk_dummy_label_list_str"]], "domainlab.utils.utils_cuda": [[36, 5, 1, "", "get_device"]], "domainlab.utils.utils_img_sav": [[36, 5, 1, "", "mk_fun_sav_img"], [36, 5, 1, "", "sav_add_title"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"trainer": [0, 1, 4, 10, 13, 16, 24, 25], "dial": [0, 13], "domain": [0, 1, 2, 4, 5, 11, 12, 13, 16, 18, 39], "invari": [0, 1, 12, 39], "adversari": [0, 11, 13], "learn": [0, 13, 16], "gener": [0, 1, 2, 4, 6, 9, 13, 16, 39], "network": [0, 4, 10, 11, 13, 19, 39], "structur": [0, 6, 14, 17, 19], "loss": [0, 2], "function": [0, 2], "gradient": [0, 1], "revers": 0, "layer": 0, "fishr": 1, "varianc": 1, "out": [1, 13], "distribut": [1, 9, 39], "quantifi": 1, "inconsist": 1, "between": [1, 6], "match": [1, 4], "dure": 1, "train": [1, 4, 13, 18, 39], "implement": [1, 13], "model": [2, 3, 10, 11, 12, 13, 34], "hduva": [2, 13], "hierarch": 2, "variat": [2, 12], "auto": 2, "encod": [2, 13, 30], "FOR": 2, "unsupervis": [2, 13], "overview": 2, "evid": 2, "lower": 2, "bound": 2, "overal": 2, "hyperparamet": [2, 6, 7, 9], "warmup": 2, "jigen": [3, 13], "paramet": [3, 12, 13], "matchdg": [4, 10, 13], "us": [4, 10, 13, 39], "causal": 4, "motiv": 4, "theori": 4, "color": [5, 13], "mnist": [5, 13], "classif": [5, 13], "dataset": [5, 13, 18], "generalis": 5, "erm": [5, 10, 13], "emper": 5, "risk": 5, "minim": 5, "diva": [5, 12, 13], "result": [5, 6, 19], "detail": [5, 6], "prompt": 5, "explan": [5, 7], "benchmark": [6, 7, 9, 39], "domainlab": [6, 8, 15, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "depend": [6, 15], "instal": [6, 15, 39], "unix": 6, "window": 6, "set": [6, 13], "up": 6, "run": 6, "standalon": 6, "machin": 6, "without": 6, "gpu": 6, "hpc": 6, "cluster": 6, "slurm": 6, "check": [6, 13], "error": 6, "map": 6, "job": 6, "id": 6, "sampl": [6, 7, 9], "index": 6, "obtain": 6, "output": [6, 17, 19], "folder": [6, 13], "partial": 6, "plot": 6, "from": [6, 13], "csv": 6, "file": [6, 9, 13], "further": [7, 19], "setup": [7, 9], "constraint": 7, "let": 8, "know": 8, "where": 8, "your": 8, "pac": 8, "data": [8, 18], "were": 8, "locat": 8, "yaml": 9, "descript": 9, "uniform": 9, "loguniform": 9, "normal": 9, "lognorm": 9, "cathegor": 9, "referenc": 9, "hperparamet": 9, "special": 9, "argument": 9, "combin": 9, "share": 9, "task": [9, 13, 18, 35, 39], "specif": [9, 18, 39], "specifi": [10, 18], "neural": [10, 11, 13, 19, 39], "command": [10, 13, 39], "line": [10, 13, 39], "exampl": [10, 13, 39], "case": 10, "custom": [10, 13, 19], "dann": [11, 13], "autoencod": 12, "version": [13, 15], "leav": 13, "one": 13, "choos": 13, "test": [13, 18], "make": 13, "saniti": 13, "8": 13, "instanc": 13, "each": 13, "class": 13, "onli": 13, "2": [13, 18], "domain2": 13, "imag": 13, "so": 13, "work": 13, "also": 13, "singl": 13, "larger": 13, "sanniti": 13, "tile": 13, "shuffl": 13, "alex": 13, "net": 13, "sandwich": 13, "topic": 13, "user": 13, "defin": 13, "extern": 13, "imagepath": 13, "algorithm": 13, "python": [13, 39], "hyper": 13, "well": 13, "meta": [13, 16], "softwar": [14, 19], "architectur": 14, "design": [14, 19], "code": 14, "creat": 15, "virtual": 15, "environ": 15, "strongli": 15, "recommend": 15, "develop": 15, "via": 15, "github": 15, "manag": 15, "releas": 15, "mldg": 16, "possibl": 18, "1": 18, "directli": 18, "taskpathlist": 18, "3": 18, "taskfold": 18, "organ": 18, "api": [18, 39], "basic": 19, "usag": [19, 39], "storag": 19, "perform": 19, "measur": 19, "pattern": 19, "extend": 19, "contribut": 19, "packag": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39], "subpackag": [20, 21, 24, 26, 29], "submodul": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "arg_pars": 20, "modul": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "cli": 20, "mk_exp": 20, "content": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "algo": [21, 22, 23, 24, 25], "a_algo_build": 21, "builder_api_model": 21, "builder_custom": 21, "builder_dann": 21, "builder_diva": 21, "builder_erm": 21, "builder_hduva": 21, "builder_jigen1": 21, "util": [21, 36], "zoo_algo": 21, "msel": 22, "a_model_sel": 22, "c_msel_oracl": 22, "c_msel_tr_loss": 22, "c_msel_val": 22, "observ": 23, "a_observ": 23, "b_obvisitor": 23, "c_obvisitor_cleanup": 23, "c_obvisitor_gen": 23, "a_train": 24, "args_dial": 24, "hyper_schedul": 24, "train_bas": 24, "train_dial": 24, "train_hyper_schedul": 24, "train_matchdg": 24, "train_mldg": 24, "zoo_train": 24, "compo": [25, 26, 27, 28, 29, 30], "matchdg_arg": 25, "matchdg_match": 25, "matchdg_util": 25, "a_nn_build": 26, "builder_nn_alex": 26, "builder_nn_conv_bn_relu_2": 26, "builder_nn_external_from_fil": 26, "utils_conv_get_flat_dim": 26, "zoo_nn": 26, "nn_zoo": 27, "net_adversari": 27, "net_classif": 27, "net_conv_conv_bn_pool_2": 27, "net_gat": 27, "nn": 27, "nn_alex": 27, "nn_torchvis": 27, "pcr": 28, "p_chain_handl": 28, "request": 28, "vae": [29, 30], "a_model_build": 29, "a_vae_build": 29, "c_vae_adaptor_model_recon": 29, "c_vae_builder_classif": 29, "c_vae_recon": 29, "utils_request_chain_build": 29, "zoo_vae_builders_classif": 29, "zoo_vae_builders_classif_top": 29, "decoder_concat_vec_reshape_conv": 30, "decoder_concat_vec_reshape_conv_gated_conv": 30, "decoder_cond_prior": 30, "decoder_loss": 30, "encoder_dirichlet": 30, "encoder_domain_top": 30, "encoder_domain_topic_img2top": 30, "encoder_domain_topic_img_topic2zd": 30, "encoder_xyd_parallel": 30, "encoder_xydt_elev": 30, "encoder_zi": 30, "dset": 31, "a_dset_mnist_color_rgb_solo": 31, "dset_img_path_list": 31, "dset_mnist_color_solo_default": 31, "dset_poly_domains_mnist_color_default": 31, "dset_subfold": 31, "utils_color_palett": 31, "utils_data": 31, "utils_wrapdset_patch": 31, "exp": 32, "exp_cuda_se": 32, "exp_main": 32, "exp_util": 32, "exp_protocol": 33, "aggregate_result": 33, "run_experi": 33, "a_model": 34, "a_model_classif": 34, "args_jigen": 34, "args_va": 34, "interface_vae_xyd": 34, "model_custom": 34, "model_dann": 34, "model_diva": 34, "model_erm": 34, "model_hduva": 34, "model_jigen": 34, "model_vae_xyd_classif": 34, "a_task": 35, "a_task_classif": 35, "b_task": 35, "b_task_classif": 35, "task_dset": 35, "task_fold": 35, "task_folder_mk": 35, "task_mini_vlc": 35, "task_mnist_color": 35, "task_pathlist": 35, "task_util": 35, "utils_task": 35, "utils_task_dset": 35, "zoo_task": 35, "flows_gen_img_model": 36, "generate_benchmark_plot": 36, "get_git_tag": 36, "hyperparameter_gridsearch": 36, "hyperparameter_sampl": 36, "logger": 36, "override_interfac": 36, "perf": 36, "perf_metr": 36, "sanity_check": 36, "test_img": 36, "u_import": 36, "u_import_net_modul": 36, "utils_class": 36, "utils_classif": 36, "utils_cuda": 36, "utils_img_sav": 36, "welcom": 37, "s": 37, "document": 37, "indic": 37, "tabl": 37, "introduct": 39, "modular": 39, "shift": 39, "get": 39, "start": 39, "either": 39, "clone": 39, "thi": 39, "repo": 39, "programm": 39, "against": 39, "differ": 39, "method": 39, "recommonmark": 40, "0": 40, "5": 40, "dev0": 40}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "nbsphinx": 4, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["docDIAL", "docFishr", "docHDUVA", "docJiGen", "docMatchDG", "doc_MNIST_classification", "doc_benchmark", "doc_benchmark_further_explanation", "doc_benchmark_pacs", "doc_benchmark_yaml", "doc_custom_nn", "doc_dann", "doc_diva", "doc_examples", "doc_extend_contribute", "doc_install", "doc_mldg", "doc_model", "doc_output", "doc_tasks", "doc_trainer", "doc_usage_cmd", "domainlab", "domainlab.algos", "domainlab.algos.msels", "domainlab.algos.observers", "domainlab.algos.trainers", "domainlab.algos.trainers.compos", "domainlab.compos", "domainlab.compos.nn_zoo", "domainlab.compos.pcr", "domainlab.compos.vae", "domainlab.compos.vae.compos", "domainlab.dsets", "domainlab.exp", "domainlab.exp_protocol", "domainlab.models", "domainlab.tasks", "domainlab.utils", "index", "modules", "readme_link", "requirements", "tips"], "filenames": ["docDIAL.md", "docFishr.md", "docHDUVA.md", "docJiGen.md", "docMatchDG.md", "doc_MNIST_classification.md", "doc_benchmark.md", "doc_benchmark_further_explanation.md", "doc_benchmark_pacs.md", "doc_benchmark_yaml.md", "doc_custom_nn.md", "doc_dann.md", "doc_diva.md", "doc_examples.md", "doc_extend_contribute.md", "doc_install.md", "doc_mldg.md", "doc_model.md", "doc_output.md", "doc_tasks.md", "doc_trainer.md", "doc_usage_cmd.md", "domainlab.rst", "domainlab.algos.rst", "domainlab.algos.msels.rst", "domainlab.algos.observers.rst", "domainlab.algos.trainers.rst", "domainlab.algos.trainers.compos.rst", "domainlab.compos.rst", "domainlab.compos.nn_zoo.rst", "domainlab.compos.pcr.rst", "domainlab.compos.vae.rst", "domainlab.compos.vae.compos.rst", "domainlab.dsets.rst", "domainlab.exp.rst", "domainlab.exp_protocol.rst", "domainlab.models.rst", "domainlab.tasks.rst", "domainlab.utils.rst", "index.rst", "modules.rst", "readme_link.rst", "requirements.txt", "tips.txt"], "titles": ["Trainer DIAL", "Trainer Fishr", "Model HDUVA", "Model JiGen", "Trainer MatchDG", "colored MNIST classification", "Benchmarking with DomainLab", "Further explanations to Benchmark Setup", "Let DomainLab know where your PACS data were located", "Benchmark yaml files", "Specify neural network in command line", "Model DANN", "Model DIVA", "Command line examples", "Software Architecture and Design", "Installation of DomainLab", "Trainer MLDG", "Model Specification", "Output structure", "Task Specification", "Model Specification", "DomainLab Usage Guide", "domainlab package", "domainlab.algos package", "domainlab.algos.msels package", "domainlab.algos.observers package", "domainlab.algos.trainers package", "domainlab.algos.trainers.compos package", "domainlab.compos package", "domainlab.compos.nn_zoo package", "domainlab.compos.pcr package", "domainlab.compos.vae package", "domainlab.compos.vae.compos package", "domainlab.dsets package", "domainlab.exp package", "domainlab.exp_protocol package", "domainlab.models package", "domainlab.tasks package", "domainlab.utils package", "Welcome to domainlab\u2019s documentation!", "domainlab", "Introduction", "recommonmark==0.5.0.dev0", "<no title>"], "terms": {"The": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 17, 18, 19, 22, 23, 26, 29, 31, 36, 37, 38, 41], "algorithm": [0, 4, 5, 9, 17, 18, 21, 23, 26, 28, 34, 35, 41], "introduc": [0, 2, 4, 20, 36], "http": [0, 1, 2, 4, 10, 12, 29, 32, 33, 34, 36, 41, 42], "arxiv": [0, 1, 2, 4, 12, 36, 41], "org": [0, 1, 2, 4, 12, 29, 33, 34, 41], "pdf": [0, 2, 4, 12, 41], "2104": 0, "00322": 0, "us": [0, 1, 2, 3, 5, 6, 7, 9, 12, 15, 17, 19, 20, 21, 22, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41], "tackl": 0, "task": [0, 3, 5, 6, 7, 10, 14, 17, 18, 22, 23, 25, 26, 27, 30, 33, 34, 35, 36, 38, 40], "therefor": [0, 4, 9, 12], "sourc": [0, 1, 2, 4, 17, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41], "natur": 0, "dataset": [0, 8, 9, 21, 22, 26, 27, 33, 36, 37, 38, 41], "while": [0, 4, 5, 20, 29, 31], "target": [0, 26, 36, 37], "attack": 0, "imag": [0, 1, 2, 3, 4, 6, 12, 18, 19, 21, 26, 28, 29, 32, 33, 36, 37, 38], "demonstr": 0, "figur": [0, 1, 2, 4, 5, 34], "1": [0, 1, 2, 4, 5, 6, 9, 11, 13, 16, 21, 23, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 41], "find": [0, 1, 2, 4, 6, 19, 21, 26], "an": [0, 1, 2, 3, 4, 5, 6, 7, 12, 17, 18, 19, 21, 22, 23, 29, 30, 33, 36, 37, 38, 41], "x": [0, 2, 4, 26, 29, 31, 32, 36, 37, 41], "small": [0, 1, 4, 26], "output": [0, 7, 9, 21, 26, 28, 29, 34, 35, 36, 41], "classif": [0, 3, 4, 12, 17, 19, 21, 36, 37, 38, 41], "phi": [0, 4, 41], "fulfil": [0, 38], "big": 0, "In": [0, 2, 4, 6, 7, 9, 12, 17, 19, 21, 28, 29, 41], "exampl": [0, 5, 6, 7, 8, 9, 17, 19, 22, 26, 30, 34, 36], "you": [0, 2, 6, 9, 15, 19, 20, 21, 29, 30, 41], "can": [0, 1, 2, 3, 5, 6, 7, 9, 10, 12, 17, 18, 19, 20, 21, 22, 23, 26, 28, 29, 30, 31, 36, 37, 38, 41], "see": [0, 1, 6, 7, 8, 10, 17, 19, 21, 26, 33, 36, 41], "differ": [0, 1, 2, 4, 5, 6, 7, 9, 12, 18, 19, 23, 27, 28, 34, 35, 36, 37, 38], "between": [0, 4, 7, 18, 19, 21, 34, 36, 38, 39], "left": [0, 4, 43], "right": [0, 1, 4, 20, 36], "panda": [0, 35], "unobserv": [0, 2, 21], "classifi": [0, 3, 4, 5, 12, 19, 21, 29, 31, 36], "doe": [0, 3, 4, 6, 9, 12, 19, 24, 27, 30, 37, 38], "still": [0, 6, 30], "them": [0, 29, 31, 38], "domainlab": [0, 1, 2, 5, 9, 10, 14, 17], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 9, 12, 17, 18, 19, 21, 22, 26, 29, 34, 36, 37, 38, 41], "creat": [0, 3, 6, 7, 9, 19, 22, 26, 27, 30, 36, 37, 38, 41], "start": [0, 4, 6, 9, 19, 20, 21, 26, 28, 31, 35, 38], "from": [0, 2, 3, 4, 5, 7, 9, 10, 12, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41], "random": [0, 6, 7, 9, 21, 26, 33, 34, 35, 37, 41], "perturb": [0, 1], "_0": 0, "sigma": 0, "tild": 0, "sim": [0, 4], "mathcal": [0, 1, 4], "n": [0, 3, 4, 6, 26, 36], "0": [0, 4, 5, 6, 7, 9, 13, 19, 21, 27, 29, 32, 36, 37, 38, 41], "step": [0, 7, 9, 21, 26, 38], "descend": 0, "size": [0, 2, 4, 5, 7, 9, 12, 21, 22, 26, 32, 36, 37, 41], "tau": [0, 4, 9, 21, 27], "maxim": [0, 5, 9, 36, 41], "machin": [0, 1, 11, 26, 36], "dure": [0, 2, 6, 12, 26, 29, 36, 39], "train": [0, 2, 3, 5, 7, 9, 11, 12, 18, 20, 21, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 38, 39], "process": [0, 4, 6, 9, 20], "make": [0, 6, 8, 20, 22, 26, 30, 37, 38, 41], "more": [0, 1, 2, 5, 6, 7, 9, 21, 22, 26, 28, 36], "robust": 0, "explain": [0, 3, 6, 11, 19], "har": 0, "ab": [0, 1], "1412": 0, "6572": 0, "consist": [0, 37], "three": [0, 2, 4, 12, 36], "part": [0, 2, 26, 38], "At": [0, 9], "first": [0, 1, 3, 4, 6, 15, 26, 29, 36, 37, 38], "featur": [0, 3, 4, 7, 12, 19, 21, 23, 28, 29, 32, 36, 37, 38, 41], "extractor": [0, 23, 28, 32, 36, 41], "which": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 17, 18, 19, 21, 24, 26, 29, 30, 31, 32, 36, 37, 38, 41], "extract": [0, 3, 5, 7, 21, 28, 29, 32, 36, 38, 41], "main": [0, 26], "characterist": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 15, 17, 18, 19, 20, 21, 23, 26, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41], "input": [0, 2, 12, 22, 26, 27, 29, 30, 31, 36, 37, 38, 41], "label": [0, 2, 3, 4, 12, 19, 26, 31, 32, 36, 37, 38], "optim": [0, 1, 26, 29, 30], "have": [0, 4, 5, 6, 7, 9, 15, 19, 20, 27, 29, 36, 37, 38, 41], "low": 0, "error": [0, 7, 38], "ensur": [0, 5, 20, 28, 30, 31, 34], "intern": [0, 1, 26], "represent": [0, 2, 4, 32, 36, 37], "cannot": [0, 9], "discrimin": 0, "goal": [0, 1, 3, 4, 26], "archiv": 0, "special": [0, 20], "combin": [0, 5, 23, 26, 33, 34, 35, 38, 41], "2": [0, 1, 4, 5, 6, 9, 10, 12, 21, 26, 29, 30, 31, 32, 33, 36, 37, 38, 41], "packag": [0, 1, 5, 6, 18, 19, 39, 40], "one": [0, 1, 2, 3, 4, 6, 8, 9, 12, 17, 19, 26, 27, 29, 30, 31, 32, 33, 35, 36, 37, 38, 41], "describ": 0, "paper": [0, 2, 4, 12, 33], "It": [0, 6, 15, 17, 19, 29], "standard": [0, 7, 9, 33, 36], "cross": [0, 3, 17, 36, 41], "entropi": [0, 3, 17, 36, 41], "predict": [0, 3, 4, 12, 18, 25, 32, 36, 37, 38], "probabl": [0, 3, 36, 38], "actual": [0, 12, 38], "ce_": 0, "nat": 0, "adv": 0, "weight": [0, 1, 2, 3, 4, 21, 26, 28, 30, 31, 36], "paramet": [0, 1, 2, 4, 6, 7, 9, 17, 22, 23, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39], "gamma_": [0, 4], "text": [0, 1, 4, 18, 19, 34], "reg": [0, 4, 38], "procedur": [0, 4, 9], "yield": [0, 4], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 17, 19, 29, 41], "avail": [0, 4, 5, 7, 21, 30, 37], "hyperparamet": [0, 3, 4, 5, 12, 35, 38, 39, 41], "dial_steps_perturb": [0, 13, 21], "how": [0, 5, 9, 21, 24, 30, 41], "mani": [0, 9, 29], "go": [0, 38], "dial_noise_scal": [0, 21], "varianc": [0, 2, 12, 26, 32, 36, 39], "gaussian": 0, "nois": 0, "inject": 0, "pure": 0, "dial_lr": [0, 21], "rate": [0, 5, 7, 9, 20, 21], "dial_epsilon": [0, 21], "pixel": [0, 32], "wise": [0, 18, 20, 26, 32], "threshold": [0, 24], "gamma_reg": [0, 3, 4, 9, 21], "epsilon": [0, 1, 26], "lr": [0, 5, 7, 9, 21], "alpha": [0, 2, 29, 36], "regular": [1, 4, 17, 21, 26, 36], "techniqu": [1, 7], "local": [1, 6, 26, 33, 37], "align": [1, 26, 41], "level": [1, 2, 4, 9, 21, 24, 26, 32, 36, 38], "loss": [1, 3, 4, 17, 21, 24, 26, 36, 39, 41], "landscap": [1, 26], "around": [1, 26, 37], "final": [1, 2, 4, 24, 26, 38], "minim": [1, 4, 6, 19, 21, 26, 36], "possibl": [1, 9, 17, 28, 38, 41], "done": [1, 4, 5, 6, 9, 17, 25, 26], "consid": [1, 6, 7, 26, 33, 38], "second": [1, 4, 5, 6, 26, 37], "order": [1, 12, 17, 19, 31, 32, 37], "term": [1, 2, 3, 4, 36], "across": [1, 4, 19, 24, 26, 37], "intuit": 1, "two": [1, 2, 3, 4, 6, 7, 9, 12, 17, 26, 36], "highli": 1, "affect": [1, 4, 24, 30], "its": [1, 2, 4, 5, 6, 9, 21, 26, 30, 36], "onli": [1, 3, 4, 5, 6, 7, 9, 10, 12, 17, 18, 19, 21, 26, 30, 31, 32, 33, 36, 37, 38], "other": [1, 2, 3, 4, 5, 6, 7, 9, 17, 20, 26, 29, 30, 33, 36, 37, 38, 41], "under": [1, 17, 38], "certain": 1, "assumpt": [1, 4], "most": [1, 19, 31], "importantli": [1, 31], "hessian": 1, "being": [1, 3, 7, 17, 19, 36], "posit": [1, 4], "definit": [1, 4, 22, 28], "measur": [1, 21], "A": [1, 5, 30, 36, 38, 41], "b": [1, 4, 41], "score": 1, "i": [1, 3, 4, 6, 9, 26, 32, 33, 36], "theta": [1, 2, 26], "max": [1, 7, 9, 38], "_": 1, "e": [1, 3, 6, 7, 9, 21, 26, 28, 29, 30, 36, 38, 41], "biggl": 1, "r": [1, 6, 15, 26, 29, 41], "frac": [1, 2, 4], "t": [1, 4, 24, 26, 29, 31, 33, 34], "h_a": 1, "leq": 1, "h_b": 1, "wherebi": [1, 3], "denot": [1, 2, 3, 4, 36], "set": [1, 2, 3, 4, 5, 7, 9, 12, 20, 21, 22, 23, 26, 27, 34, 36, 37, 38, 41], "h_e": 1, "network": [1, 2, 3, 5, 7, 9, 12, 19, 21, 23, 26, 28, 32, 36, 38, 39], "_e": 1, "erm": [1, 19, 21, 23, 26, 29, 36], "object": [1, 4, 23, 24, 25, 26, 27, 28, 30, 31, 32, 34, 36, 37, 38, 41], "method": [1, 3, 5, 6, 9, 20, 23, 26, 30, 31, 36, 37, 38], "forc": 1, "both": [1, 3, 4, 5, 6, 17, 30, 31, 33, 36], "hand": 1, "side": 1, "becom": [1, 6], "repres": [1, 2, 7, 25, 26, 29, 36, 38, 41], "risk": [1, 19, 36, 41], "implicitli": 1, "appli": [1, 7, 9, 17, 20, 22, 29, 38], "For": [1, 2, 3, 4, 5, 6, 7, 9, 17, 19, 20, 21, 22, 25, 26, 29, 30, 31, 36, 37, 41], "suffic": 1, "diagon": [1, 26], "approxim": 1, "let": [1, 26], "space": [1, 2, 4, 12, 21, 36, 38, 41], "all": [1, 4, 5, 6, 7, 9, 12, 17, 19, 21, 29, 30, 33, 34, 35, 36, 37, 38, 41], "function": [1, 4, 6, 17, 19, 21, 22, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41], "l": [1, 4, 6], "sum_": [1, 4], "lambda": 1, "v_e": 1, "v": [1, 26, 36], "2_2": 1, "averag": 1, "within": [1, 2, 6, 7, 29, 36, 37], "each": [1, 4, 6, 7, 9, 12, 18, 19, 20, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 38, 41], "comput": [1, 3, 17, 26, 29, 32, 36], "backpack": [1, 26], "dangel": 1, "felix": 1, "frederik": 1, "kunstner": 1, "philipp": 1, "hennig": 1, "pack": 1, "backprop": 1, "1912": 1, "10985": 1, "further": [1, 41], "we": [1, 2, 4, 5, 6, 7, 8, 9, 17, 19, 24, 25, 26, 27, 31, 35, 37, 38, 41], "textnorm": 1, "var": [1, 26, 32], "g": [1, 6, 7, 21, 28, 29, 30, 36, 38, 41], "approx": 1, "diag": 1, "h": [1, 4, 37], "fisher": 1, "inform": [1, 2, 4, 5, 6, 9, 12, 19, 24, 26, 36, 37, 38], "matrix": [1, 4, 21, 34], "again": 1, "empir": [1, 36, 41], "estim": [1, 38], "effici": 1, "detail": [1, 7, 9, 11, 20, 21, 26, 36, 41], "refer": [1, 3, 6, 7, 9, 12, 22, 38], "below": [1, 6, 7, 10, 12, 18, 19, 24, 41], "code": [1, 6, 8, 10, 17, 19, 23, 28, 30, 41], "rame": 1, "alexandr": [1, 26], "corentin": [1, 26], "dancett": [1, 26], "matthieu": [1, 26], "cord": [1, 26], "confer": [1, 3, 16, 26, 36], "learn": [1, 2, 4, 5, 7, 9, 11, 12, 20, 21, 26, 36, 39, 41], "pmlr": [1, 12, 26, 36], "2022": [1, 26], "build": [2, 20, 23, 31, 36, 37, 38], "approach": [2, 4, 17, 36], "framework": [2, 17, 20, 36], "autoencod": [2, 36, 39], "facilit": [2, 36], "new": [2, 12, 17, 20, 23, 26, 36, 37, 41], "without": [2, 9, 21, 29, 32, 36, 37, 41], "supervis": [2, 12, 36], "disentangl": [2, 12, 36], "specif": [2, 5, 6, 7, 12, 36, 37, 38], "class": [2, 4, 12, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 41], "even": [2, 9, 28, 30, 31, 36], "complex": [2, 36], "where": [2, 4, 5, 6, 10, 12, 19, 20, 21, 26, 27, 32, 36, 37, 38, 41], "structur": [2, 4, 5, 19, 21, 22, 26, 33, 36, 37, 38, 39, 41], "observ": [2, 4, 14, 17, 22, 23, 24, 26, 34, 36, 38], "base": [2, 4, 6, 17, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "latent": [2, 12, 21, 32, 36], "variabl": [2, 4, 12, 26, 32, 36, 41], "distinct": 2, "z_y": [2, 31], "z_d": [2, 31], "z_x": 2, "residu": [2, 12, 36], "addit": [2, 12, 20, 21, 35, 36], "continu": [2, 9], "s": [2, 19, 20, 21, 32, 33, 36, 37, 41], "potenti": [2, 18], "mean": [2, 7, 9, 18, 19, 26, 29, 32, 38], "encourag": [2, 12], "through": [2, 9, 21, 32, 38], "condit": [2, 4, 12, 31], "prior": [2, 31, 32], "need": [2, 4, 5, 9, 12, 17, 19, 20, 26, 29, 31, 36, 37, 38], "hot": [2, 36, 37, 38], "along": [2, 22, 36, 38, 41], "shown": [2, 5, 17, 19], "probabilist": 2, "graphic": [2, 4, 6], "note": [2, 5, 6, 7, 23, 29, 33, 34, 36, 38, 41], "concatent": 2, "dash": [2, 4], "arrow": [2, 4], "requir": [2, 3, 8, 15, 29, 37], "respec": 2, "elbo": [2, 21, 36], "decompos": [2, 36], "4": [2, 5, 6, 9, 13, 29, 30, 33, 37], "likelihood": [2, 32], "e_": 2, "q": 2, "log": [2, 4, 6, 20, 21, 26, 38], "p_": 2, "kl": 2, "diverg": 2, "beta": 2, "vae": [2, 14, 22, 28, 29, 36], "beta_x": [2, 21, 36], "q_": 2, "phi_x": 2, "theta_x": 2, "beta_i": [2, 21, 36], "phi_i": 2, "theta_i": 2, "y": [2, 4, 12, 26, 31, 36, 37, 41], "beta_d": [2, 21, 36], "phi_": [2, 4], "phi_d": 2, "theta_d": 2, "topic": [2, 21, 29, 32, 36], "beta_t": [2, 21, 36], "theta_": 2, "construct": [2, 4, 9, 28, 30, 31, 36, 37], "ad": [2, 23, 26, 28, 36, 37], "auxiliari": [2, 41], "classsifi": 2, "gamma_i": [2, 5, 9, 12, 13, 19, 21, 36, 41], "fit": 2, "specifi": [2, 3, 5, 6, 7, 9, 12, 17, 18, 21, 22, 23, 28, 36, 37, 38, 41], "relat": [2, 19], "well": [2, 5, 6, 19], "zd_dim": [2, 9, 12, 21, 31, 32, 36], "zx_dim": [2, 9, 12, 21, 31, 32, 36], "zy_dim": [2, 9, 12, 21, 31, 32, 36], "topic_dim": [2, 21, 31, 32, 36], "dirichlet": [2, 32], "distribut": [2, 7, 21, 26, 32, 36, 37, 38, 39], "user": [2, 3, 6, 7, 9, 10, 12, 18, 19, 21, 22, 23, 26, 28, 33, 36, 37, 38, 41], "least": 2, "neural": [2, 3, 7, 12, 19, 21, 23, 26, 28, 32, 36, 38, 39], "via": [2, 3, 6, 10, 19, 24, 25, 36, 37, 41], "npath_encoder_x2topic_h": [2, 13, 21], "python": [2, 5, 6, 9, 10, 15, 17, 19, 21, 23, 28, 37, 38], "file": [2, 10, 15, 17, 18, 19, 21, 23, 28, 30, 31, 33, 34, 35, 36, 37, 38], "path": [2, 6, 7, 9, 10, 19, 21, 28, 29, 32, 33, 35, 37, 38, 41], "map": [2, 19, 36, 37, 38, 41], "modal": 2, "data": [2, 3, 4, 5, 12, 20, 21, 22, 26, 29, 31, 33, 36, 37, 38, 41], "dimension": 2, "hidden": [2, 29, 32], "serv": [2, 30, 36], "h_t": 2, "d": [2, 4, 12, 31, 32, 36, 37, 41], "layer": [2, 23, 26, 28, 29, 32, 39], "concentr": 2, "npath_encoder_sandwich_x2h4zd": [2, 13, 21], "same": [2, 4, 5, 6, 9, 17, 18, 19, 27, 28, 29, 34, 36, 37, 41], "infer": [2, 12, 19, 29, 37], "posterior": 2, "h_d": 2, "zd_mean": 2, "zd_scale": 2, "altern": [2, 6], "could": [2, 6, 8, 9, 10, 17, 19, 36, 41], "exist": [2, 12, 18, 19, 28, 36], "nname": [2, 5, 7, 9, 12, 13, 19, 21, 28], "instead": [2, 4, 25, 29, 30, 37, 38], "npath": [2, 7, 9, 10, 12, 13, 19, 21, 28, 41], "nname_encoder_x2topic_h": [2, 9, 13, 21], "nname_encoder_sandwich_x2h4zd": [2, 9, 13, 21], "number": [2, 3, 4, 5, 6, 7, 9, 21, 26, 29, 35, 36, 37, 38, 41], "epoch": [2, 4, 5, 7, 9, 20, 21, 24, 25, 26, 41], "hyper": [2, 21, 26, 32, 35, 36, 38], "warm": [2, 21], "up": [2, 9, 20, 21, 25, 26, 38], "argument": [2, 6, 7, 10, 18, 19, 22, 23, 28, 29, 30, 31, 35, 36, 37, 38], "pleas": [2, 6, 7], "cite": 2, "our": [2, 5, 6, 19, 38, 41], "inproceed": 2, "sun2021hierarch": 2, "titl": [2, 38, 41], "author": [2, 4, 41], "sun": [2, 36, 41], "xudong": [2, 36, 41], "buettner": [2, 36], "florian": [2, 36], "booktitl": 2, "iclr": 2, "2021": [2, 36], "robustml": 2, "workshop": 2, "2101": [2, 36], "09436": [2, 36], "year": [2, 41], "extend": [3, 21, 22, 23, 26, 29, 36], "understand": [3, 21], "concept": [3, 5, 41], "spatial": 3, "correl": [3, 4], "also": [3, 5, 6, 7, 9, 12, 17, 19, 21, 23, 29, 30, 33, 36, 38, 41], "solv": [3, 36], "jigsaw": [3, 36], "puzzl": [3, 36], "To": [3, 6, 7, 8, 10, 17, 19, 21, 30, 36, 41], "split": [3, 18, 21, 23, 37], "time": [3, 4, 9, 19, 31, 35, 37, 38], "patch": [3, 36], "permut": [3, 21, 26, 33, 36], "correct": [3, 5, 17, 37, 38], "result": [3, 7, 9, 18, 21, 30, 34, 35, 38, 41], "problem": [3, 12], "parallel": [3, 32], "origin": [3, 26, 32, 36], "fed": [3, 12, 36], "convolut": [3, 26, 28, 29, 32], "given": [3, 4, 5, 6, 21, 25, 29, 32, 33, 37, 38], "total": [3, 9, 21], "plu": 3, "anoth": [3, 4, 7, 9, 19, 26, 29, 32, 36, 37], "shuffl": [3, 21, 33, 36, 37], "instanc": [3, 18, 25, 26, 29, 36, 38], "rel": [3, 4, 8, 18, 21, 37], "ratio": [3, 37], "advantag": [3, 12], "domain": [3, 7, 9, 17, 21, 23, 24, 25, 26, 27, 28, 31, 33, 35, 36, 37, 38, 39], "despit": 3, "miss": [3, 12], "nperm": [3, 9, 13, 21, 36], "pperm": [3, 9, 13, 21], "abov": [3, 6, 8, 9, 17, 24, 41], "furthermor": [3, 7, 12], "custom": [3, 7, 19, 20, 21, 22, 23, 29, 36], "grid": [3, 7, 9, 21, 36, 38], "length": [3, 21, 36], "grid_len": [3, 13, 21, 33], "carlucci": [3, 36], "fabio": [3, 36], "m": [3, 4, 36, 41], "et": [3, 11, 16, 36], "al": [3, 11, 16, 36], "gener": [3, 5, 12, 17, 18, 19, 21, 25, 26, 31, 33, 34, 35, 36, 37, 38, 39], "proceed": [3, 16, 36], "ieee": [3, 36], "cvf": [3, 36], "vision": [3, 33, 36], "pattern": [3, 23, 24, 25, 26, 28, 31, 32, 36, 41], "recognit": [3, 36], "2019": [3, 36], "2006": 4, "07500": 4, "try": [4, 6], "enforc": [4, 7, 29], "model": [4, 5, 7, 9, 14, 18, 19, 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 37, 38, 39, 40, 41], "includ": [4, 5, 7, 9, 20, 21, 33, 34], "look": [4, 9], "underli": [4, 5], "scm": 4, "o": 4, "directli": [4, 9, 29, 32], "influenc": 4, "true": [4, 7, 25, 26, 29, 30, 31, 33, 37, 38], "y_": 4, "do": [4, 6, 9, 17, 19, 20, 22, 24, 28, 30, 31, 37, 38], "addition": [4, 12, 24, 34, 36, 37], "togeth": [4, 5, 36, 37], "form": [4, 6, 33, 38, 41], "shall": [4, 9, 19, 38], "neuron": [4, 5], "so": [4, 6, 17, 18, 19, 26, 28, 29, 30, 31, 34, 37, 41], "contribut": [4, 21], "provid": [4, 5, 6, 19, 33, 37, 38, 41], "high": [4, 5], "x_c": 4, "common": [4, 7, 19, 26, 31, 37], "ani": [4, 29, 35, 41], "kei": [4, 7, 17, 19, 20, 22, 26, 27, 36, 37, 38], "sublimin": 4, "depend": [4, 7, 9, 21, 34, 41], "x_a": 4, "respect": [4, 6, 7, 8, 12, 19, 20, 36, 38], "shade": 4, "node": [4, 6, 23, 26, 28, 30, 31, 37, 38], "mai": [4, 6, 9], "befor": [4, 5, 6, 9, 20, 21, 26], "defin": [4, 6, 7, 8, 9, 17, 19, 20, 21, 29, 30, 31, 34, 37, 38], "c": [4, 6, 32, 36, 37, 41], "henc": [4, 9], "rightarrow": 4, "sinc": [4, 10, 12, 29, 30, 36, 37, 38], "unknown": [4, 22], "By": [4, 12, 18], "x_j": 4, "x_k": 4, "dist": 4, "associ": [4, 41], "omega": 4, "begin": [4, 20], "case": [4, 5, 6, 7, 19, 37, 38], "quad": 4, "correspond": [4, 5, 6, 18, 19, 26, 29, 35, 37, 41], "otherwis": [4, 37, 38], "end": [4, 5, 21, 32, 33], "substack": 4, "neq": 4, "desir": 4, "f": [4, 9, 20, 32, 41], "circ": 4, "initialis": [4, 9], "pair": [4, 5, 37], "point": [4, 5, 7, 9, 38], "select": [4, 6, 9, 21, 23, 24, 25, 26, 28, 31, 36, 37], "randomli": [4, 6, 7, 9, 26], "chosen": [4, 9, 33], "highest": 4, "sampl": [4, 12, 35, 37, 38], "lead": [4, 9, 12, 41], "k": [4, 37], "sum": [4, 24, 26], "over": [4, 9, 38], "ob": 4, "phase": 4, "batch": [4, 5, 7, 9, 20, 21, 22, 26, 29, 32, 36, 37, 38, 41], "adapt": [4, 30], "contrast": [4, 26], "everi": [4, 29], "exp": [4, 14, 17, 22, 23, 40], "j": [4, 32], "limits_": 4, "y_i": 4, "y_j": 4, "x_b": 4, "cosin": [4, 21], "similar": [4, 6, 18, 19, 21, 36], "after": [4, 6, 17, 18, 20, 25, 26, 34, 36, 38], "epos_per_match_upd": [4, 21], "tensor": [4, 21, 22, 26, 27, 29, 32, 36, 38], "updat": [4, 6, 20, 21, 23, 24, 25, 26], "nearest": [4, 38], "neighbor": 4, "among": [4, 9], "l_2": 4, "distanc": [4, 27], "underset": 4, "arg": [4, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 36, 37, 38], "min": [4, 7, 9, 38], "n_d": 4, "x_i": 4, "perform": [4, 5, 6, 12, 20, 21, 24, 25, 26, 29, 34, 36, 38, 41], "scratch": [4, 17], "05": [4, 27], "experi": [4, 6, 7, 9, 21, 22, 23, 30, 34, 35, 41], "epochs_ctr": [4, 10, 13, 21], "verion": 5, "digit": [5, 38], "semant": [5, 36], "want": [5, 27, 31, 35, 38], "10": [5, 7, 29, 37, 38], "version": [5, 6, 31, 41], "9": [5, 15, 29], "background": [5, 33], "thu": [5, 7, 36, 38, 41], "zero": [5, 37], "nine": 5, "simplic": 5, "show": [5, 17, 29, 30], "red": 5, "blue": 5, "exact": [5, 38], "3": [5, 6, 9, 10, 13, 15, 23, 26, 28, 29, 30, 32, 33, 34, 36, 37, 38], "revers": [5, 39], "seen": 5, "come": [5, 21, 26, 27, 30], "5": [5, 6, 9, 13, 26, 28, 29, 37, 38], "6": [5, 6, 10, 13, 29, 34], "7": [5, 6, 13, 19, 29], "8": [5, 9, 26, 29, 33, 38], "particular": [5, 26], "hard": [5, 18, 19], "few": 5, "test": [5, 6, 7, 9, 12, 18, 21, 24, 25, 36, 37, 38, 41], "lot": 5, "here": [5, 6, 8, 9, 17, 19, 20, 21, 31, 33, 36, 41], "choos": [5, 9, 10, 21, 38], "appear": [5, 9], "far": 5, "ones": 5, "like": [5, 6, 9, 20, 23, 33, 36, 38, 41], "compar": [5, 18, 21], "wa": [5, 9, 24, 38], "command": [5, 6, 17, 18, 19, 22, 28, 30, 34], "main_out": [5, 6, 10, 13, 19, 21, 41], "py": [5, 6, 9, 10, 13, 14, 15, 17, 19, 20, 21, 22, 32, 33, 36, 41, 42, 43], "te_d": [5, 6, 7, 10, 13, 19, 21, 34, 38, 41], "tr_d": [5, 7, 9, 13, 19, 21], "mnistcolor10": [5, 9, 13, 21], "epo": [5, 6, 7, 9, 10, 13, 21, 38, 41], "500": 5, "bs": [5, 7, 9, 10, 13, 19, 21, 37, 41], "16": [5, 9], "conv_bn_pool_2": [5, 9, 13, 19, 21], "1e": 5, "seed": [5, 6, 9, 21, 34, 35, 38, 41], "san_check": [5, 7, 13, 21], "san_num": [5, 13, 21], "nname_dom": [5, 9, 12, 13, 21], "1e5": [5, 9, 13, 19, 21, 35], "gamma_d": [5, 9, 12, 13, 19, 21, 36, 41], "earli": [5, 7, 9, 21, 24], "stop": [5, 7, 9, 21, 24, 25], "criterion": 5, "summar": 5, "tabl": 5, "acc": [5, 6, 24, 36, 38], "precis": [5, 6, 38], "recal": [5, 6, 38], "f1": [5, 6, 38], "auroc": [5, 6, 38], "798": 5, "858": 5, "800": 5, "978": 5, "797": 5, "832": 5, "959": 5, "961": 5, "958": 5, "995": 5, "999": 5, "program": 5, "descript": [5, 38], "contain": [5, 6, 8, 12, 18, 19, 26, 33, 34, 37, 38, 41], "about": [5, 9, 21, 24, 38], "save": [5, 6, 9, 21, 24, 29, 34, 36, 37, 38], "transform": [5, 19, 33, 37, 41], "should": [5, 7, 19, 24, 25, 26, 28, 29, 30, 32, 34, 35, 36, 38, 41], "found": [5, 6, 7, 10, 19, 22, 38], "doc_task": 5, "md": [5, 6], "valu": [5, 6, 7, 9, 17, 19, 21, 26, 29, 32, 36, 37, 38], "suffici": [5, 41], "termin": 5, "full": [5, 38], "converg": 5, "t0": 5, "basi": [5, 21], "alreadi": [5, 9, 19, 33], "implement": [5, 10, 19, 23, 30, 31, 32, 33, 37, 38, 39, 41], "nn": [5, 22, 27, 28], "sequenti": [5, 29], "conv2d": [5, 29], "in_channel": 5, "num_of_input_channel": 5, "out_channel": 5, "32": [5, 6, 9, 16, 19, 26, 33], "kernel_s": [5, 29], "stride": [5, 29], "bia": [5, 29], "fals": [5, 7, 10, 22, 24, 25, 26, 28, 29, 30, 31, 33, 35, 37, 38], "batchnorm2d": 5, "num_featur": 5, "relu": [5, 29, 32], "maxpool2d": [5, 29], "64": [5, 9, 26, 29], "give": [5, 19, 21], "plot": [5, 21, 33, 35, 38, 41], "check": [5, 20, 21, 24, 26, 30, 33, 34, 36, 38], "document": [6, 7, 19, 22, 41], "markdown": 6, "offer": [6, 7, 19, 41], "abil": 6, "against": [6, 38], "collect": [6, 26], "prepar": [6, 12, 19, 20], "chart": 6, "aspect": 6, "stochast": [6, 35, 38], "variat": [6, 35, 36, 38, 39], "sensit": 6, "choic": [6, 21], "investig": 6, "reli": 6, "snakemak": [6, 35], "pulp": 6, "due": [6, 26], "upgrd": 6, "unstabl": 6, "recom": 6, "pip": [6, 15, 22, 41], "current": [6, 7, 9, 18, 23, 26, 29, 32, 35, 36, 37, 38], "datri": 6, "One": [6, 9, 17, 36, 41], "howev": [6, 12], "mamba": 6, "bioconda": 6, "conda": [6, 15], "forg": 6, "work": [6, 9, 18, 28, 30, 31, 34, 41], "configur": [6, 15, 18, 20, 31, 34, 37, 38], "yaml": [6, 21, 35, 38, 41], "doc_benchmark_yaml": 6, "execut": [6, 9, 34, 37, 38], "script": [6, 14], "repositori": [6, 8, 10, 15, 17, 19, 21, 41], "run_benchmark_standalon": 6, "sh": [6, 41], "run_benchmark_slurm": [6, 41], "insid": [6, 7, 18, 26, 41], "assum": [6, 19, 27, 33, 37], "core": 6, "ha": [6, 10, 19, 26, 27, 29, 30, 31, 33, 36, 38, 41], "been": 6, "linux": 6, "system": 6, "demo_benchmark": 6, "mandatori": [6, 7], "third": 6, "cuda": [6, 21, 34], "option": [6, 7, 9, 20, 35, 36, 37, 38], "fourth": 6, "default": [6, 7, 9, 18, 36, 37], "your": [6, 9, 20], "last": [6, 23, 24, 29, 32, 38], "cpu": [6, 36], "rm": 6, "If": [6, 7, 9, 17, 29, 38], "access": 6, "support": [6, 7, 12], "submiss": 6, "clone": [6, 15, 17, 41], "cd": 6, "sure": [6, 20, 30], "tool": [6, 9, 22], "nohup": 6, "tmux": 6, "keep": [6, 36], "activ": [6, 15, 29], "good": 6, "idea": 6, "submit": 6, "pytorch": [6, 17, 18, 19, 23, 29, 32, 33, 34, 35, 36, 37], "help": [6, 21, 41], "out": [6, 12, 19, 21, 24, 26, 29, 35, 37, 39], "fail": [6, 30, 41], "messag": [6, 30], "direct": [6, 26, 29], "bash": [6, 41], "sh_list_error": 6, "zoutput": [6, 9, 18, 33], "slurm_log": 6, "suppos": [6, 15, 19, 31], "14144163": 6, "grep": 6, "run_experi": [6, 14, 22, 40], "41": 6, "err": 6, "name": [6, 7, 9, 15, 17, 19, 21, 23, 26, 28, 30, 31, 33, 34, 36, 37, 38, 41], "directori": [6, 7, 8, 9, 15, 17, 18, 19, 21, 33, 35, 37], "translat": 6, "config": [6, 21, 31, 35, 38], "txt": [6, 15, 18], "commit": [6, 18, 34], "format": [6, 33, 38], "reproduc": [6, 7, 21, 34], "line": [6, 17, 18, 19, 22, 28, 30, 34, 35, 37, 38], "rule_result": 6, "tree": 6, "get": [6, 19, 22, 23, 24, 26, 28, 32, 34, 36, 37, 38], "someth": [6, 18, 19], "diva_fbopt_ful": 6, "radar_dist": 6, "png": [6, 37], "radar": 6, "scatterpl": 6, "sp_matrix_dist": 6, "sp_matrix_dist_reg": 6, "sp_matrix": 6, "sp_matrix_reg": 6, "variational_plot": 6, "json": 6, "visual": 6, "variou": [6, 19, 21, 41], "specificli": 6, "stochastic_vari": 6, "aggreg": [6, 18, 21, 22, 34, 35, 36, 38], "chang": [6, 8, 15, 26, 29, 30, 31, 34, 36, 38, 43], "anyth": [6, 20, 38], "moreov": 6, "subdirectori": 6, "interpret": 6, "entir": 6, "complet": [6, 18, 20], "yet": [6, 38], "some": [6, 9, 12, 19, 21, 26, 28, 30, 31], "brokenpip": 6, "multiprocess": 6, "pil": 6, "read": [6, 34], "agg_partial_bm": [6, 21], "output_dir": [6, 7, 9, 38], "cat": 6, "clean": [6, 25], "extra": [6, 18, 26, 29, 36, 41], "head": 6, "might": [6, 9, 18, 19, 28, 30, 35], "manual": [6, 34], "must": [6, 7, 9, 17, 29, 36, 37, 38], "gen_plot": [6, 21, 38], "csv_file": 6, "outp_dir": [6, 21], "cv": 6, "fulli": [6, 12, 28, 29], "param_index": [6, 35, 38], "algo": [6, 14, 22, 38, 40], "param": [6, 7, 9, 22, 23, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38], "param1": 6, "p1": [6, 38], "p2": [6, 38], "incorrect": 7, "next": [7, 9, 23], "section": [7, 9], "share": [7, 27, 31, 36, 38, 41], "list": [7, 9, 19, 22, 26, 31, 33, 35, 36, 37, 38, 43], "trainer": [7, 9, 14, 17, 20, 21, 22, 23, 24, 25, 36, 37, 39, 41], "dial": [7, 9, 39, 41], "mldg": [7, 9, 13, 39, 41], "declar": 7, "domainlab_arg": [7, 9], "tpath": [7, 9, 13, 19, 21, 41], "address": [7, 12], "int": [7, 9, 22, 32, 35, 36, 37, 38], "float": [7, 9, 36, 38], "es": [7, 9, 21], "dmem": [7, 21], "startse": [7, 9, 35], "endse": [7, 9, 35], "mode": [7, 9, 19, 20, 21, 26, 29], "search": [7, 9, 39], "num_shared_param_sampl": [7, 9], "sampling_se": [7, 9, 38], "outsid": 7, "num_param_sampl": [7, 9], "multipl": [7, 9, 21, 30, 41], "apart": 7, "real": [7, 26, 28, 30, 31], "num": [7, 9, 38], "ly": 7, "demo_hyperparameter_sampl": 7, "yml": 7, "categor": [7, 9, 38], "valid": [7, 19, 20, 21, 24, 25, 33, 37], "datatyp": [7, 9, 38], "uniform": [7, 38], "loguniform": [7, 38], "normal": [7, 19, 32, 33, 38], "std": [7, 9, 38], "deviat": [7, 9], "geq": 7, "lognorm": [7, 38], "lower": [7, 39], "bound": [7, 39], "upper": 7, "reject": 7, "prevent": 7, "contradictori": 7, "amongst": 7, "concret": [7, 9, 22, 30, 31, 36], "abort": 7, "000": 7, "row": [7, 33, 35, 38], "equal": 7, "p4": 7, "task1": 7, "demo_hypeparameter_sampl": 7, "referenc": [7, 38], "undefin": 7, "behaviour": [7, 38], "diretori": 8, "avoid": [8, 28, 30, 31, 37], "alwai": [8, 12, 28, 30, 31, 34, 37, 38], "discourag": 8, "symbol": 8, "link": 8, "power": [9, 26, 41], "own": [9, 19], "gridsearch": [9, 38], "veri": [9, 41], "fix": [9, 37, 38], "top": 9, "decid": [9, 25], "whether": [9, 25, 29, 41], "switch": 9, "sould": 9, "when": [9, 20, 24, 26, 30, 37, 38], "rang": [9, 33], "mnist_benchmark": 9, "test_domain": [9, 22, 35], "exactli": [9, 27], "per": [9, 26], "run": [9, 17, 18, 21, 22, 29, 35, 38, 41], "happen": [9, 26], "though": [9, 29], "were": [9, 29], "pass": [9, 26, 29, 38], "take": [9, 29, 31, 32], "preced": 9, "pac": [9, 41], "task_pacs_path_list": 9, "001": 9, "50": 9, "iter": [9, 37], "resnet50": 9, "net": [9, 10, 19, 23, 36, 41], "resnet50domainb": 9, "npath_": 9, "pick": 9, "crash": 9, "add": [9, 28, 37, 38], "uniqu": [9, 19, 37, 41], "task_diva_di": 9, "skip": [9, 38], "diva": [9, 19, 21, 23, 28, 36, 39, 41], "adam": 9, "constraint": [9, 26, 38], "theire": 9, "express": 9, "task_jigen": 9, "task_dann": 9, "There": [9, 17], "wai": [9, 19, 34, 41], "rand": 9, "decis": [9, 41], "previou": 9, "either": [9, 21, 26, 29, 31, 37], "fill": [9, 38], "interv": [9, 21], "01": 9, "useful": 9, "span": 9, "magnitud": 9, "1e4": 9, "1e6": 9, "2e4": 9, "predefin": [9, 21], "30": 9, "31": [9, 36], "100": [9, 13, 33], "taken": 9, "formular": 9, "evalu": [9, 25, 35, 36, 37, 41], "round": [9, 38], "integ": [9, 38], "mention": [9, 17], "othervis": 9, "thei": [9, 20, 29, 38, 41], "96": 9, "dimes": 9, "thep": 9, "subgrid": 9, "84": 9, "80": 9, "sort": 9, "task_nam": [9, 37, 38], "hyperparamt": [9, 38], "standalon": 9, "No": [9, 16], "indic": [9, 19], "signatur": [10, 19], "def": [10, 19, 20, 38], "build_feat_extract_net": 10, "dim_i": [10, 27, 29, 36, 37, 38], "remove_last_lay": [10, 28, 38], "ignor": [10, 22, 29, 33], "fair": [10, 29], "benchmark": [10, 14, 21, 35, 38], "comparison": [10, 29], "resnet": [10, 13, 19, 41], "folder": [10, 18, 19, 33, 37, 38], "github": [10, 32, 33, 36, 41, 42], "com": [10, 32, 33, 36, 42], "marrlab": [10, 36, 41], "blob": [10, 32, 33, 36], "master": [10, 32, 33, 36], "caltech": [10, 13, 21, 41], "mini_vlc": [10, 13], "debug": [10, 13, 19, 21], "public": 11, "ganin": [11, 36], "yaroslav": [11, 36], "journal": [11, 36, 41], "research": [11, 36], "17": [11, 36], "2016": [11, 36], "2096": [11, 36], "2030": [11, 36], "independ": [12, 17, 32, 36], "encod": [12, 28, 29, 31, 36, 39], "store": [12, 19, 21, 26, 29, 38], "obtain": 12, "margin": 12, "densiti": 12, "These": 12, "parameter": 12, "learnabl": 12, "singl": [12, 21, 26, 33, 35, 41], "decod": [12, 31, 32, 36], "reconstruct": [12, 31, 36], "overal": [12, 36, 39], "larg": 12, "improv": 12, "accuraci": 12, "semi": 12, "turn": 12, "notabl": 12, "better": [12, 37], "close": 12, "setup": [12, 15, 38], "allow": [12, 19, 20, 33, 37], "unsupervis": [12, 36, 39], "clear": [12, 26], "decreas": 12, "multipli": [12, 21, 36, 41], "alpha_i": 12, "eq": 12, "alpha_d": 12, "npath_dom": [12, 13, 19, 21, 41], "1905": 12, "10427": 12, "medic": [12, 36], "deep": [12, 36, 41], "2020": [12, 36], "keep_model": [13, 18, 21], "10e5": 13, "7e5": [13, 19, 21], "alexnet": [13, 21, 29], "gen": [13, 18, 21, 38], "sketch": [13, 19], "demo_task_path_list_smal": [13, 19], "task_vlc": [13, 21, 41], "apath": [13, 21, 23], "demo_custom_model": 13, "nname_argna2v": [13, 21], "my_custom_arg_nam": 13, "npath_argna2v": [13, 21], "a_algo_build": [14, 22, 40], "builder_api_model": [14, 22, 40], "builder_custom": [14, 22, 40], "builder_dann": [14, 22, 40], "builder_diva": [14, 22, 40], "builder_erm": [14, 22, 40], "builder_hduva": [14, 22, 40], "builder_jigen1": [14, 22, 40], "__init__": [14, 30], "msel": [14, 22, 23], "util": [14, 20, 22, 33, 37, 40, 41], "zoo_algo": [14, 22, 40], "arg_pars": [14, 17, 39, 40], "cli": [14, 39, 40], "compo": [14, 22, 23, 26, 36, 40], "a_nn_build": [14, 22, 40], "builder_nn_alex": [14, 22, 40], "builder_nn_conv_bn_relu_2": [14, 22, 40], "builder_nn_external_from_fil": [14, 22, 40], "nn_zoo": [14, 22, 28], "pcr": [14, 22, 28], "utils_conv_get_flat_dim": [14, 22, 40], "zoo_nn": [14, 22, 40], "dset": [14, 22, 37, 40], "a_dset_mnist_color_rgb_solo": [14, 22, 40], "dset_img_path_list": [14, 22, 40], "dset_mnist_color_solo_default": [14, 22, 40], "dset_poly_domains_mnist_color_default": [14, 22, 40], "dset_subfold": [14, 22, 40], "utils_color_palett": [14, 22, 40], "utils_data": [14, 22, 40], "utils_wrapdset_patch": [14, 22, 40], "exp_cuda_se": [14, 22, 40], "exp_main": [14, 22, 40], "exp_util": [14, 22, 40], "exp_protocol": [14, 22, 40], "aggregate_result": [14, 22, 40], "smk": 14, "mk_exp": [14, 39, 40], "a_model_classif": [14, 22, 40], "a_model": [14, 22, 40], "args_jigen": [14, 22, 40], "args_va": [14, 22, 40], "interface_vae_xyd": [14, 22, 40], "model_custom": [14, 22, 40], "model_dann": [14, 22, 40], "model_diva": [14, 22, 40], "model_erm": [14, 22, 40], "model_hduva": [14, 22, 40], "model_jigen": [14, 22, 40], "model_vae_xyd_classif": [14, 22, 40], "a_task_classif": [14, 22, 40], "a_task": [14, 22, 40], "b_task_classif": [14, 22, 40], "b_task": [14, 22, 40], "task_dset": [14, 22, 40], "task_folder_mk": [14, 22, 40], "task_fold": [14, 22, 40], "task_mini_vlc": [14, 22, 40], "task_mnist_color": [14, 22, 40], "task_pathlist": [14, 22, 40], "task_util": [14, 22, 40], "utils_task_dset": [14, 22, 40], "utils_task": [14, 22, 40], "zoo_task": [14, 22, 40], "flows_gen_img_model": [14, 22, 40], "generate_benchmark_plot": [14, 22, 40], "get_git_tag": [14, 22, 40], "hyperparameter_gridsearch": [14, 22, 40], "hyperparameter_sampl": [14, 22, 40], "logger": [14, 21, 22, 40], "override_interfac": [14, 22, 40], "perf_metr": [14, 22, 40], "perf": [14, 22, 40], "sanity_check": [14, 22, 40], "test_img": [14, 22, 40], "u_import_net_modul": [14, 22, 40], "u_import": [14, 22, 40], "utils_classif": [14, 22, 40], "utils_class": [14, 22, 40], "utils_cuda": [14, 22, 40], "utils_img_sav": [14, 22, 40], "zdata": 14, "mixed_codec": 14, "pacs_mini_10": 14, "pacs_split": 14, "patches_permutation4jigsaw": 14, "vlcs_mini": [14, 21], "ztest_fil": 14, "domainlab_py39": 15, "poetri": 15, "pyproject": 15, "toml": 15, "li": 16, "da": 16, "aaai": 16, "artifici": 16, "intellig": 16, "vol": 16, "2018": 16, "built": 17, "easili": 17, "guid": [17, 41], "outlin": 17, "necessari": [17, 20, 21, 36], "amodelcustom": [17, 36], "becaus": 17, "amodelclassif": [17, 36], "dict_net_module_na2arg_na": [17, 36], "return": [17, 19, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 36, 37, 38], "dictionari": [17, 19, 23, 26, 27, 31, 35, 36, 37, 38], "modul": [17, 39, 40], "call": [17, 19, 20, 25, 29, 30, 32, 34, 36, 38], "get_node_na": 17, "extern": [17, 23, 38], "amodel": [17, 36], "cal_task_loss": [17, 36], "self": [17, 20, 26, 29, 30, 37, 38], "tensor_x": [17, 20, 26, 29, 36], "tensor_i": [17, 20, 26, 36], "primari": 17, "_cal_reg_loss": 17, "tensor_d": [17, 20, 26, 36], "none": [17, 19, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "calcul": [17, 25, 26, 32, 36], "pars": 17, "root": [17, 19, 33, 37], "retriev": [17, 29], "nodealgobuild": [17, 23], "inherit": [17, 20, 30, 34, 36, 38], "init_busi": [17, 23, 26, 28, 30, 31, 37], "devic": [17, 21, 25, 26, 31, 32, 36, 38], "chain": [17, 19, 23, 26, 28, 30, 31, 37], "alter": 18, "comment": [18, 19], "aggrst": [18, 34], "task1_test_domain1_tagnam": 18, "csv": [18, 35, 38], "task2_test_domain3_tagnam": 18, "counterfactu": [18, 31], "task1_test_domain1": 18, "saved_model": [18, 34], "persist": [18, 25, 34, 36, 38], "task1_algo1_git": 18, "hashtag1_seed_1_instance_wise_predict": 18, "hashtag1_seed_1": 18, "sever": [18, 20, 26, 31, 33, 35, 41], "ident": [18, 29, 35, 37], "append": [18, 26, 37, 41], "conveni": 18, "upon": [18, 20, 26, 32, 33], "disk": [18, 25, 34, 36, 37], "delet": [18, 21, 29], "accord": [19, 31, 38], "thress": 19, "cover": [19, 35], "feed": [19, 32], "inlin": 19, "what": [19, 20, 41], "straightforward": 19, "emper": [19, 36], "domain1": [19, 37], "domain2": 19, "domain3": 19, "task_dset_custom": 19, "batchsiz": [19, 22, 26, 28, 33], "nicknam": 19, "locat": [19, 32], "plain": 19, "subfold": [19, 33], "car": 19, "dog": 19, "human": 19, "chair": 19, "bird": 19, "folder_a": 19, "folder_b": 19, "folder_c": 19, "sub": [19, 30, 37], "3rd_domain": 19, "3rd": 19, "1st": 19, "hund": 19, "2nd": 19, "huski": 19, "2nd_domain": 19, "1st_domain": 19, "auto": [19, 36, 39], "mensch": 19, "stuhl": 19, "vogel": 19, "drive": 19, "sit": 19, "fly": 19, "sapien": 19, "sofa": 19, "vehicl": 19, "expect": [19, 38], "separ": [19, 31, 32], "get_task": [19, 37], "na": 19, "import": [19, 22, 37, 38], "os": 19, "torchvis": [19, 28, 29, 33, 37, 38], "mk_task_fold": [19, 37], "imsiz": [19, 37], "trans_tr": 19, "compos": 19, "resiz": [19, 33], "224": [19, 37], "randomresizedcrop": 19, "scale": [19, 29, 32, 38], "randomhorizontalflip": 19, "colorjitt": 19, "randomgrayscal": 19, "totensor": 19, "485": 19, "456": 19, "406": 19, "229": 19, "225": 19, "trans_t": 19, "extens": [19, 33, 37], "jpg": [19, 37], "list_str_i": [19, 36, 37], "dict_domain_folder_name2class": [19, 37], "dict_domain_img_tran": [19, 37], "img_trans_t": [19, 37], "isiz": [19, 29, 32, 37], "dict_domain2imgroot": [19, 37], "join": [19, 35], "taskna": [19, 37], "task_demo": 19, "print": [19, 20, 29, 37], "__doc__": 19, "matter": [19, 37], "carri": [19, 37], "composit": [19, 37], "knowledg": [19, 37], "channel": [19, 26, 29, 37], "height": [19, 29, 37], "width": [19, 29, 37], "absolut": [19, 37], "develop": [20, 41], "establish": 20, "routin": 20, "behavior": [20, 30], "tailor": [20, 34], "overrid": [20, 26, 28, 30, 31, 38], "brief": 20, "overview": [20, 39], "before_tr": [20, 26], "state": [20, 26, 41], "initi": [20, 23, 26, 28, 30, 31, 35, 36, 38], "tr_epoch": [20, 26], "logic": 20, "bulk": 20, "before_epoch": [20, 26], "reset": [20, 23, 24, 25, 26, 36], "counter": 20, "schedul": [20, 26], "after_epoch": [20, 26], "typic": 20, "tr_batch": [20, 26], "ind_batch": [20, 26], "handl": [20, 30, 33, 41], "forward": [20, 29, 32, 36, 37], "backward": [20, 29], "propag": 20, "before_batch": [20, 26], "after_batch": [20, 26], "action": [20, 36], "gradient": [20, 26, 29, 39], "regist": [20, 28, 29], "zoo_train": [20, 22, 23], "simpl": 20, "mycustomtrain": 20, "super": [20, 36], "session": 20, "enumer": 20, "loader_tr": [20, 37], "minimum": 21, "eiter": 21, "predfin": 21, "python3": 21, "nocu": [21, 22], "preserv": 21, "epos_min": 21, "maximum": [21, 24, 36, 38], "epo_t": 21, "w": [21, 26, 29, 37], "warmup": [21, 26, 39], "enabl": [21, 37], "verbos": 21, "memori": [21, 33], "suppress": 21, "no_dump": 21, "confus": [21, 34], "dpath": 21, "download": [21, 41], "tag": [21, 34], "exptag": 21, "aggtag": 21, "track": 21, "partial": [21, 35], "param_idx": [21, 38], "loader": [21, 25, 26, 33, 36, 37, 38], "mix": [21, 33, 37], "proport": 21, "saniti": [21, 36, 38], "count": [21, 37], "loglevel": [21, 38], "shuffling_off": 21, "disabl": 21, "dataload": 21, "dimens": [21, 26, 27, 28, 29, 31, 36, 37, 38], "hduva": [21, 23, 36, 39], "zd": [21, 31, 32], "compon": [21, 23, 26, 29, 36, 41], "factor": [21, 31, 41], "magnifi": 21, "match": [21, 26, 27, 37, 39], "frequenc": 21, "ctr": 21, "jigen_ppath": 21, "tile": [21, 33, 36], "unit": 21, "adversari": [21, 23, 26, 36, 39], "comprehens": 21, "toi": 21, "subsampl": [21, 38], "vlc": 21, "invari": [21, 26, 36, 39], "demo_config_single_run_diva": 21, "index": [21, 26, 33, 34, 35, 36, 37, 38, 39, 41, 43], "restrain": 21, "prefix": [21, 26, 38], "a_model_sel": [22, 23], "c_msel_oracl": [22, 23], "c_msel_tr_loss": [22, 23], "c_msel_val": [22, 23], "a_observ": [22, 23], "b_obvisitor": [22, 23], "c_obvisitor_cleanup": [22, 23], "c_obvisitor_gen": [22, 23], "a_train": [22, 23], "args_dial": [22, 23], "hyper_schedul": [22, 23], "train_bas": [22, 23], "train_dial": [22, 23], "train_fishr": [22, 23], "train_hyper_schedul": [22, 23], "train_matchdg": [22, 23], "train_mldg": [22, 23], "net_adversari": [22, 28], "net_classif": [22, 28], "net_conv_conv_bn_pool_2": [22, 28], "net_gat": [22, 28], "nn_alex": [22, 28], "nn_torchvis": [22, 28], "p_chain_handl": [22, 28], "request": [22, 23, 26, 28, 31, 36, 37, 38], "a_model_build": [22, 28], "a_vae_build": [22, 28], "c_vae_adaptor_model_recon": [22, 28], "c_vae_builder_classif": [22, 28], "c_vae_recon": [22, 28], "utils_request_chain_build": [22, 28, 36], "zoo_vae_builders_classif": [22, 28], "zoo_vae_builders_classif_top": [22, 28], "apply_dict_to_arg": 22, "dict": [22, 27, 35, 38], "tri": [22, 38], "silent": [22, 29], "long": 22, "mk_parser_main": 22, "parse_cmd_arg": 22, "interfac": [22, 25, 30, 32, 36, 37, 38], "domainlab_cli": 22, "instal": 22, "str": [22, 33, 35, 37, 38], "mk_task_dset": [22, 37], "explan": 22, "nameofmodel": 22, "mk_": 22, "model_": 22, "string": [22, 23, 25, 26, 28, 30, 31, 33, 36, 37, 38], "global": 22, "whole": [22, 30], "g_list_model_penalized_reg_agg": 22, "list_penalized_reg": 22, "diminish": 22, "matchdg_arg": [23, 26], "matchdg_match": [23, 26], "matchdg_util": [23, 26], "parent": [23, 26, 30, 32, 36, 37], "comb": 23, "success_nod": [23, 30, 31], "abstractchainnodehandl": [23, 26, 28, 30, 31, 37], "builder": [23, 28, 31], "next_model": 23, "attribut": [23, 29, 31, 34, 38], "abstract": [23, 24, 25, 26, 30, 31, 33, 36, 37], "init_next_model": 23, "decor": [23, 25, 26, 33, 34, 36, 37, 38, 41], "is_myjob": [23, 26, 28, 30, 31, 37], "na_prefix": 23, "properti": [23, 24, 25, 26, 33, 36, 37, 38], "api": [23, 26], "backbon": 23, "nodealgobuilderapimodel": 23, "make_basic_train": 23, "class_name_model": 23, "accept": [23, 24, 25, 29, 30, 38], "scheme": 23, "nodealgobuilderdann": 23, "reset_aux_net": [23, 36], "net_encod": [23, 36], "auxilliari": 23, "extract_semantic_feat": [23, 36], "nodealgobuilderdiva": 23, "get_train": 23, "respons": [23, 25, 26, 28, 30, 31, 37], "fetch": [23, 29, 32, 33], "nodealgobuildererm": 23, "cmd": 23, "nodealgobuilderhduva": 23, "jigen": [23, 26, 33, 36, 39, 41], "nodealgobuilderjigen": 23, "split_net_feat_last": 23, "algobuilderchainnodegett": 23, "hardcod": [23, 28, 31, 37], "register_external_nod": 23, "amsel": 24, "val_threshold": 24, "observer4msel": 24, "visitor": [24, 25, 34, 36], "tr_observ": 24, "base_upd": 24, "clear_count": 24, "best": 24, "boolean": [24, 29], "best_te_metr": 24, "decorate": [24, 26, 36], "metric": [24, 25, 26, 36, 38], "best_val_acc": 24, "val": [24, 27, 38], "early_stop": 24, "if_stop": 24, "acc_val": 24, "max_": 24, "model_selection_epoch": 24, "selector": [24, 25], "sel_model_te_acc": 24, "accuaraci": 24, "treshold": 24, "don": 24, "decoupl": [24, 30, 31, 41], "mseloraclevisitor": 24, "oracl": [24, 25], "interven": 24, "innermost": 24, "oracle_last_setpoint_sel_te_acc": 24, "setpoint": 24, "mseltrloss": 24, "mselvalperf": 24, "aobvisitor": 25, "invit": 25, "after_al": 25, "clean_up": [25, 34], "set_task": 25, "coupl": [25, 30, 31, 34], "bool": [25, 29, 32, 33, 35, 36, 38], "dispatch": [25, 37], "obvisitor": 25, "model_sel": 25, "cal_oracle_perf": 25, "dump_predict": 25, "model_ld": 25, "metric_t": [25, 36], "load": [25, 26, 34, 35, 36, 37, 38], "str_metric4msel": [25, 26], "obvisitorcleanup": 25, "els": [25, 38], "obvisitorgen": 25, "abstracttrain": 26, "successor_nod": [26, 28, 31], "director": 26, "control": 26, "flow": [26, 37, 41], "probe": 26, "cal_reg_loss": [26, 36], "_model": 26, "dset_decoration_args_algo": [26, 36], "ddset": [26, 36], "entri": [26, 36], "item": [26, 33, 36], "deleg": [26, 29, 36], "get_model": 26, "recurs": [26, 38], "aconf": 26, "flag_accept": 26, "list_tr_domain_s": [26, 27], "p_na_prefix": 26, "post_tr": 26, "mk_opt": 26, "parmaet": 26, "add_args2parser_di": 26, "parser": [26, 27, 36, 42], "argpars": 26, "hyperschedulerwarmupexponenti": 26, "kwarg": [26, 29, 30, 31, 36], "hyperschedulerwarmuplinear": 26, "hyperschedul": 26, "exponenti": 26, "par_setpoint": 26, "par": 26, "ramp": 26, "steadi": 26, "total_step": 26, "set_step": 26, "gradual": 26, "basic": [26, 37], "trainerbas": 26, "member": [26, 30], "cal_loss": [26, 36], "log_loss": 26, "list_b_reg_loss": 26, "loss_task": 26, "just": [26, 29], "epo_reg_loss_tr": 26, "mini": [26, 36], "list_divid": 26, "list_val": 26, "scalar": [26, 38], "trainerdi": 26, "gen_adversari": 26, "img_natur": 26, "vec_i": [26, 31, 36, 38], "naiv": 26, "trim": 26, "img": [26, 32, 33, 38], "necessarili": 26, "nonlinear": 26, "hoc": 26, "trainerfishr": 26, "reduc": 26, "inconsist": [26, 39], "ram\u00e9": 26, "fishr": [26, 39], "cal_dict_variance_grad": 26, "question": 26, "v_i": 26, "nabla_": 26, "ell": [26, 41], "d_i": 26, "vector": [26, 32, 36, 37, 38], "layer1": 26, "11": [26, 29], "kernel": 26, "cal_mean_across_dict": 26, "list_dict": 26, "cal_power_single_dict": 26, "mdict": 26, "element": [26, 36], "var_grads_and_loss": 26, "tuple_data_domains_batch": 26, "tupel": 26, "variance_between_dict": 26, "list_dict_var_paragrad": 26, "nsum_i": 26, "interest": 26, "nsum_": 26, "sum_i": 26, "layer2": 26, "minibatch": [26, 36], "trainerhyperschedul": 26, "num_batch": 26, "set_schedul": 26, "flag_update_epoch": 26, "flag_update_batch": 26, "strategi": 26, "wheter": 26, "matchdg": [26, 27, 39], "trainermatchdg": 26, "flag_erm": 26, "mk_match_tensor": 26, "batch_idx": 26, "x_e": 26, "y_e": 26, "d_e": 26, "match_tensor_reshap": 26, "batch_tensor_ref_domain2each": 26, "ref_domain": 26, "img_h": 26, "img_w": 26, "easier": 26, "accomod": 26, "meta": [26, 39], "trainermldg": 26, "prepare_ziped_load": 26, "virtual": [26, 41], "trainerchainnodegett": 26, "str_trainer": 26, "xxx": 26, "add_args2parser_matchdg": 27, "matchpair": 27, "i_c": [27, 28, 30, 32, 37], "i_h": [27, 28, 30, 32, 37, 38], "i_w": [27, 28, 30, 32, 37], "bs_match": 27, "virtual_ref_dset_s": 27, "num_domains_tr": 27, "matchdictinit": 27, "creator": 27, "get_num_row": 27, "matchdictnumdomain2sizedomain": 27, "kth": 27, "size_domain_k": 27, "matchdictvirtualrefdset2eachdomain": 27, "dist_cosine_agg": 27, "x1": 27, "x2": 27, "torch": [27, 34], "cosinesimilar": 27, "dist_pairwise_cosin": 27, "necesarilli": 27, "shape": [27, 36], "cartesian": [27, 38], "product": [27, 36, 38], "pairwis": 27, "fun_tensor_norm": 27, "tensor_batch_x": 27, "get_base_domain_size4match_dg": 27, "nomin": [27, 33], "decoder_concat_vec_reshape_conv": [28, 31], "decoder_concat_vec_reshape_conv_gated_conv": [28, 31], "decoder_cond_prior": [28, 31], "decoder_loss": [28, 31], "encoder_dirichlet": [28, 31], "encoder_domain_top": [28, 31], "encoder_domain_topic_img2top": [28, 31], "encoder_domain_topic_img_topic2zd": [28, 31], "encoder_xyd_parallel": [28, 31], "encoder_xydt_elev": [28, 31], "encoder_zi": [28, 31], "integr": [28, 31], "abstractfeatextractnnbuilderchainnod": 28, "heavi": [28, 30, 31], "busi": [28, 30, 31], "light": [28, 30, 31], "dim_out": 28, "flag_pretrain": [28, 29, 32], "job": [28, 30, 31, 35], "subclass": [28, 29, 30, 31, 36], "servic": [28, 30, 31], "args_nnam": 28, "mknodefeatextractnnbuildernamealex": 28, "arg_name4net": 28, "arg_val": 28, "mknodefeatextractnnbuildernameconvbnrelu2": 28, "conv_strid": [28, 29, 32], "reus": [28, 31, 41], "famili": [28, 36], "28": 28, "mknodefeatextractnnbuilderexternfromfil": 28, "arg_name_net_path": 28, "get_flat_dim": 28, "i_channel": [28, 29, 32], "flat": 28, "connect": [28, 29, 32], "featextractnnbuilderchainnodegett": 28, "arg_name_of_net": 28, "arg_path_of_net": 28, "autogradfunmultipli": 29, "static": [29, 36, 37, 38, 41], "ctx": 29, "grad_output": 29, "formula": 29, "differenti": 29, "oper": [29, 30, 36, 37], "automat": 29, "alia": 29, "vjp": 29, "overridden": 29, "context": 29, "non": 29, "grad": 29, "needs_input_grad": 29, "tupl": [29, 33, 35, 37, 38], "type": [29, 36, 37], "arbitrari": [29, 36], "compat": [29, 36], "save_for_backward": 29, "intend": 29, "equival": 29, "save_for_forward": 29, "jvp": 29, "autogradfunreversemultipli": 29, "doc": [29, 34], "stabl": [29, 33, 34], "autograd": 29, "html": [29, 33, 34], "flatten": [29, 36], "although": 29, "recip": 29, "afterward": [29, 38], "former": 29, "care": 29, "hook": 29, "latter": 29, "classifdropoutrelulinear": 29, "z_dim": [29, 32], "target_dim": [29, 38], "dropout": 29, "linearli": 29, "z_vec": 29, "netconvbnrelupool2l": 29, "dim_out_h": 29, "netconvdens": 29, "dense_lay": 29, "until": 29, "replac": [29, 38], "mk_conv_bn_relu_pool": 29, "max_pool_strid": 29, "norm": 29, "maxpool_2d": 29, "input_channel": 29, "output_channel": 29, "pad": 29, "dilat": 29, "gatedconv2d": 29, "gateddens": 29, "input_s": 29, "output_s": 29, "densenet": [29, 32], "input_flat_s": 29, "out_hidden_s": 29, "1024": 29, "last_feat_dim": 29, "4096": 29, "p_dropout": 29, "linear": 29, "layerid": 29, "alex4deepal": 29, "alexnetbas": 29, "nettorchvisionbas": 29, "inplac": 29, "ceil_mod": 29, "192": 29, "384": 29, "256": [29, 32], "12": 29, "avgpool": 29, "adaptiveavgpool2d": 29, "p": [29, 31, 32, 36], "in_featur": 29, "9216": 29, "out_featur": 29, "fetch_net": 29, "alexnetnolastlay": 29, "depth": 29, "net_torchvis": 29, "successfulli": 30, "design": [30, 41], "constructor": [30, 31, 32, 34, 36], "handler": 30, "factori": [30, 38], "redund": [30, 31], "safest": 30, "solut": 30, "karg": [30, 31], "chainnod": 30, "onc": 30, "break": [30, 34], "init": [30, 36], "invok": 30, "print_opt": 30, "set_par": 30, "dummybusi": 30, "dummi": 30, "dummychainnodehandlerbeav": 30, "dummychainnodehandlerlazi": 30, "request4chain": 30, "field": 30, "safeti": 30, "convert": [30, 31, 35, 36, 37], "obj": [30, 38], "pre": [30, 34, 41], "requestargs2expcmd": 30, "isol": [30, 38], "requesttask": 30, "requestvaebuilderchw": 30, "requestvaebuildernn": 30, "net_class_d": [30, 32], "net_x": [30, 32], "net_class_i": [30, 32], "test_exp": 30, "patter": 31, "abstractmodelbuilderchainnod": 31, "child": [31, 37, 38], "abstractvaebuilderchainnod": 31, "build_decod": 31, "build_encod": 31, "adaptor": 31, "intens": [31, 32], "refactor": 31, "old": 31, "adaptorreconvaexyd": 31, "cal_lat": 31, "won": 31, "retrain": 31, "cal_prior_zd": 31, "vec_d": [31, 38], "cal_prior_zi": 31, "recon_ydx": 31, "zy": [31, 32], "zx": [31, 32], "concatn": 31, "plai": 31, "vital": 31, "role": 31, "chainnodevaebuilderclassifcondprior": 31, "bridg": [31, 32], "construct_classifi": 31, "input_dim": 31, "output_dim": 31, "construct_cond_prior": 31, "reconvaexyd": 31, "na_adaptor": 31, "recon": 31, "sample_p_zi": 31, "sample_p_zd": 31, "scalar_zx2fil": 31, "recon_cf": 31, "na_cf": 31, "dim_cf": 31, "zx2fill": 31, "countefactu": 31, "vaechainnodegett": [31, 36], "scenario": [31, 41], "vabuild": 31, "chainnodevaebuilderclassifcondpriorbas": 31, "ae": 31, "config_img": 31, "flag": 31, "nodevaebuilderarg": 31, "commandlin": [31, 35, 36], "nodevaebuilderimgalex": 31, "nodevaebuilderimgconvbnpool": 31, "nodevaebuilderus": 31, "test_mk_exp": 31, "nodevaebuilderimgtop": 31, "concaten": 32, "decoderconcatlatentfcreshapeconv": 32, "cls_fun_nll_p_x": 32, "net_fc_z2flat_img": 32, "net_conv": 32, "net_p_x_mean": 32, "net_p_x_log_var": 32, "re": [32, 33, 37], "arrang": 32, "textur": 32, "cal_p_x_pars_loc_scal": 32, "vec_z": 32, "z": 32, "concat_ydx": 32, "concat_ytdx": 32, "decoderconcatlatentfcreshapeconvgatedconv": 32, "lscondpriorlinearbnrelulinearsoftplu": 32, "hyper_prior_dim": 32, "hidden_dim": 32, "hyper_prior": 32, "nllpixellogistic256": 32, "reduce_dim": 32, "bin_siz": 32, "00390625": 32, "neg": 32, "divid": 32, "bin": 32, "x_": 32, "openai": 32, "iaf": 32, "tf_util": 32, "l29": 32, "softplu": 32, "lsencoderconvbnrelupool": 32, "pool": [32, 36], "lsencoderlinear": 32, "dim_input": 32, "encoderh2dirichlet": 32, "dim_top": 32, "encoderimg2topicdirzd": 32, "num_top": 32, "encoderimg2topicdistri": 32, "encodersandwichtopicimg2zd": 32, "img_h_dim": 32, "sandwich": 32, "vec_top": 32, "xydencoderparallel": 32, "net_infer_zd": 32, "net_infer_zx": 32, "net_infer_zi": 32, "q_zd": 32, "zd_q": 32, "q_zx": 32, "zx_q": 32, "q_zy": 32, "zy_q": 32, "infer_zy_loc": 32, "xydencoderparallelalex": 32, "reimplement": 32, "contructor": 32, "xydencoderparallelconvbnrelupool": 32, "xydencoderparallelextern": 32, "xydencoderparallelus": 32, "xydtencoderarg": 32, "xydtencoderelev": 32, "net_infer_zd_top": 32, "encoderconnectlastfeatlayer2z": 32, "arg_nam": 32, "arg_path_nam": 32, "transpar": 32, "color": [33, 37], "mnist": [33, 37], "adsetmnistcolorrgbsolo": 33, "ind_color": 33, "subset_step": 33, "color_schem": 33, "label_transform": 33, "mk_fun_label2onehot": 33, "fun_label2onehot": 33, "list_transform": 33, "raw_split": 33, "flag_rand_color": 33, "palett": [33, 37], "spectrum": 33, "subdomain": 33, "foreground": 33, "get_background_color": 33, "ind": [33, 37], "get_foreground_color": 33, "get_num_color": 33, "dsetimpathlist": 33, "root_img": 33, "path2filelist": 33, "trans_img": 33, "trans_target": 33, "get_list_tuple_img_label": 33, "dsetmnistcolorsolodefault": 33, "merg": 33, "solo": 33, "dsetmnistcolormix": 33, "n_domain": 33, "dsetmnistcolormixnodomainlabel": 33, "bb5af1d77658133af8be8c9b1a13139722315c3a": 33, "l93": 33, "_modul": 33, "datasetfold": 33, "fetch_img_path": 33, "dsetsubfold": 33, "list_class_dir": 33, "target_transform": 33, "is_valid_fil": 33, "path_dir": 33, "class_to_idx": 33, "len": 33, "fstring": 33, "list_tuple_path_cls_ind": 33, "has_file_allowed_extens": 33, "filenam": [33, 36, 38], "lowercas": 33, "dsetinmemdecor": 33, "fun_img_path_loader_default": 33, "discuss": [33, 34], "rgba": 33, "88428": 33, "dim": [33, 36, 37, 38], "onehot": 33, "plot_d": 33, "f_name": 33, "batch_siz": [33, 36, 37, 38], "plot_ds_list": 33, "ds_list": 33, "fname": 33, "crope": 33, "flip": [33, 41], "fmcarlucci": 33, "jigendg": 33, "jigsawload": 33, "wrapdsetpatch": 33, "num_perms2classifi": 33, "prob_no_perm": 33, "ppath": 33, "flag_do_not_weave_til": 33, "permuat": 33, "weav": 33, "get_til": 33, "ind_til": 33, "squar": 33, "13848": 34, "set_se": 34, "aggwrit": 34, "num_epoch": 34, "expprotocolaggwrit": 34, "expmodelpersistvisitor": 34, "host": 34, "confmat_to_fil": 34, "confmat": 34, "confmat_filenam": 34, "first_lin": 34, "dict_col": 34, "header": [34, 35], "get_col": 34, "column": [34, 35, 38], "get_fpath": 34, "dirnam": 34, "write": 34, "futur": 34, "softwar": [34, 38, 41], "to_fil": 34, "str_line": 34, "suffix": [34, 36], "mk_model_na": 34, "dd_cut": 34, "19": 34, "git": [34, 42], "hash": 34, "model_dir": 34, "model_suffix": 34, "remov": [34, 38], "experiment": 34, "protocol": [34, 41], "filepath": 34, "agg_from_directori": 35, "input_dir": 35, "output_fil": 35, "agg_main": 35, "bm_dir": 35, "skip_plot": 35, "agg_result": [35, 38], "input_fil": 35, "aggregr": 35, "leav": 35, "convert_dict2float": 35, "dict_in": 35, "scientif": 35, "notat": 35, "10000": 35, "load_paramet": 35, "param_fil": 35, "out_fil": 35, "start_se": 35, "misc": [35, 41], "num_gpu": 35, "datafram": [35, 38], "fixm": 35, "kind": [36, 38, 41], "segment": 36, "seq2seq": 36, "than": [36, 37], "reshap": 36, "list_inner_product": 36, "list_loss": 36, "list_multipli": 36, "inner": 36, "metric4msel": 36, "multiplier4task_loss": 36, "except": [36, 37], "net_invar_feat": 36, "usag": [36, 38], "reset_feature_extractor": 36, "set_sav": 36, "claasif": 36, "cal_logit_i": 36, "logit": [36, 38], "softmax": 36, "cal_loss_gen_adv": 36, "x_natur": 36, "x_adv": 36, "cal_perf_metr": 36, "modifi": 36, "create_perf_obj": 36, "quieri": 36, "embed": [36, 38], "loader_t": [36, 37, 38], "cal": 36, "infer_y_vpicn": 36, "vpicn": 36, "confid": 36, "match_feat_fun_na": 36, "net_classifi": 36, "pred2fil": 36, "spliter": 36, "dump": [36, 38], "read_prediction_fil": 36, "written": 36, "fiel": 36, "add_args2parser_jigen": 36, "add_args2parser_va": 36, "xyd": 36, "interfacevaexyd": 36, "init_p_zx4batch": 36, "mk_dann": 36, "parent_class": 36, "instanti": [36, 38], "dan": 36, "determin": [36, 38], "modeldan": 36, "list_d_tr": 36, "total_loss": 36, "task_loss": 36, "domain_classification_loss": 36, "net_discrimin": 36, "test_mk_exp_dann": 36, "mk_diva": 36, "vaexydclassif": 36, "subspac": 36, "ils": 36, "maximilian": 36, "modeldiva": 36, "chain_node_build": 36, "enter": 36, "test_mk_exp_diva": 36, "mk_erm": 36, "deepal": 36, "fact": 36, "stem": 36, "neglect": 36, "modelerm": 36, "test_mk_exp_erm": 36, "hierarch": [36, 38, 39], "mk_hduva": 36, "benefit": 36, "incomplet": 36, "preprint": 36, "modelhduva": 36, "classificaiton": 36, "move": 36, "gpu": [36, 38], "dann": [36, 39, 41], "mk_jigen": 36, "recov": 36, "modeljigen": 36, "list_str_d": 36, "net_classifier_class": 36, "net_classifier_permut": 36, "coeff_reg": 36, "img_class_loss": 36, "perm_task_loss": 36, "prob_permut": 36, "test_mk_exp_jigen": 36, "nodetaskdg": 37, "succ": 37, "conf_without_arg": 37, "get_list_domain": 37, "get_list_domains_tr_t": 37, "tr_id": 37, "te_id": 37, "dg": 37, "id": 37, "complement": 37, "get_na": 37, "na_tr": 37, "na_t": 37, "getter": 37, "list_domain_tr": 37, "loader_v": 37, "set_list_domain": 37, "list_domain": 37, "setter": 37, "_list_domain": 37, "taskclassif": 37, "nodetaskdgclassif": 37, "sample_sav": 37, "subfolder_na": [37, 38], "task_sampl": 37, "nodetaskdict": 37, "decorate_dset": 37, "organ": 37, "get_dset_by_domain": 37, "na_domain": 37, "nodetaskdictclassif": 37, "count_domain_class": 37, "doubl": 37, "class1": 37, "class2": 37, "task_custom": 37, "nodetaskfold": 37, "xx": 37, "yy": 37, "zz": 37, "nodetaskfolderclassnamismatch": 37, "jpeg": 37, "addtask2chain": 37, "nodetaskmnistcolor10": 37, "deafult": 37, "statement": 37, "taskpathlist": 37, "slot": 37, "know": 37, "numer": [37, 38], "nodetaskpathlistdummi": 37, "typedef": 37, "isinst": 37, "mk_node_task_path_list": 37, "img_trans_tr": 37, "dict_class_label_ind2nam": 37, "dict_d2filepath_list_img_tr": 37, "dict_d2filepath_list_img_v": 37, "dict_d2filepath_list_img_t": 37, "parse_domain_id": 37, "list_domain_id": 37, "wrap": 37, "dsetclassvecdecor": 37, "dict_folder_name2class_glob": 37, "fun_class_local_na2vec_new": 37, "straight": 37, "dsetclassvecdecoratorimgpath": 37, "dsetdomainvecdecor": 37, "vec_domain": 37, "dsetdomainvecdecoratorimgpath": 37, "mostli": 37, "loaderdomainlabel": 37, "dim_d": 37, "img_loader2dir": 37, "list_domain_na": 37, "list_class_na": 37, "specul": 37, "assumend": 37, "mk_loader": 37, "bsize": 37, "drop_last": 37, "num_work": 37, "mk_onehot": 37, "tensor1hot2ind": 37, "tensor_label": 37, "dsetinddecorator4xyd": 37, "wih": 37, "dsetzip": 37, "dset1": 37, "dset2": 37, "zip": 37, "getitem": 37, "x_1": 37, "y_1": 37, "x_2": 37, "y_2": 37, "idx": 37, "__get__item": 37, "taskchainnodegett": 37, "flowgenimg": 38, "gen_img_load": 38, "gen_img_xyd": 38, "folder_na": 38, "fun_gen": 38, "output_folder_na": 38, "gen_bencmark_plot": 38, "boxplot": 38, "dataframe_in": 38, "obj1": 38, "obj2": 38, "foldernam": 38, "boxplot_stochast": 38, "boxplot_systemat": 38, "ssystemt": 38, "gen_benchmark_plot": 38, "use_param_index": 38, "restult": 38, "intrepret": 38, "skip_gen": 38, "speed": 38, "max_0_x": 38, "x_arg": 38, "radar_plot": 38, "distinguish_hyperparam": 38, "distinguish_param_setup": 38, "distinguish": 38, "round_vals_in_dict": 38, "df_column_in": 38, "signific": 38, "hyperparam": 38, "scatterplot": 38, "kde": 38, "scatterplot_matrix": 38, "regress": 38, "print_diff": 38, "add_next_param_from_list": 38, "resurs": 38, "grid_task": 38, "param_grid": 38, "grid_df": 38, "recours": 38, "fassion": 38, "itself": 38, "finish": 38, "g_model_na": 38, "add_references_and_check_constraint": 38, "grid_df_prior": 38, "referenced_param": 38, "gridpoint": 38, "satisfi": 38, "add_shared_params_to_param_grid": 38, "shared_df": 38, "dict_param_grid": 38, "build_param_grid_of_shared_param": 38, "back": 38, "frame": 38, "lognormal_grid": 38, "param_config": 38, "loguniform_grid": 38, "normal_grid": 38, "rais_error_if_num_not_specifi": 38, "param_nam": 38, "rais": 38, "consider": 38, "round_to_discreate_grid_norm": 38, "round_to_discreate_grid_uniform": 38, "sample_grid": 38, "sample_gridsearch": 38, "dest": 38, "explicitli": 38, "trust": 38, "uniform_grid": 38, "categoricalhyperparamet": 38, "get_val": 38, "referencehyperparamet": 38, "sampledhyperparamet": 38, "check_constraint": 38, "create_samples_from_shared_sampl": 38, "shared_sampl": 38, "constraind": 38, "pd": 38, "g_method_na": 38, "get_hyperparamet": 38, "get_shared_sampl": 38, "shared_samples_ful": 38, "shared_config_ful": 38, "task_config": 38, "is_dict_with_kei": 38, "input_dict": 38, "sample_hyperparamet": 38, "sample_paramet": 38, "init_param": 38, "shared_config": 38, "10_0000": 38, "attempt": 38, "compli": 38, "sample_task": 38, "num_sampl": 38, "conf_samp": 38, "shared_conf_samp": 38, "sample_task_only_shar": 38, "sample_df": 38, "get_logg": 38, "logger_nam": 38, "logger_736044": 38, "info": 38, "anymor": 38, "interface_class": 38, "method2overrid": 38, "baseclass": 38, "fun": 38, "perfclassif": 38, "classmethod": 38, "cal_acc": 38, "gen_fun_acc": 38, "dim_target": 38, "get_list_pred_target": 38, "model_loc": 38, "went": 38, "perfmetricclassif": 38, "num_class": 38, "agg_precision_recall_f1": 38, "macro": 38, "cal_metr": 38, "sanitycheck": 38, "dataset_sanity_check": 38, "save_san_check_for_domain": 38, "sample_num": 38, "folder_nam": 38, "d_dataset": 38, "destin": 38, "mk_img": 38, "i_ch": 38, "mk_rand_label_onehot": 38, "mk_rand_xyd": 38, "im": 38, "y_dim": 38, "d_dim": 38, "import_path": 38, "build_external_obj_net_module_feat_extract": 38, "mpath": 38, "fine": 38, "problemat": 38, "architectur": 38, "store_arg": 38, "get_label_na": 38, "tensor_ind": 38, "list_str_na": 38, "logit2preds_vp": 38, "mk_dummy_label_list_str": 38, "get_devic": 38, "mk_fun_sav_img": 38, "nrow": 38, "saver": 38, "sav_add_titl": 38, "grid_img": 38, "matplotlib": 38, "pyplot": 38, "subpackag": [39, 40], "submodul": [39, 40], "FOR": 39, "evid": 39, "causal": 39, "motiv": 39, "theori": 39, "quantifi": 39, "page": [39, 41], "content": 40, "usual": 41, "novel": 41, "aim": 41, "site": 41, "cohort": 41, "vendor": 41, "unseen": 41, "platform": 41, "art": 41, "enhanc": 41, "d_1": 41, "d_2": 41, "varphi": 41, "hat": 41, "mu": 41, "penalti": 41, "boost": 41, "inter": 41, "io": 41, "mu_a": 41, "r_a": 41, "mu_b": 41, "r_b": 41, "mu_c": 41, "r_c": 41, "mu_d": 41, "r_d": 41, "pypi": 41, "project": 41, "recommend": 41, "environ": 41, "limit": 41, "tell": 41, "conf": [41, 43], "vlcs_diva_mldg_di": 41, "dann_diva": 41, "mldg_dial": 41, "700000": 41, "100000": 41, "tutori": 41, "simpli": 41, "your_benchmark_configur": 41, "launch": 41, "configuraiton": 41, "augment": 41, "reader": 41, "preprocessinga": 41, "rectangl": 41, "bar": [41, 43], "dot": 41, "2403": 41, "14356": 41, "sun2024domainlab": 41, "feistner": 41, "carla": 41, "gossmann": 41, "alexej": 41, "schwarz": 41, "georg": 41, "umer": 41, "rao": 41, "muhammad": 41, "beer": 41, "lisa": 41, "rockenschaub": 41, "patrick": 41, "shrestha": 41, "rahul": 41, "babu": 41, "gruber": 41, "armin": 41, "chen": 41, "nutan": 41, "2024": 41, "linkifi": 42, "m2r2": 42, "myst": 42, "rinohtyp": 42, "nbsphinx": 42, "nbsphinx_link": 42, "sphinx_materi": 42, "commonmark": 42, "rtfd": 42, "tab": 43, "websit": 43, "rst": 43, "navig": 43, "algoritm": 43}, "objects": {"": [[22, 0, 0, "-", "domainlab"]], "domainlab": [[23, 0, 0, "-", "algos"], [22, 0, 0, "-", "arg_parser"], [22, 0, 0, "-", "cli"], [28, 0, 0, "-", "compos"], [33, 0, 0, "-", "dsets"], [34, 0, 0, "-", "exp"], [35, 0, 0, "-", "exp_protocol"], [22, 5, 1, "", "g_list_model_penalized_reg_agg"], [22, 0, 0, "-", "mk_exp"], [36, 0, 0, "-", "models"], [37, 0, 0, "-", "tasks"], [38, 0, 0, "-", "utils"]], "domainlab.algos": [[23, 0, 0, "-", "a_algo_builder"], [23, 0, 0, "-", "builder_api_model"], [23, 0, 0, "-", "builder_custom"], [23, 0, 0, "-", "builder_dann"], [23, 0, 0, "-", "builder_diva"], [23, 0, 0, "-", "builder_erm"], [23, 0, 0, "-", "builder_hduva"], [23, 0, 0, "-", "builder_jigen1"], [24, 0, 0, "-", "msels"], [25, 0, 0, "-", "observers"], [26, 0, 0, "-", "trainers"], [23, 0, 0, "-", "utils"], [23, 0, 0, "-", "zoo_algos"]], "domainlab.algos.a_algo_builder": [[23, 1, 1, "", "NodeAlgoBuilder"]], "domainlab.algos.a_algo_builder.NodeAlgoBuilder": [[23, 2, 1, "", "extend"], [23, 2, 1, "", "init_business"], [23, 2, 1, "", "init_next_model"], [23, 2, 1, "", "is_myjob"], [23, 3, 1, "", "na_prefix"], [23, 4, 1, "", "name"]], "domainlab.algos.builder_api_model": [[23, 1, 1, "", "NodeAlgoBuilderAPIModel"]], "domainlab.algos.builder_api_model.NodeAlgoBuilderAPIModel": [[23, 2, 1, "", "init_business"]], "domainlab.algos.builder_custom": [[23, 5, 1, "", "make_basic_trainer"]], "domainlab.algos.builder_dann": [[23, 1, 1, "", "NodeAlgoBuilderDANN"]], "domainlab.algos.builder_dann.NodeAlgoBuilderDANN": [[23, 2, 1, "", "init_business"], [23, 2, 1, "", "reset_aux_net"]], "domainlab.algos.builder_diva": [[23, 1, 1, "", "NodeAlgoBuilderDIVA"]], "domainlab.algos.builder_diva.NodeAlgoBuilderDIVA": [[23, 2, 1, "", "get_trainer"], [23, 2, 1, "", "init_business"]], "domainlab.algos.builder_erm": [[23, 1, 1, "", "NodeAlgoBuilderERM"]], "domainlab.algos.builder_erm.NodeAlgoBuilderERM": [[23, 2, 1, "", "init_business"]], "domainlab.algos.builder_hduva": [[23, 1, 1, "", "NodeAlgoBuilderHDUVA"]], "domainlab.algos.builder_hduva.NodeAlgoBuilderHDUVA": [[23, 2, 1, "", "init_business"]], "domainlab.algos.builder_jigen1": [[23, 1, 1, "", "NodeAlgoBuilderJiGen"]], "domainlab.algos.builder_jigen1.NodeAlgoBuilderJiGen": [[23, 2, 1, "", "init_business"]], "domainlab.algos.msels": [[24, 0, 0, "-", "a_model_sel"], [24, 0, 0, "-", "c_msel_oracle"], [24, 0, 0, "-", "c_msel_tr_loss"], [24, 0, 0, "-", "c_msel_val"]], "domainlab.algos.msels.a_model_sel": [[24, 1, 1, "", "AMSel"]], "domainlab.algos.msels.a_model_sel.AMSel": [[24, 2, 1, "", "accept"], [24, 2, 1, "", "base_update"], [24, 4, 1, "", "best_te_metric"], [24, 4, 1, "", "best_val_acc"], [24, 2, 1, "", "early_stop"], [24, 2, 1, "", "if_stop"], [24, 4, 1, "", "max_es"], [24, 4, 1, "", "model_selection_epoch"], [24, 4, 1, "", "observer4msel"], [24, 2, 1, "", "reset"], [24, 4, 1, "", "sel_model_te_acc"], [24, 2, 1, "", "update"], [24, 4, 1, "", "val_threshold"]], "domainlab.algos.msels.c_msel_oracle": [[24, 1, 1, "", "MSelOracleVisitor"]], "domainlab.algos.msels.c_msel_oracle.MSelOracleVisitor": [[24, 2, 1, "", "accept"], [24, 2, 1, "", "base_update"], [24, 2, 1, "", "early_stop"], [24, 4, 1, "", "oracle_last_setpoint_sel_te_acc"]], "domainlab.algos.msels.c_msel_tr_loss": [[24, 1, 1, "", "MSelTrLoss"]], "domainlab.algos.msels.c_msel_tr_loss.MSelTrLoss": [[24, 2, 1, "", "base_update"], [24, 2, 1, "", "early_stop"], [24, 4, 1, "", "max_es"], [24, 2, 1, "", "reset"]], "domainlab.algos.msels.c_msel_val": [[24, 1, 1, "", "MSelValPerf"]], "domainlab.algos.msels.c_msel_val.MSelValPerf": [[24, 2, 1, "", "base_update"], [24, 4, 1, "", "best_te_metric"], [24, 4, 1, "", "best_val_acc"], [24, 2, 1, "", "reset"], [24, 4, 1, "", "sel_model_te_acc"]], "domainlab.algos.observers": [[25, 0, 0, "-", "a_observer"], [25, 0, 0, "-", "b_obvisitor"], [25, 0, 0, "-", "c_obvisitor_cleanup"], [25, 0, 0, "-", "c_obvisitor_gen"]], "domainlab.algos.observers.a_observer": [[25, 1, 1, "", "AObVisitor"]], "domainlab.algos.observers.a_observer.AObVisitor": [[25, 2, 1, "", "accept"], [25, 2, 1, "", "after_all"], [25, 2, 1, "", "clean_up"], [25, 2, 1, "", "reset"], [25, 2, 1, "", "set_task"], [25, 2, 1, "", "update"]], "domainlab.algos.observers.b_obvisitor": [[25, 1, 1, "", "ObVisitor"]], "domainlab.algos.observers.b_obvisitor.ObVisitor": [[25, 2, 1, "", "accept"], [25, 2, 1, "", "after_all"], [25, 2, 1, "", "cal_oracle_perf"], [25, 2, 1, "", "clean_up"], [25, 2, 1, "", "dump_prediction"], [25, 4, 1, "", "str_metric4msel"], [25, 2, 1, "", "update"]], "domainlab.algos.observers.c_obvisitor_cleanup": [[25, 1, 1, "", "ObVisitorCleanUp"]], "domainlab.algos.observers.c_obvisitor_cleanup.ObVisitorCleanUp": [[25, 2, 1, "", "accept"], [25, 2, 1, "", "after_all"], [25, 2, 1, "", "clean_up"], [25, 4, 1, "", "model_sel"], [25, 2, 1, "", "update"]], "domainlab.algos.observers.c_obvisitor_gen": [[25, 1, 1, "", "ObVisitorGen"]], "domainlab.algos.observers.c_obvisitor_gen.ObVisitorGen": [[25, 2, 1, "", "after_all"]], "domainlab.algos.trainers": [[26, 0, 0, "-", "a_trainer"], [26, 0, 0, "-", "args_dial"], [27, 0, 0, "-", "compos"], [26, 0, 0, "-", "hyper_scheduler"], [26, 0, 0, "-", "train_basic"], [26, 0, 0, "-", "train_dial"], [26, 0, 0, "-", "train_fishr"], [26, 0, 0, "-", "train_hyper_scheduler"], [26, 0, 0, "-", "train_matchdg"], [26, 0, 0, "-", "train_mldg"], [26, 0, 0, "-", "zoo_trainer"]], "domainlab.algos.trainers.a_trainer": [[26, 1, 1, "", "AbstractTrainer"], [26, 5, 1, "", "mk_opt"]], "domainlab.algos.trainers.a_trainer.AbstractTrainer": [[26, 2, 1, "", "after_batch"], [26, 2, 1, "", "before_batch"], [26, 2, 1, "", "before_tr"], [26, 2, 1, "", "cal_reg_loss"], [26, 4, 1, "", "decoratee"], [26, 2, 1, "", "dset_decoration_args_algo"], [26, 2, 1, "", "extend"], [26, 2, 1, "", "get_model"], [26, 2, 1, "", "init_business"], [26, 2, 1, "", "is_myjob"], [26, 4, 1, "", "list_tr_domain_size"], [26, 4, 1, "", "model"], [26, 4, 1, "", "name"], [26, 4, 1, "", "p_na_prefix"], [26, 2, 1, "", "post_tr"], [26, 2, 1, "", "reset"], [26, 4, 1, "", "str_metric4msel"], [26, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.args_dial": [[26, 5, 1, "", "add_args2parser_dial"]], "domainlab.algos.trainers.compos": [[27, 0, 0, "-", "matchdg_args"], [27, 0, 0, "-", "matchdg_match"], [27, 0, 0, "-", "matchdg_utils"]], "domainlab.algos.trainers.compos.matchdg_args": [[27, 5, 1, "", "add_args2parser_matchdg"]], "domainlab.algos.trainers.compos.matchdg_match": [[27, 1, 1, "", "MatchPair"]], "domainlab.algos.trainers.compos.matchdg_utils": [[27, 1, 1, "", "MatchDictInit"], [27, 1, 1, "", "MatchDictNumDomain2SizeDomain"], [27, 1, 1, "", "MatchDictVirtualRefDset2EachDomain"], [27, 5, 1, "", "dist_cosine_agg"], [27, 5, 1, "", "dist_pairwise_cosine"], [27, 5, 1, "", "fun_tensor_normalize"], [27, 5, 1, "", "get_base_domain_size4match_dg"]], "domainlab.algos.trainers.compos.matchdg_utils.MatchDictInit": [[27, 2, 1, "", "get_num_rows"]], "domainlab.algos.trainers.compos.matchdg_utils.MatchDictNumDomain2SizeDomain": [[27, 2, 1, "", "get_num_rows"]], "domainlab.algos.trainers.compos.matchdg_utils.MatchDictVirtualRefDset2EachDomain": [[27, 2, 1, "", "get_num_rows"]], "domainlab.algos.trainers.hyper_scheduler": [[26, 1, 1, "", "HyperSchedulerWarmupExponential"], [26, 1, 1, "", "HyperSchedulerWarmupLinear"]], "domainlab.algos.trainers.hyper_scheduler.HyperSchedulerWarmupExponential": [[26, 2, 1, "", "warmup"]], "domainlab.algos.trainers.hyper_scheduler.HyperSchedulerWarmupLinear": [[26, 2, 1, "", "set_steps"], [26, 2, 1, "", "warmup"]], "domainlab.algos.trainers.train_basic": [[26, 1, 1, "", "TrainerBasic"], [26, 5, 1, "", "list_divide"]], "domainlab.algos.trainers.train_basic.TrainerBasic": [[26, 2, 1, "", "after_epoch"], [26, 2, 1, "", "before_epoch"], [26, 2, 1, "", "before_tr"], [26, 2, 1, "", "cal_loss"], [26, 2, 1, "", "log_loss"], [26, 2, 1, "", "tr_batch"], [26, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.train_dial": [[26, 1, 1, "", "TrainerDIAL"]], "domainlab.algos.trainers.train_dial.TrainerDIAL": [[26, 2, 1, "", "gen_adversarial"]], "domainlab.algos.trainers.train_fishr": [[26, 1, 1, "", "TrainerFishr"]], "domainlab.algos.trainers.train_fishr.TrainerFishr": [[26, 2, 1, "", "cal_dict_variance_grads"], [26, 2, 1, "", "cal_mean_across_dict"], [26, 2, 1, "", "cal_power_single_dict"], [26, 2, 1, "", "tr_epoch"], [26, 2, 1, "", "var_grads_and_loss"], [26, 2, 1, "", "variance_between_dict"]], "domainlab.algos.trainers.train_hyper_scheduler": [[26, 1, 1, "", "TrainerHyperScheduler"]], "domainlab.algos.trainers.train_hyper_scheduler.TrainerHyperScheduler": [[26, 2, 1, "", "before_batch"], [26, 2, 1, "", "before_tr"], [26, 2, 1, "", "set_scheduler"], [26, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.train_matchdg": [[26, 1, 1, "", "TrainerMatchDG"], [26, 5, 1, "", "match_tensor_reshape"]], "domainlab.algos.trainers.train_matchdg.TrainerMatchDG": [[26, 2, 1, "", "before_tr"], [26, 2, 1, "", "dset_decoration_args_algo"], [26, 2, 1, "", "init_business"], [26, 2, 1, "", "mk_match_tensor"], [26, 2, 1, "", "tr_batch"], [26, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.train_mldg": [[26, 1, 1, "", "TrainerMLDG"]], "domainlab.algos.trainers.train_mldg.TrainerMLDG": [[26, 2, 1, "", "before_tr"], [26, 2, 1, "", "prepare_ziped_loader"], [26, 2, 1, "", "tr_epoch"]], "domainlab.algos.trainers.zoo_trainer": [[26, 1, 1, "", "TrainerChainNodeGetter"]], "domainlab.algos.utils": [[23, 5, 1, "", "split_net_feat_last"]], "domainlab.algos.zoo_algos": [[23, 1, 1, "", "AlgoBuilderChainNodeGetter"]], "domainlab.algos.zoo_algos.AlgoBuilderChainNodeGetter": [[23, 2, 1, "", "register_external_node"]], "domainlab.arg_parser": [[22, 5, 1, "", "apply_dict_to_args"], [22, 5, 1, "", "mk_parser_main"], [22, 5, 1, "", "parse_cmd_args"]], "domainlab.cli": [[22, 5, 1, "", "domainlab_cli"]], "domainlab.compos": [[28, 0, 0, "-", "a_nn_builder"], [28, 0, 0, "-", "builder_nn_alex"], [28, 0, 0, "-", "builder_nn_conv_bn_relu_2"], [28, 0, 0, "-", "builder_nn_external_from_file"], [29, 0, 0, "-", "nn_zoo"], [30, 0, 0, "-", "pcr"], [28, 0, 0, "-", "utils_conv_get_flat_dim"], [31, 0, 0, "-", "vae"], [28, 0, 0, "-", "zoo_nn"]], "domainlab.compos.a_nn_builder": [[28, 1, 1, "", "AbstractFeatExtractNNBuilderChainNode"]], "domainlab.compos.a_nn_builder.AbstractFeatExtractNNBuilderChainNode": [[28, 2, 1, "", "init_business"], [28, 2, 1, "", "is_myjob"]], "domainlab.compos.builder_nn_alex": [[28, 5, 1, "", "mkNodeFeatExtractNNBuilderNameAlex"]], "domainlab.compos.builder_nn_conv_bn_relu_2": [[28, 5, 1, "", "mkNodeFeatExtractNNBuilderNameConvBnRelu2"]], "domainlab.compos.builder_nn_external_from_file": [[28, 5, 1, "", "mkNodeFeatExtractNNBuilderExternFromFile"]], "domainlab.compos.nn_zoo": [[29, 0, 0, "-", "net_adversarial"], [29, 0, 0, "-", "net_classif"], [29, 0, 0, "-", "net_conv_conv_bn_pool_2"], [29, 0, 0, "-", "net_gated"], [29, 0, 0, "-", "nn"], [29, 0, 0, "-", "nn_alex"], [29, 0, 0, "-", "nn_torchvision"]], "domainlab.compos.nn_zoo.net_adversarial": [[29, 1, 1, "", "AutoGradFunMultiply"], [29, 1, 1, "", "AutoGradFunReverseMultiply"], [29, 1, 1, "", "Flatten"]], "domainlab.compos.nn_zoo.net_adversarial.AutoGradFunMultiply": [[29, 2, 1, "", "backward"], [29, 2, 1, "", "forward"]], "domainlab.compos.nn_zoo.net_adversarial.AutoGradFunReverseMultiply": [[29, 2, 1, "", "backward"], [29, 2, 1, "", "forward"]], "domainlab.compos.nn_zoo.net_adversarial.Flatten": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_classif": [[29, 1, 1, "", "ClassifDropoutReluLinear"]], "domainlab.compos.nn_zoo.net_classif.ClassifDropoutReluLinear": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_conv_conv_bn_pool_2": [[29, 1, 1, "", "NetConvBnReluPool2L"], [29, 1, 1, "", "NetConvDense"], [29, 5, 1, "", "mk_conv_bn_relu_pool"]], "domainlab.compos.nn_zoo.net_conv_conv_bn_pool_2.NetConvBnReluPool2L": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_conv_conv_bn_pool_2.NetConvDense": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_gated": [[29, 1, 1, "", "Conv2d"], [29, 1, 1, "", "GatedConv2d"], [29, 1, 1, "", "GatedDense"]], "domainlab.compos.nn_zoo.net_gated.Conv2d": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_gated.GatedConv2d": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.net_gated.GatedDense": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn": [[29, 1, 1, "", "DenseNet"], [29, 1, 1, "", "LayerId"]], "domainlab.compos.nn_zoo.nn.DenseNet": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn.LayerId": [[29, 2, 1, "", "forward"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_alex": [[29, 1, 1, "", "Alex4DeepAll"], [29, 1, 1, "", "AlexNetBase"], [29, 1, 1, "", "AlexNetNoLastLayer"]], "domainlab.compos.nn_zoo.nn_alex.Alex4DeepAll": [[29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_alex.AlexNetBase": [[29, 2, 1, "", "fetch_net"], [29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_alex.AlexNetNoLastLayer": [[29, 3, 1, "", "training"]], "domainlab.compos.nn_zoo.nn_torchvision": [[29, 1, 1, "", "NetTorchVisionBase"]], "domainlab.compos.nn_zoo.nn_torchvision.NetTorchVisionBase": [[29, 2, 1, "", "fetch_net"], [29, 2, 1, "", "forward"], [29, 2, 1, "", "show"], [29, 3, 1, "", "training"]], "domainlab.compos.pcr": [[30, 0, 0, "-", "p_chain_handler"], [30, 0, 0, "-", "request"]], "domainlab.compos.pcr.p_chain_handler": [[30, 1, 1, "", "AbstractChainNodeHandler"], [30, 1, 1, "", "DummyBusiness"], [30, 1, 1, "", "DummyChainNodeHandlerBeaver"], [30, 1, 1, "", "DummyChainNodeHandlerLazy"], [30, 1, 1, "", "Request4Chain"]], "domainlab.compos.pcr.p_chain_handler.AbstractChainNodeHandler": [[30, 2, 1, "", "handle"], [30, 2, 1, "", "init_business"], [30, 2, 1, "", "is_myjob"], [30, 2, 1, "", "print_options"], [30, 2, 1, "", "set_parent"]], "domainlab.compos.pcr.p_chain_handler.DummyBusiness": [[30, 3, 1, "", "message"]], "domainlab.compos.pcr.p_chain_handler.DummyChainNodeHandlerBeaver": [[30, 2, 1, "", "init_business"], [30, 2, 1, "", "is_myjob"]], "domainlab.compos.pcr.p_chain_handler.DummyChainNodeHandlerLazy": [[30, 2, 1, "", "init_business"], [30, 2, 1, "", "is_myjob"]], "domainlab.compos.pcr.p_chain_handler.Request4Chain": [[30, 2, 1, "", "convert"]], "domainlab.compos.pcr.request": [[30, 1, 1, "", "RequestArgs2ExpCmd"], [30, 1, 1, "", "RequestTask"], [30, 1, 1, "", "RequestVAEBuilderCHW"], [30, 1, 1, "", "RequestVAEBuilderNN"]], "domainlab.compos.utils_conv_get_flat_dim": [[28, 5, 1, "", "get_flat_dim"]], "domainlab.compos.vae": [[31, 0, 0, "-", "a_model_builder"], [31, 0, 0, "-", "a_vae_builder"], [31, 0, 0, "-", "c_vae_adaptor_model_recon"], [31, 0, 0, "-", "c_vae_builder_classif"], [31, 0, 0, "-", "c_vae_recon"], [32, 0, 0, "-", "compos"], [31, 0, 0, "-", "utils_request_chain_builder"], [31, 0, 0, "-", "zoo_vae_builders_classif"], [31, 0, 0, "-", "zoo_vae_builders_classif_topic"]], "domainlab.compos.vae.a_model_builder": [[31, 1, 1, "", "AbstractModelBuilderChainNode"]], "domainlab.compos.vae.a_model_builder.AbstractModelBuilderChainNode": [[31, 2, 1, "", "config"]], "domainlab.compos.vae.a_vae_builder": [[31, 1, 1, "", "AbstractVAEBuilderChainNode"]], "domainlab.compos.vae.a_vae_builder.AbstractVAEBuilderChainNode": [[31, 2, 1, "", "build_decoder"], [31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "init_business"]], "domainlab.compos.vae.c_vae_adaptor_model_recon": [[31, 1, 1, "", "AdaptorReconVAEXYD"]], "domainlab.compos.vae.c_vae_adaptor_model_recon.AdaptorReconVAEXYD": [[31, 2, 1, "", "cal_latent"], [31, 2, 1, "", "cal_prior_zd"], [31, 2, 1, "", "cal_prior_zy"], [31, 2, 1, "", "recon_ydx"]], "domainlab.compos.vae.c_vae_builder_classif": [[31, 1, 1, "", "ChainNodeVAEBuilderClassifCondPrior"]], "domainlab.compos.vae.c_vae_builder_classif.ChainNodeVAEBuilderClassifCondPrior": [[31, 2, 1, "", "build_decoder"], [31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "construct_classifier"], [31, 2, 1, "", "construct_cond_prior"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.c_vae_recon": [[31, 1, 1, "", "ReconVAEXYD"]], "domainlab.compos.vae.c_vae_recon.ReconVAEXYD": [[31, 2, 1, "", "recon"], [31, 2, 1, "", "recon_cf"]], "domainlab.compos.vae.compos": [[32, 0, 0, "-", "decoder_concat_vec_reshape_conv"], [32, 0, 0, "-", "decoder_concat_vec_reshape_conv_gated_conv"], [32, 0, 0, "-", "decoder_cond_prior"], [32, 0, 0, "-", "decoder_losses"], [32, 0, 0, "-", "encoder"], [32, 0, 0, "-", "encoder_dirichlet"], [32, 0, 0, "-", "encoder_domain_topic"], [32, 0, 0, "-", "encoder_domain_topic_img2topic"], [32, 0, 0, "-", "encoder_domain_topic_img_topic2zd"], [32, 0, 0, "-", "encoder_xyd_parallel"], [32, 0, 0, "-", "encoder_xydt_elevator"], [32, 0, 0, "-", "encoder_zy"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv": [[32, 1, 1, "", "DecoderConcatLatentFcReshapeConv"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv.DecoderConcatLatentFcReshapeConv": [[32, 2, 1, "", "cal_p_x_pars_loc_scale"], [32, 2, 1, "", "concat_ydx"], [32, 2, 1, "", "concat_ytdx"], [32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv_gated_conv": [[32, 1, 1, "", "DecoderConcatLatentFCReshapeConvGatedConv"]], "domainlab.compos.vae.compos.decoder_concat_vec_reshape_conv_gated_conv.DecoderConcatLatentFCReshapeConvGatedConv": [[32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.decoder_cond_prior": [[32, 1, 1, "", "LSCondPriorLinearBnReluLinearSoftPlus"]], "domainlab.compos.vae.compos.decoder_cond_prior.LSCondPriorLinearBnReluLinearSoftPlus": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.decoder_losses": [[32, 1, 1, "", "NLLPixelLogistic256"]], "domainlab.compos.vae.compos.encoder": [[32, 1, 1, "", "LSEncoderConvBnReluPool"], [32, 1, 1, "", "LSEncoderLinear"]], "domainlab.compos.vae.compos.encoder.LSEncoderConvBnReluPool": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder.LSEncoderLinear": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_dirichlet": [[32, 1, 1, "", "EncoderH2Dirichlet"]], "domainlab.compos.vae.compos.encoder_dirichlet.EncoderH2Dirichlet": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_domain_topic": [[32, 1, 1, "", "EncoderImg2TopicDirZd"]], "domainlab.compos.vae.compos.encoder_domain_topic.EncoderImg2TopicDirZd": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_domain_topic_img2topic": [[32, 1, 1, "", "EncoderImg2TopicDistri"]], "domainlab.compos.vae.compos.encoder_domain_topic_img2topic.EncoderImg2TopicDistri": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_domain_topic_img_topic2zd": [[32, 1, 1, "", "EncoderSandwichTopicImg2Zd"]], "domainlab.compos.vae.compos.encoder_domain_topic_img_topic2zd.EncoderSandwichTopicImg2Zd": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel": [[32, 1, 1, "", "XYDEncoderParallel"], [32, 1, 1, "", "XYDEncoderParallelAlex"], [32, 1, 1, "", "XYDEncoderParallelConvBnReluPool"], [32, 1, 1, "", "XYDEncoderParallelExtern"], [32, 1, 1, "", "XYDEncoderParallelUser"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallel": [[32, 2, 1, "", "forward"], [32, 2, 1, "", "infer_zy_loc"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelAlex": [[32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelConvBnReluPool": [[32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelExtern": [[32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xyd_parallel.XYDEncoderParallelUser": [[32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xydt_elevator": [[32, 1, 1, "", "XYDTEncoderArg"], [32, 1, 1, "", "XYDTEncoderElevator"]], "domainlab.compos.vae.compos.encoder_xydt_elevator.XYDTEncoderArg": [[32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_xydt_elevator.XYDTEncoderElevator": [[32, 2, 1, "", "forward"], [32, 2, 1, "", "infer_zy_loc"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.compos.encoder_zy": [[32, 1, 1, "", "EncoderConnectLastFeatLayer2Z"]], "domainlab.compos.vae.compos.encoder_zy.EncoderConnectLastFeatLayer2Z": [[32, 2, 1, "", "forward"], [32, 3, 1, "", "training"]], "domainlab.compos.vae.utils_request_chain_builder": [[31, 1, 1, "", "VAEChainNodeGetter"]], "domainlab.compos.vae.zoo_vae_builders_classif": [[31, 1, 1, "", "ChainNodeVAEBuilderClassifCondPriorBase"], [31, 1, 1, "", "NodeVAEBuilderArg"], [31, 1, 1, "", "NodeVAEBuilderImgAlex"], [31, 1, 1, "", "NodeVAEBuilderImgConvBnPool"], [31, 1, 1, "", "NodeVAEBuilderUser"]], "domainlab.compos.vae.zoo_vae_builders_classif.ChainNodeVAEBuilderClassifCondPriorBase": [[31, 2, 1, "", "build_decoder"], [31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "config_img"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderArg": [[31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderImgAlex": [[31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderImgConvBnPool": [[31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif.NodeVAEBuilderUser": [[31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.vae.zoo_vae_builders_classif_topic": [[31, 1, 1, "", "NodeVAEBuilderImgTopic"]], "domainlab.compos.vae.zoo_vae_builders_classif_topic.NodeVAEBuilderImgTopic": [[31, 2, 1, "", "build_decoder"], [31, 2, 1, "", "build_encoder"], [31, 2, 1, "", "is_myjob"]], "domainlab.compos.zoo_nn": [[28, 1, 1, "", "FeatExtractNNBuilderChainNodeGetter"]], "domainlab.dsets": [[33, 0, 0, "-", "a_dset_mnist_color_rgb_solo"], [33, 0, 0, "-", "dset_img_path_list"], [33, 0, 0, "-", "dset_mnist_color_solo_default"], [33, 0, 0, "-", "dset_poly_domains_mnist_color_default"], [33, 0, 0, "-", "dset_subfolder"], [33, 0, 0, "-", "utils_color_palette"], [33, 0, 0, "-", "utils_data"], [33, 0, 0, "-", "utils_wrapdset_patches"]], "domainlab.dsets.a_dset_mnist_color_rgb_solo": [[33, 1, 1, "", "ADsetMNISTColorRGBSolo"]], "domainlab.dsets.a_dset_mnist_color_rgb_solo.ADsetMNISTColorRGBSolo": [[33, 2, 1, "", "get_background_color"], [33, 2, 1, "", "get_foreground_color"], [33, 2, 1, "", "get_num_colors"]], "domainlab.dsets.dset_img_path_list": [[33, 1, 1, "", "DsetImPathList"]], "domainlab.dsets.dset_img_path_list.DsetImPathList": [[33, 2, 1, "", "get_list_tuple_img_label"]], "domainlab.dsets.dset_mnist_color_solo_default": [[33, 1, 1, "", "DsetMNISTColorSoloDefault"]], "domainlab.dsets.dset_mnist_color_solo_default.DsetMNISTColorSoloDefault": [[33, 2, 1, "", "get_background_color"], [33, 2, 1, "", "get_foreground_color"], [33, 2, 1, "", "get_num_colors"], [33, 4, 1, "", "palette"]], "domainlab.dsets.dset_poly_domains_mnist_color_default": [[33, 1, 1, "", "DsetMNISTColorMix"], [33, 1, 1, "", "DsetMNISTColorMixNoDomainLabel"]], "domainlab.dsets.dset_subfolder": [[33, 1, 1, "", "DsetSubFolder"], [33, 5, 1, "", "fetch_img_paths"], [33, 5, 1, "", "has_file_allowed_extension"]], "domainlab.dsets.utils_data": [[33, 1, 1, "", "DsetInMemDecorator"], [33, 5, 1, "", "fun_img_path_loader_default"], [33, 5, 1, "", "mk_fun_label2onehot"], [33, 5, 1, "", "plot_ds"], [33, 5, 1, "", "plot_ds_list"]], "domainlab.dsets.utils_wrapdset_patches": [[33, 1, 1, "", "WrapDsetPatches"]], "domainlab.dsets.utils_wrapdset_patches.WrapDsetPatches": [[33, 2, 1, "", "get_tile"]], "domainlab.exp": [[34, 0, 0, "-", "exp_cuda_seed"], [34, 0, 0, "-", "exp_main"], [34, 0, 0, "-", "exp_utils"]], "domainlab.exp.exp_cuda_seed": [[34, 5, 1, "", "set_seed"]], "domainlab.exp.exp_main": [[34, 1, 1, "", "Exp"]], "domainlab.exp.exp_main.Exp": [[34, 2, 1, "", "clean_up"], [34, 2, 1, "", "execute"]], "domainlab.exp.exp_utils": [[34, 1, 1, "", "AggWriter"], [34, 1, 1, "", "ExpModelPersistVisitor"], [34, 1, 1, "", "ExpProtocolAggWriter"]], "domainlab.exp.exp_utils.AggWriter": [[34, 2, 1, "", "confmat_to_file"], [34, 2, 1, "", "first_line"], [34, 2, 1, "", "get_cols"], [34, 2, 1, "", "get_fpath"], [34, 2, 1, "", "to_file"]], "domainlab.exp.exp_utils.ExpModelPersistVisitor": [[34, 2, 1, "", "clean_up"], [34, 2, 1, "", "load"], [34, 2, 1, "", "mk_model_na"], [34, 3, 1, "", "model_dir"], [34, 3, 1, "", "model_suffix"], [34, 2, 1, "", "remove"], [34, 2, 1, "", "save"]], "domainlab.exp.exp_utils.ExpProtocolAggWriter": [[34, 2, 1, "", "confmat_to_file"], [34, 2, 1, "", "get_cols"], [34, 2, 1, "", "get_fpath"]], "domainlab.exp_protocol": [[35, 0, 0, "-", "aggregate_results"], [35, 0, 0, "-", "run_experiment"]], "domainlab.exp_protocol.aggregate_results": [[35, 5, 1, "", "agg_from_directory"], [35, 5, 1, "", "agg_main"], [35, 5, 1, "", "agg_results"]], "domainlab.exp_protocol.run_experiment": [[35, 5, 1, "", "convert_dict2float"], [35, 5, 1, "", "load_parameters"], [35, 5, 1, "", "run_experiment"]], "domainlab.mk_exp": [[22, 5, 1, "", "mk_exp"]], "domainlab.models": [[36, 0, 0, "-", "a_model"], [36, 0, 0, "-", "a_model_classif"], [36, 0, 0, "-", "args_jigen"], [36, 0, 0, "-", "args_vae"], [36, 0, 0, "-", "interface_vae_xyd"], [36, 0, 0, "-", "model_custom"], [36, 0, 0, "-", "model_dann"], [36, 0, 0, "-", "model_diva"], [36, 0, 0, "-", "model_erm"], [36, 0, 0, "-", "model_hduva"], [36, 0, 0, "-", "model_jigen"], [36, 0, 0, "-", "model_vae_xyd_classif"]], "domainlab.models.a_model": [[36, 1, 1, "", "AModel"]], "domainlab.models.a_model.AModel": [[36, 2, 1, "", "cal_loss"], [36, 2, 1, "", "cal_reg_loss"], [36, 2, 1, "", "cal_task_loss"], [36, 2, 1, "", "dset_decoration_args_algo"], [36, 2, 1, "", "extend"], [36, 2, 1, "", "extract_semantic_feat"], [36, 2, 1, "", "forward"], [36, 2, 1, "", "list_inner_product"], [36, 2, 1, "", "load"], [36, 4, 1, "", "metric4msel"], [36, 4, 1, "", "multiplier4task_loss"], [36, 4, 1, "", "net_invar_feat"], [36, 2, 1, "", "reset_aux_net"], [36, 2, 1, "", "reset_feature_extractor"], [36, 2, 1, "", "save"], [36, 2, 1, "", "set_saver"], [36, 3, 1, "", "training"]], "domainlab.models.a_model_classif": [[36, 1, 1, "", "AModelClassif"]], "domainlab.models.a_model_classif.AModelClassif": [[36, 2, 1, "", "cal_logit_y"], [36, 2, 1, "", "cal_loss_gen_adv"], [36, 2, 1, "", "cal_perf_metric"], [36, 2, 1, "", "cal_task_loss"], [36, 2, 1, "", "create_perf_obj"], [36, 4, 1, "", "dim_y"], [36, 2, 1, "", "evaluate"], [36, 2, 1, "", "extend"], [36, 2, 1, "", "extract_semantic_feat"], [36, 2, 1, "", "infer_y_vpicn"], [36, 3, 1, "", "match_feat_fun_na"], [36, 4, 1, "", "metric4msel"], [36, 4, 1, "", "net_classifier"], [36, 2, 1, "", "pred2file"], [36, 2, 1, "", "read_prediction_file"], [36, 3, 1, "", "training"]], "domainlab.models.args_jigen": [[36, 5, 1, "", "add_args2parser_jigen"]], "domainlab.models.args_vae": [[36, 5, 1, "", "add_args2parser_vae"]], "domainlab.models.interface_vae_xyd": [[36, 1, 1, "", "InterfaceVAEXYD"]], "domainlab.models.interface_vae_xyd.InterfaceVAEXYD": [[36, 2, 1, "", "init"], [36, 2, 1, "", "init_p_zx4batch"]], "domainlab.models.model_custom": [[36, 1, 1, "", "AModelCustom"]], "domainlab.models.model_custom.AModelCustom": [[36, 2, 1, "", "dict_net_module_na2arg_na"], [36, 3, 1, "", "training"]], "domainlab.models.model_dann": [[36, 5, 1, "", "mk_dann"]], "domainlab.models.model_diva": [[36, 5, 1, "", "mk_diva"]], "domainlab.models.model_erm": [[36, 5, 1, "", "mk_erm"]], "domainlab.models.model_hduva": [[36, 5, 1, "", "mk_hduva"]], "domainlab.models.model_jigen": [[36, 5, 1, "", "mk_jigen"]], "domainlab.models.model_vae_xyd_classif": [[36, 1, 1, "", "VAEXYDClassif"]], "domainlab.models.model_vae_xyd_classif.VAEXYDClassif": [[36, 2, 1, "", "extract_semantic_feat"], [36, 4, 1, "", "multiplier4task_loss"], [36, 3, 1, "", "training"]], "domainlab.tasks": [[37, 0, 0, "-", "a_task"], [37, 0, 0, "-", "a_task_classif"], [37, 0, 0, "-", "b_task"], [37, 0, 0, "-", "b_task_classif"], [37, 0, 0, "-", "task_dset"], [37, 0, 0, "-", "task_folder"], [37, 0, 0, "-", "task_folder_mk"], [37, 0, 0, "-", "task_mini_vlcs"], [37, 0, 0, "-", "task_mnist_color"], [37, 0, 0, "-", "task_pathlist"], [37, 0, 0, "-", "task_utils"], [37, 0, 0, "-", "utils_task"], [37, 0, 0, "-", "utils_task_dset"], [37, 0, 0, "-", "zoo_tasks"]], "domainlab.tasks.a_task": [[37, 1, 1, "", "NodeTaskDG"]], "domainlab.tasks.a_task.NodeTaskDG": [[37, 2, 1, "", "conf_without_args"], [37, 2, 1, "", "get_list_domains"], [37, 2, 1, "", "get_list_domains_tr_te"], [37, 2, 1, "", "get_na"], [37, 2, 1, "", "init_business"], [37, 2, 1, "", "is_myjob"], [37, 4, 1, "", "isize"], [37, 4, 1, "", "list_domain_tr"], [37, 4, 1, "", "loader_te"], [37, 4, 1, "", "loader_tr"], [37, 4, 1, "", "loader_val"], [37, 2, 1, "", "set_list_domains"], [37, 4, 1, "", "task_name"]], "domainlab.tasks.a_task_classif": [[37, 1, 1, "", "NodeTaskDGClassif"]], "domainlab.tasks.a_task_classif.NodeTaskDGClassif": [[37, 4, 1, "", "dim_y"], [37, 4, 1, "", "list_str_y"], [37, 2, 1, "", "sample_sav"]], "domainlab.tasks.b_task": [[37, 1, 1, "", "NodeTaskDict"]], "domainlab.tasks.b_task.NodeTaskDict": [[37, 2, 1, "", "decorate_dset"], [37, 2, 1, "", "get_dset_by_domain"], [37, 2, 1, "", "init_business"]], "domainlab.tasks.b_task_classif": [[37, 1, 1, "", "NodeTaskDictClassif"]], "domainlab.tasks.b_task_classif.NodeTaskDictClassif": [[37, 2, 1, "", "count_domain_class"], [37, 2, 1, "", "init_business"]], "domainlab.tasks.task_dset": [[37, 5, 1, "", "mk_task_dset"]], "domainlab.tasks.task_folder": [[37, 1, 1, "", "NodeTaskFolder"], [37, 1, 1, "", "NodeTaskFolderClassNaMismatch"]], "domainlab.tasks.task_folder.NodeTaskFolder": [[37, 4, 1, "", "dict_domain2imgroot"], [37, 4, 1, "", "extensions"], [37, 2, 1, "", "get_dset_by_domain"]], "domainlab.tasks.task_folder.NodeTaskFolderClassNaMismatch": [[37, 2, 1, "", "get_dset_by_domain"]], "domainlab.tasks.task_folder_mk": [[37, 5, 1, "", "mk_task_folder"]], "domainlab.tasks.task_mini_vlcs": [[37, 5, 1, "", "addtask2chain"]], "domainlab.tasks.task_mnist_color": [[37, 1, 1, "", "NodeTaskMNISTColor10"]], "domainlab.tasks.task_mnist_color.NodeTaskMNISTColor10": [[37, 2, 1, "", "get_dset_by_domain"], [37, 2, 1, "", "get_list_domains"], [37, 4, 1, "", "isize"], [37, 4, 1, "", "list_str_y"]], "domainlab.tasks.task_pathlist": [[37, 1, 1, "", "NodeTaskPathListDummy"], [37, 5, 1, "", "mk_node_task_path_list"]], "domainlab.tasks.task_pathlist.NodeTaskPathListDummy": [[37, 2, 1, "", "get_dset_by_domain"]], "domainlab.tasks.task_utils": [[37, 5, 1, "", "parse_domain_id"]], "domainlab.tasks.utils_task": [[37, 1, 1, "", "DsetClassVecDecorator"], [37, 1, 1, "", "DsetClassVecDecoratorImgPath"], [37, 1, 1, "", "DsetDomainVecDecorator"], [37, 1, 1, "", "DsetDomainVecDecoratorImgPath"], [37, 1, 1, "", "ImSize"], [37, 1, 1, "", "LoaderDomainLabel"], [37, 5, 1, "", "img_loader2dir"], [37, 5, 1, "", "mk_loader"], [37, 5, 1, "", "mk_onehot"], [37, 5, 1, "", "tensor1hot2ind"]], "domainlab.tasks.utils_task.DsetClassVecDecorator": [[37, 2, 1, "", "fun_class_local_na2vec_new"], [37, 4, 1, "", "targets"]], "domainlab.tasks.utils_task.DsetDomainVecDecorator": [[37, 4, 1, "", "targets"]], "domainlab.tasks.utils_task.ImSize": [[37, 4, 1, "", "c"], [37, 4, 1, "", "h"], [37, 4, 1, "", "w"]], "domainlab.tasks.utils_task_dset": [[37, 1, 1, "", "DsetIndDecorator4XYD"], [37, 1, 1, "", "DsetZip"]], "domainlab.tasks.zoo_tasks": [[37, 1, 1, "", "TaskChainNodeGetter"], [37, 5, 1, "", "get_task"]], "domainlab.utils": [[38, 0, 0, "-", "flows_gen_img_model"], [38, 0, 0, "-", "generate_benchmark_plots"], [38, 0, 0, "-", "get_git_tag"], [38, 0, 0, "-", "hyperparameter_gridsearch"], [38, 0, 0, "-", "hyperparameter_sampling"], [38, 0, 0, "-", "logger"], [38, 0, 0, "-", "override_interface"], [38, 0, 0, "-", "perf"], [38, 0, 0, "-", "perf_metrics"], [38, 0, 0, "-", "sanity_check"], [38, 0, 0, "-", "test_img"], [38, 0, 0, "-", "u_import"], [38, 0, 0, "-", "u_import_net_module"], [38, 0, 0, "-", "utils_class"], [38, 0, 0, "-", "utils_classif"], [38, 0, 0, "-", "utils_cuda"], [38, 0, 0, "-", "utils_img_sav"]], "domainlab.utils.flows_gen_img_model": [[38, 1, 1, "", "FlowGenImgs"], [38, 5, 1, "", "fun_gen"]], "domainlab.utils.flows_gen_img_model.FlowGenImgs": [[38, 2, 1, "", "gen_img_loader"], [38, 2, 1, "", "gen_img_xyd"]], "domainlab.utils.generate_benchmark_plots": [[38, 5, 1, "", "boxplot"], [38, 5, 1, "", "boxplot_stochastic"], [38, 5, 1, "", "boxplot_systematic"], [38, 5, 1, "", "gen_benchmark_plots"], [38, 5, 1, "", "gen_plots"], [38, 5, 1, "", "max_0_x"], [38, 5, 1, "", "radar_plot"], [38, 5, 1, "", "round_vals_in_dict"], [38, 5, 1, "", "scatterplot"], [38, 5, 1, "", "scatterplot_matrix"]], "domainlab.utils.get_git_tag": [[38, 5, 1, "", "get_git_tag"]], "domainlab.utils.hyperparameter_gridsearch": [[38, 5, 1, "", "add_next_param_from_list"], [38, 5, 1, "", "add_references_and_check_constraints"], [38, 5, 1, "", "add_shared_params_to_param_grids"], [38, 5, 1, "", "build_param_grid_of_shared_params"], [38, 5, 1, "", "grid_task"], [38, 5, 1, "", "lognormal_grid"], [38, 5, 1, "", "loguniform_grid"], [38, 5, 1, "", "normal_grid"], [38, 5, 1, "", "rais_error_if_num_not_specified"], [38, 5, 1, "", "round_to_discreate_grid_normal"], [38, 5, 1, "", "round_to_discreate_grid_uniform"], [38, 5, 1, "", "sample_grid"], [38, 5, 1, "", "sample_gridsearch"], [38, 5, 1, "", "uniform_grid"]], "domainlab.utils.hyperparameter_sampling": [[38, 1, 1, "", "CategoricalHyperparameter"], [38, 1, 1, "", "Hyperparameter"], [38, 1, 1, "", "ReferenceHyperparameter"], [38, 1, 1, "", "SampledHyperparameter"], [38, 5, 1, "", "check_constraints"], [38, 5, 1, "", "create_samples_from_shared_samples"], [38, 5, 1, "", "get_hyperparameter"], [38, 5, 1, "", "get_shared_samples"], [38, 5, 1, "", "is_dict_with_key"], [38, 5, 1, "", "sample_hyperparameters"], [38, 5, 1, "", "sample_parameters"], [38, 5, 1, "", "sample_task"], [38, 5, 1, "", "sample_task_only_shared"]], "domainlab.utils.hyperparameter_sampling.CategoricalHyperparameter": [[38, 2, 1, "", "datatype"], [38, 2, 1, "", "sample"]], "domainlab.utils.hyperparameter_sampling.Hyperparameter": [[38, 2, 1, "", "datatype"], [38, 2, 1, "", "get_val"], [38, 2, 1, "", "sample"]], "domainlab.utils.hyperparameter_sampling.ReferenceHyperparameter": [[38, 2, 1, "", "datatype"], [38, 2, 1, "", "sample"]], "domainlab.utils.hyperparameter_sampling.SampledHyperparameter": [[38, 2, 1, "", "datatype"], [38, 2, 1, "", "sample"]], "domainlab.utils.logger": [[38, 1, 1, "", "Logger"]], "domainlab.utils.logger.Logger": [[38, 2, 1, "", "get_logger"], [38, 3, 1, "", "logger"]], "domainlab.utils.override_interface": [[38, 5, 1, "", "override_interface"]], "domainlab.utils.perf": [[38, 1, 1, "", "PerfClassif"]], "domainlab.utils.perf.PerfClassif": [[38, 2, 1, "", "cal_acc"], [38, 2, 1, "", "gen_fun_acc"], [38, 2, 1, "", "get_list_pred_target"]], "domainlab.utils.perf_metrics": [[38, 1, 1, "", "PerfMetricClassif"]], "domainlab.utils.perf_metrics.PerfMetricClassif": [[38, 2, 1, "", "cal_metrics"]], "domainlab.utils.sanity_check": [[38, 1, 1, "", "SanityCheck"]], "domainlab.utils.sanity_check.SanityCheck": [[38, 2, 1, "", "dataset_sanity_check"], [38, 2, 1, "", "save_san_check_for_domain"]], "domainlab.utils.test_img": [[38, 5, 1, "", "mk_img"], [38, 5, 1, "", "mk_rand_label_onehot"], [38, 5, 1, "", "mk_rand_xyd"]], "domainlab.utils.u_import": [[38, 5, 1, "", "import_path"]], "domainlab.utils.u_import_net_module": [[38, 5, 1, "", "build_external_obj_net_module_feat_extract"]], "domainlab.utils.utils_class": [[38, 5, 1, "", "store_args"]], "domainlab.utils.utils_classif": [[38, 5, 1, "", "get_label_na"], [38, 5, 1, "", "logit2preds_vpic"], [38, 5, 1, "", "mk_dummy_label_list_str"]], "domainlab.utils.utils_cuda": [[38, 5, 1, "", "get_device"]], "domainlab.utils.utils_img_sav": [[38, 5, 1, "", "mk_fun_sav_img"], [38, 5, 1, "", "sav_add_title"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"trainer": [0, 1, 4, 10, 13, 16, 26, 27], "dial": [0, 13, 21], "domain": [0, 1, 2, 4, 5, 11, 12, 13, 16, 19, 41], "invari": [0, 1, 12, 41], "adversari": [0, 11, 13], "learn": [0, 13, 16], "gener": [0, 1, 2, 4, 6, 9, 13, 16, 41], "network": [0, 4, 10, 11, 13, 41], "structur": [0, 6, 14, 18], "loss": [0, 2], "function": [0, 2], "gradient": [0, 1], "revers": 0, "layer": 0, "fishr": 1, "varianc": 1, "out": [1, 13], "distribut": [1, 9, 41], "quantifi": 1, "inconsist": 1, "between": [1, 6], "match": [1, 4], "dure": 1, "train": [1, 4, 13, 19, 41], "implement": [1, 13, 17, 20], "model": [2, 3, 10, 11, 12, 13, 17, 20, 21, 36], "hduva": [2, 13], "hierarch": 2, "variat": [2, 12], "auto": 2, "encod": [2, 13, 32], "FOR": 2, "unsupervis": [2, 13], "overview": 2, "evid": 2, "lower": 2, "bound": 2, "overal": 2, "hyperparamet": [2, 6, 7, 9, 21], "warmup": 2, "jigen": [3, 13, 21], "paramet": [3, 12, 13, 21], "matchdg": [4, 10, 13, 21], "us": [4, 10, 13], "causal": 4, "motiv": 4, "theori": 4, "color": [5, 13], "mnist": [5, 13], "classif": [5, 13], "dataset": [5, 13, 19], "generalis": 5, "erm": [5, 10, 13], "emper": 5, "risk": 5, "minim": 5, "diva": [5, 12, 13], "result": [5, 6], "detail": [5, 6], "prompt": 5, "explan": [5, 7], "benchmark": [6, 7, 9, 41], "domainlab": [6, 8, 15, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "depend": [6, 15], "instal": [6, 15, 41], "unix": 6, "window": 6, "set": [6, 13], "up": 6, "run": 6, "standalon": 6, "machin": 6, "without": 6, "gpu": 6, "hpc": 6, "cluster": 6, "slurm": 6, "check": [6, 13], "error": 6, "map": 6, "job": 6, "id": 6, "sampl": [6, 7, 9], "index": 6, "obtain": 6, "output": [6, 18], "folder": [6, 13], "partial": 6, "plot": 6, "from": [6, 13], "csv": 6, "file": [6, 9, 13, 41], "further": [7, 21], "setup": [7, 9], "constraint": 7, "let": 8, "know": 8, "where": 8, "your": 8, "pac": 8, "data": [8, 19], "were": 8, "locat": 8, "yaml": 9, "descript": 9, "uniform": 9, "loguniform": 9, "normal": 9, "lognorm": 9, "cathegor": 9, "referenc": 9, "hperparamet": 9, "special": 9, "argument": [9, 17, 21, 41], "combin": 9, "share": 9, "task": [9, 13, 19, 21, 37, 41], "specif": [9, 17, 19, 20, 21, 41], "specifi": [10, 19], "neural": [10, 11, 13, 41], "command": [10, 13, 21, 41], "line": [10, 13, 41], "exampl": [10, 13, 20, 21, 41], "case": 10, "custom": [10, 13, 17], "dann": [11, 13], "autoencod": 12, "version": [13, 15], "leav": 13, "one": 13, "choos": 13, "test": [13, 19], "make": 13, "saniti": 13, "8": 13, "instanc": 13, "each": 13, "class": [13, 17], "onli": 13, "2": [13, 17, 19], "domain2": 13, "imag": 13, "so": 13, "work": 13, "also": 13, "singl": 13, "larger": 13, "sanniti": 13, "tile": 13, "shuffl": 13, "alex": 13, "net": 13, "sandwich": 13, "topic": 13, "user": 13, "defin": 13, "extern": 13, "imagepath": 13, "algorithm": 13, "python": [13, 41], "hyper": 13, "well": 13, "meta": [13, 16], "softwar": 14, "architectur": 14, "design": 14, "code": 14, "creat": [15, 17], "virtual": 15, "environ": 15, "strongli": 15, "recommend": 15, "develop": 15, "via": 15, "github": 15, "manag": 15, "releas": 15, "mldg": 16, "option": [17, 21], "1": [17, 19], "extend": [17, 20], "add": 17, "alongsid": 17, "exist": 17, "step": [17, 20], "requir": 17, "abstract": 17, "method": [17, 41], "addit": 17, "3": [17, 19], "builder": 17, "possibl": 19, "directli": 19, "taskpathlist": 19, "taskfold": 19, "organ": 19, "api": [19, 41], "trainerbas": 20, "usag": [21, 41], "guid": 21, "essenti": 21, "advanc": 21, "configur": [21, 41], "vae": [21, 31, 32], "resourc": 21, "packag": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41], "subpackag": [22, 23, 26, 28, 31], "submodul": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "arg_pars": 22, "modul": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "cli": 22, "mk_exp": 22, "content": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "algo": [23, 24, 25, 26, 27], "a_algo_build": 23, "builder_api_model": 23, "builder_custom": 23, "builder_dann": 23, "builder_diva": 23, "builder_erm": 23, "builder_hduva": 23, "builder_jigen1": 23, "util": [23, 38], "zoo_algo": 23, "msel": 24, "a_model_sel": 24, "c_msel_oracl": 24, "c_msel_tr_loss": 24, "c_msel_val": 24, "observ": 25, "a_observ": 25, "b_obvisitor": 25, "c_obvisitor_cleanup": 25, "c_obvisitor_gen": 25, "a_train": 26, "args_dial": 26, "hyper_schedul": 26, "train_bas": 26, "train_dial": 26, "train_fishr": 26, "train_hyper_schedul": 26, "train_matchdg": 26, "train_mldg": 26, "zoo_train": 26, "compo": [27, 28, 29, 30, 31, 32], "matchdg_arg": 27, "matchdg_match": 27, "matchdg_util": 27, "a_nn_build": 28, "builder_nn_alex": 28, "builder_nn_conv_bn_relu_2": 28, "builder_nn_external_from_fil": 28, "utils_conv_get_flat_dim": 28, "zoo_nn": 28, "nn_zoo": 29, "net_adversari": 29, "net_classif": 29, "net_conv_conv_bn_pool_2": 29, "net_gat": 29, "nn": 29, "nn_alex": 29, "nn_torchvis": 29, "pcr": 30, "p_chain_handl": 30, "request": 30, "a_model_build": 31, "a_vae_build": 31, "c_vae_adaptor_model_recon": 31, "c_vae_builder_classif": 31, "c_vae_recon": 31, "utils_request_chain_build": 31, "zoo_vae_builders_classif": 31, "zoo_vae_builders_classif_top": 31, "decoder_concat_vec_reshape_conv": 32, "decoder_concat_vec_reshape_conv_gated_conv": 32, "decoder_cond_prior": 32, "decoder_loss": 32, "encoder_dirichlet": 32, "encoder_domain_top": 32, "encoder_domain_topic_img2top": 32, "encoder_domain_topic_img_topic2zd": 32, "encoder_xyd_parallel": 32, "encoder_xydt_elev": 32, "encoder_zi": 32, "dset": 33, "a_dset_mnist_color_rgb_solo": 33, "dset_img_path_list": 33, "dset_mnist_color_solo_default": 33, "dset_poly_domains_mnist_color_default": 33, "dset_subfold": 33, "utils_color_palett": 33, "utils_data": 33, "utils_wrapdset_patch": 33, "exp": 34, "exp_cuda_se": 34, "exp_main": 34, "exp_util": 34, "exp_protocol": 35, "aggregate_result": 35, "run_experi": 35, "a_model": 36, "a_model_classif": 36, "args_jigen": 36, "args_va": 36, "interface_vae_xyd": 36, "model_custom": 36, "model_dann": 36, "model_diva": 36, "model_erm": 36, "model_hduva": 36, "model_jigen": 36, "model_vae_xyd_classif": 36, "a_task": 37, "a_task_classif": 37, "b_task": 37, "b_task_classif": 37, "task_dset": 37, "task_fold": 37, "task_folder_mk": 37, "task_mini_vlc": 37, "task_mnist_color": 37, "task_pathlist": 37, "task_util": 37, "utils_task": 37, "utils_task_dset": 37, "zoo_task": 37, "flows_gen_img_model": 38, "generate_benchmark_plot": 38, "get_git_tag": 38, "hyperparameter_gridsearch": 38, "hyperparameter_sampl": 38, "logger": 38, "override_interfac": 38, "perf": 38, "perf_metr": 38, "sanity_check": 38, "test_img": 38, "u_import": 38, "u_import_net_modul": 38, "utils_class": 38, "utils_classif": 38, "utils_cuda": 38, "utils_img_sav": 38, "welcom": 39, "s": 39, "document": 39, "indic": 39, "tabl": 39, "introduct": 41, "modular": 41, "shift": 41, "get": 41, "start": 41, "avail": 41, "commandlin": 41, "programm": 41, "against": 41, "differ": 41, "citat": 41, "recommonmark": 42, "0": 42, "5": 42, "dev0": 42}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "nbsphinx": 4, "sphinx": 56}}) \ No newline at end of file diff --git a/docs/domainlab.algos.trainers.rst b/docs/domainlab.algos.trainers.rst index 3cd3795b9..e9fecae63 100644 --- a/docs/domainlab.algos.trainers.rst +++ b/docs/domainlab.algos.trainers.rst @@ -52,6 +52,14 @@ domainlab.algos.trainers.train\_dial module :undoc-members: :show-inheritance: +domainlab.algos.trainers.train\_fishr module +-------------------------------------------- + +.. automodule:: domainlab.algos.trainers.train_fishr + :members: + :undoc-members: + :show-inheritance: + domainlab.algos.trainers.train\_hyper\_scheduler module -------------------------------------------------------