Graph neural network for identifying 2D shapes represented as a vector shape (i.e. list of vertices).
Admittedly, it's a very stupid idea to use AI for this as shapes can probably be identified faster using mathematical principles, but this exercise in the similar vein of teaching AI to predict the next few points given x points generated using a quadratic formula etc.
- Generate 200 shapes as graphs
- Accompany each shape tensor with a scalar value describing the name of the shape as enum:
- Point
- Line
- Triangle
- Square
- Rectangle
- Trapezium
- Rhombus
- Parallelogram
- Trapezoid
[[0,1], [1,1], [1,0] ...]
[[0,1], [1,2] ...]
[3]
- Create a python venv
python -m venv venv
- Activate the venv and install dependencies
source venv/bin/activate
pip install -r requirements.txt
- Start Jupyter Notebook and open
main.ipynb
.
jupyter notebook
-
Shape synthesiser
- Point (DONE)
- Line (DONE)
- Triangle (DONE)
- Square (DONE)
- Rectangle (KIV)
- Trapezium (KIV)
- Rhombus (KIV)
- Parallelogram (KIV)
- Trapezoid (KIV)
-
Model Design Experiments
-
Training Loop