NaiveNASlib.jl icon indicating copy to clipboard operation
NaiveNASlib.jl copied to clipboard

Support for flow control

Open DrChainsaw opened this issue 6 years ago • 0 comments

There is currently very limited (at best) support for controlling the program flow (e.g. compute this x-times or compute this if y, else that, neural ODEs etc.).

A possible approach is to implement some kind of "graph in vertex" concept, where the computation of a vertex may consist of one or more graphs (which may in turn be mutated just as any other graph).

Some of the things needed of the top of my head:

  1. Not too cumbersome way to combine graph(s) and control flow so that graphs are accessible for mutation. -Maybe a struct with graphs and computation (which uses those graphs in an arbitrary way) as separate fields is enough.
  2. Ability to tie sizes of arbitrary vertices together. -For example, looping the output back as input obviously requires that output size is same as input size. -A use graph1 if x, else graph2 type of vertex also requires that both graph1 and graph2 are aligned with the input/output size of the vertex they are inside.

DrChainsaw avatar Oct 06 '19 22:10 DrChainsaw