I am making a machine learning program for time series data analysis and using NEAT could help the work. I started to learn TensorFlow not long ago but it seems that the computational graphs in TensorFlow are usually fixed. Is there tools in TensorFlow to help build a dynamically evolving neural network? Or something like PyTorch would be a better alternative? Thanks.
Check this implementation in TensorFlow Eager: https://github.com/crisbodnar/TensorFlow-NEAT
The Python language dynamically extensible like most other languages, so there is no reason why NEAT functionality could not be flexibly implemented in Python. Since the trend is to move computationally intensive processes to USB-3 or uPCIe acceleration or GPU cores, it is more likely the computational graphs will be uploaded to hardware along with training data to maximize throughput. Even in the absence of hardware acceleration, scripting languages generally delegate high computational burdens to tuned and optimized C/C++ dynamic libraries.
Python frameworks such as TensorFlow or PyTorch and Java frameworks such as DL4J would then call the C++ or ncpp code that handles the device opening, upload, and download of results. All these high level frameworks and the languages they are written in can handle new lower level computational components accessible through new APIs and flexible interface classes that support variable breadths and structure in data streams.