======================
Commandline Options
======================



1] Flow Chart
~~~~~~~~~~~~~

.. image:: ../../media/args.png

2] Table:
~~~~~~~~~

+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
| Group                          | Argument                                     | Description                                                                                                                                                                                                                                                                                                                                                                                            | Value                                                                                                    | Data Type    |
+================================+==============================================+========================================================================================================================================================================================================================================================================================================================================================================================================+==========================================================================================================+==============+
|                                | **Tag**                                      | Experiment wandb tag. `(click here for more details) <https://docs.wandb.com/app/features/tags>`__                                                                                                                                                                                                                                                                                                     | Any                                                                                                      | string       |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Seed**                                     | Experiment seed.                                                                                                                                                                                                                                                                                                                                                                                       | Any                                                                                                      | int, float   |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
| \ **experiment\_settings**\    | **Dataset**                                  | The available datasets:1-UTKFace. (`click here for more details <https://susanqq.github.io/UTKFace/>`__) 2-Wine Quality. (`click here for more details <https://archive.ics.uci.edu/ml/datasets/wine+quality>`__)                                                                                                                                                                                      | 1- utkf2- wine                                                                                           | string       |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Normalization**                            | Enable dataset normalization                                                                                                                                                                                                                                                                                                                                                                           | True or False                                                                                            | boolean      |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Dataset Training Size**                    | Size of the training dataset.                                                                                                                                                                                                                                                                                                                                                                          | Between 0 and the difference between the size of the dataset and the size of the test set                | int          |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Model Type**                               | The available models:1- Vanilla ANN, (`click here for more details <https://github.com/montrealrobotics/Adaptable-RL-via-IV-update/blob/master/model.py>`__) 2-Vanilla CNN. (`click here for more details <https://github.com/montrealrobotics/Adaptable-RL-via-IV-update/blob/master/model.py>`__)3- Resnet-18. (`click here for more details <https://pytorch.org/hub/pytorch_vision_resnet/>`__)    | 1- vanilla\_ann2- vanilla\_cnn3- resnet                                                                  | string       |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
| \ **model\_settings**\         | **Loss Type**                                | The available loss functions:1- Mean squared error. (MSE)2- MSE with Cutoff (threshold)3- Inverse variance. (IV)4- Batch inverse variance. (BIV)                                                                                                                                                                                                                                                       | 1- mse2- cutoffMSE3- iv4- biv                                                                            | string       |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **1- Epsilon** or:\ **2- Threshold Value**   | The value of this argument will be tailored depending on the loss type. It has two options1- **Epsilon:** A parameter that prevents the BIV function from having high loss values.2- **Threshold Value:** The cutoff or noise threshold value of the cutoffMSE loss.                                                                                                                                   | [0,+]                                                                                                    | float        |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | .                                            |                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                          |              |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Noise**                                    | Enabling noise addition to the labels                                                                                                                                                                                                                                                                                                                                                                  | True or False                                                                                            | boolean      |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
| \ **noise\_settings**\         | **Noise Type**                               | The available noise variance distributions:1- Uniform distribution.2- Gamma distribution.                                                                                                                                                                                                                                                                                                              | 1- uniform2-binary\_uniform3- gamma                                                                      | string       |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Params Type**                              | The current baseline supports the following settings for the noise distributions:1- Uniform boundaries: Where the boundaries of the uniform are provided.2- Gamma's parameters: Where alpha and beta are provided.3- Mean and Variance: Where the mean and variance (v) of the selected distribution should be provided to estimate the its parameters indirectly.                                     | 1- boundaries2- alphabeta3- meanvar4- meanvar\_avg                                                       | string       |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
| \ **parmas\_settings**\        | **Noise Distributions Ratio (p)**            | Probability function over noise variance distributions. This is to study the contribution effect of low and high noise variance distributions.                                                                                                                                                                                                                                                         | [0-1]                                                                                                    | float        |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
|                                | **Average Variance** **(X)**                 | Average over means of the noise variance distributions (two):X = p x + (1-p) x X = average mean variance.p = probability function over noise variance distributions.= mean of the first distribution. = mean of the second distribution.                                                                                                                                                               | Any                                                                                                      | float        |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+
| \ **parameters**\              | **Parameters**                               | Parameters of the noise variance distributions:1- Uniform 2- binary\_uniform3- Gamma\ **Or:**\  and v of the noise variance distributions.Note:1- When the "Params Type" is not boundaries, the first parameter in the list (var\_scale) represents a condition to enabling maximum heteroscedasticity.1- will be the heteroscedasticity scale if var\_scale equal to True.2- In this case, 0 < <= 1   | 1- (, )2- (,,,)3- (,)\ **Or:**\ 1- (var\_scale, ,)2- (var\_scale, ,,,)or: 2- (var\_scale, ,,,)3- (,,,)   | list         |
+--------------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+--------------+


