Way to develop graphs and model machine learning

luis 7a4638ee45 Styling on the funcs panel 6 år sedan
browser 7a4638ee45 Styling on the funcs panel 6 år sedan
docker be46042d0d Implemented collaboration and server serialization 6 år sedan
go 7a4638ee45 Styling on the funcs panel 6 år sedan
.drone.yml a88dbfc708 drone cache(2) 6 år sedan
.gitignore 9631547566 Fixing submodule issue 6 år sedan
Makefile 0e1e145a1a Fixed a test reporting bad results 6 år sedan
readme.md d46920154c drone cache(2) 6 år sedan

readme.md

TODO

Flow types

  • Graph
  • Pipeline

Graph

Graph will have one output and several inputs, a graph is commanded by the output node like a function the node runs by fetching inputs and processing them.

  • Several inputs
  • One output
  • Graph is started by the last node
  • Process will follow from current fetching the input nodes
  • Each input can only have one source
  • Fetch result from any node

computational graphs can have several purposes but the primal goal was machine learning and have a flow of tensors

Pipeline

Pipeline will have a single input and output and its commanded by the first node when a node is finish it will trigger the next nodes with data generated by the node

  • One input
  • One output
  • Nodes trigger other to process
  • One input can have several sources, a node can send to several outputs
  • Nodes are dependend on input, process should start from the initial pipeline node

Pipelines can also have several purposes but started with the idea of creating some kind of CI where we can graphically see nodes processing, from build to staging

Cache test

Minimal idea

UI to create multipurpose flow graphs, upload to the server pass inputs and do training fetch model and use it with new inputs distributed purpose to calculate several nodes across a network

implement common AI methods(funcs) reuse them

Frontend

  • Deal with svg relative mouse position
  • do an event from one socket to another highlighting the ones compatible for data type
  • Create something to add/remove links/nodes as in populating from the server
  • Colaborative editing through possibly websocket, by sharing states
  • const/var editor with multiple props
  • add types to sockets (litle label aside)

Backend

  • create http server that serializes and inspect run graphs (step by step)
  • Serve registry with information about inputs/outputs
  • Protocol to build and run a graph from frontend