Tutorial to Add Tasks
Using the example of Privacy Task P3: infoflow-expectation with dataset confaide-unrelated-image-color:
Define the Dataset
Define the dataset and register the dataset_id: confaide-unrelated-image-color (refer to mmte/datasets/confaide.py).
If you need to do some preprocessing to your custom dataset, please define
Methodand use it as a hook function in your dataset.
Define the Evaluator
Define the evaluator and register the evaluator_id: rule_match_and_score_eval (refer to mmte/evaluators/rule_eval.py).
If additional metrics are required, modify mmte/evaluators/metrics.py and register the metrics_fn in _supported_metrics.
Edit task_config.yaml
(refer to mmte/configs/task/privacy/infoflow.yaml)
dataset_id: "confaide-unrelated-image-color"
model_id: "llava-v1.5-7b"
log_file: "./logs/privacy/infoflow.json"
evaluator_seq_cfgs:
[
{
"rule_match_and_score_eval":
{ metrics_cfg: { pearson_corr: {}, failure: {} } },
},
]
Run with a Single Command
python run_task.py --config mmte/configs/task/privacy/infoflow.yaml
To modify configurations without changing the yaml file, one can
ADDorOVERWRITEconfigurations in yaml files using the--cfg-optionsparameter. For example:
python run_task.py --config mmte/configs/task/privacy/infoflow.yaml --cfg-options dataset_id=confaide-image log_file="logs/privacy/infoflow-confaide-image.json"