Skip to content

Replace is not compatible with optional inputs

Required prerequisites

  • Make sure you've read the documentation. Your issue may be addressed there.
  • Search the issue tracker and discussions to verify that this hasn't already been reported. +1 or comment there if it has.

What commit version of aidge do you use

  • aidge_core: 0.2.1

Problem description

Optional inputs and inputs that can both be parameters or attributes are badly handled and thus currently incompatible with the GraphView::replace() member function.

This is an important issue for any recipe using the replace functionality.

Reproducible example code

Create a graph

flowchart LR
ReLU#0-->ReLU#1-->ReLU#2

and replace the ReLU#1 Operator in the center by a Slice Operator with starts, ends, axes and steps parameters provided.

While a graph like this is expected:

flowchart LR
ReLU#0-->Slice-->ReLU#2

the graph will end up like so:

flowchart LR
ReLU#0 & ReLU#0 & ReLU#0 & ReLU#0 & ReLU#0 --> Slice --> ReLU#2

Even though starts, ends, axes and steps parameters were provided.

Edited by Maxence Naud