-
Notifications
You must be signed in to change notification settings - Fork 47
Description
We need to extend the graph YAML to support specifying task swaps. We want to design and prototype this before integrating into Dioptra so we can understand what the user experience will look like.
Here is a rough idea of what this might look like:
load_model:
model:
name: $name
attack_step:
$attack: *attack_swap
_swaps: &attack_swap
%attack:
_common:
model: $model # result of a previous step
attack1:
epsilon: $eps
attack2:
epsilon: $eps
iterations: $n
We need some special way of denoting the swappable tasks section.
We need a way of denoting that a task is a swappable task.
We want to explore the use of YAML anchors/aliases as a means to specify the options for a particular swap.
Example of YAML anchors and alias fragments for Docker Compose specification: https://docs.docker.com/reference/compose-file/fragments/
This feature should include a prototype: It should be able to take in an example swappable entrypoint graph and a list of tasks for each swap and produce a compatible task yaml for the current task engine that passes validation.
Definition of Done
- consensus is reached on YAML schema
- prototype is implemented in a separate branch