MLnode is a project that aims to provide a no-code environment and a platform similar to a node editor for developing numerical mathematics, deep learning models, testing models, and developing deep learning/machine learning pipelines.
Major motivation is to provide a more visual and provide a no-code platform for developing deep learning models. This project is inspired by Blender's Geometry Nodes and aims to provide a similar experience for developing deep learning models.
Project is still in project phase, so there is no installation guide for now. But you can clone the project and run it on your local machine by following the steps below.
- Clone the project
- Install the required libraries
- Run the main.py file
git clone https://github.com/ShubhamMishra1611/MLnode.git
cd MLnode
pip install -r requirements.txt # Please install pytorch as per your system configuration
python main.py
This project is inspired by Blender's Geometry Nodes, and its usage is quite similar. To get started, follow the steps below:
- Create a new project: Click on
File -> New
or pressCtrl+N
. - Open an existing project: Click on
File -> Open
or pressCtrl+O
. - Add a node: Drag from the dockable list widget on the right side or right-click on the canvas.
- Connect the nodes: Drag from the output port of one node to the input port of another node.
The aim is to provide an interface similar to Blender's Geometry Nodes.
The features of this project are mainly the nodes available for development. The following nodes are currently available:
- Input Node: Outputs a
np.ndarray
of shape(input_value, input_value+1)
. - Output Node: Displays the shape and
ndtype
of the tensor after all operations. - Add Node: Adds two tensors.
- Matmul Node: Performs matrix multiplication of two tensors.
- Trig Node: Applies trigonometric functions on a tensor.
- Transpose Node: Transposes a tensor.
- Scalar Multiplication Node: Multiplies a tensor with a scalar.
There are various ways to contribute to the project:
- Contribute to the UI of the project.
- Contribute to handling node connections and functioning.
- Contribute to adding new nodes.