Way to develop graphs and model machine learning

luis 70a71cf606 registry coverage 6 years ago
browser ab8c07d2f6 Moved modal, to a panel tab within funcs 6 years ago
docker be46042d0d Implemented collaboration and server serialization 6 years ago
go 70a71cf606 registry coverage 6 years ago
.drone.yml fd3939c33a drone email config 6 years ago
.gitignore a7d113e4a7 clean up 6 years ago
Makefile a67c6f7494 backend Sending errors 6 years ago
readme.md d46920154c drone cache(2) 6 years ago

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