Our team has extensive experience with machine learning that was gained through months of learning and creating projects. We think that everyone deserves to learn machine learning but it is often much to complicated for the typical person, especially someone who does not know how to code. To lower the entry bar into machine learning, we developed Visual ML, a website that allows people to learn about machine learning models using a graphical interface that requires no programming.
What it does
Users first select a dataset that they want to train on. They can then insert different machine learning operations/layers to create a machine learning model, by pressing buttons on the webpage. If they want they can tweak some of the model and model training parameters in simple text boxes. To actually train the model, all they need to do is press the "train" button and it will automatically start training. Once it is done it will save to a permanent link on the website where they can train and tweak the model even more, or submit data for it to test on.
How we built it
The client-side of the website was built using HTML, CSS, Bulma, and a canvas library called Two.js. All the visual rendering and building of the neural network is done on the client-side, while training is done on the server-side. To communicate between the client and the server, we utilized web socket technology. To train and run the neural networks, we used a Python framework called Keras which uses Tensorflow.
Challenges we ran into
Although the server-side programming was relatively simple, the rendering on the client side made us run into many issues. For one, Two.js did not natively support click events, so we had to use a workaround. It was sometimes also difficult to keep the visualization positioned correctly.
Accomplishments that we're proud of
We are proud that our original vision, a website where anyone can build and train neural networks with no code or experience whatsoever, has become a reality. We feel that our application has great potential and could be a new way to approach machine learning. Anyone who has access to a computer and internet can run this program.
What we learned
When we first arrived at PalyHacks, we did not have much experience with many of the tools we would use. Socket.IO and Two.js were new to all four of us. As a result, everyone learned many new skills.
What's next for Visual Machine Learning
We believe that this is just the beginning of Visual ML. We plan on adding support for more powerful hardware, as well as a wider variety of data sets and more features.