operon
operon copied to clipboard
About implementing specific custom primitives
Sorry about using GitHub issues for asking questions again. After switching to cpp20
branch I was able to successfully run examples. Thanks!
Now I would like to discuss on whether (and how) the following can be achieved. The dataset that I having is actually a time series which is ordered. This means that theoretically primitives such as "shift 1" and "shift -1" or "rolling mean" are valid primitives that can batch operate on each of the original variables and intermediate variables. After briefly reading the code, mainly functions.hpp, I have a few questions on how to implement the above:
- It seems that there is an upper limit on the number of primitives we can have because NodeType is 32 bit integer. If I would like to add more primitives, should I extend this to
uint64_t
? - It seems that each time when the primitive in
function.cpp
is called, it is called on a batch of a variable or intermediate. Is it possible to make it call across the whole dataset (across the data point dimension, which in the time series case is the time dimension)? - If the above two can be resolved, I think I can probably come up with a solution. Is there any other approach that you would recommend?
Thank you!