Inspiration
Understanding Neural Networks was a perplexing challenge for me. They are often described as enigmatic black boxes, leaving many of us in the dark about their inner workings. This frustration sparked a desire within me to demystify these complex systems. I embarked on a mission to create a tool that vividly reveals what happens inside a Neural Network.
What it does
Our project brings the intricate training process of a Neural Network to life. It visually breaks down each step, showcasing how the network learns and evolves over time.
How we built it
We crafted the backend using Python Flask, a powerful framework that handled our data processing needs. For the frontend, we turned to React and Node.js, creating an interactive and dynamic user interface that bridges the gap between complex algorithms and user understanding.
Challenges we ran into
The journey was fraught with obstacles. Building a Neural Network from scratch was a formidable task. Ensuring the correct dimensions and parameters was a meticulous process that tested our patience. We faced numerous bugs in the frontend display, primarily due to the useEffect hook not updating as expected. These challenges pushed us to our limits, demanding creativity and perseverance.
Accomplishments that we're proud of
Despite the hurdles, we are incredibly proud of our polished final product. It not only meets but exceeds our initial vision. The visualization accurately displays the weights and biases, dynamically showing the update process. Seeing these abstract concepts materialize on the screen was a triumphant moment, bringing our hard work to a stunning culmination.
What we learned
This project taught us the paramount importance of meticulous planning. Ideally, we should have outlined every detail before diving into the code. However, the reality of time constraints forced us into a relentless rush towards the deadline. This experience highlighted the critical balance between planning and execution, underscoring the need for foresight in project management.
What's next for visual.ai
The future of visual.ai is brimming with possibilities. We plan to expand our visualizations to include various types of Neural Networks, such as recurrent and convolutional Neural Networks. By comparing and contrasting these different architectures, we aim to deepen our understanding and provide even more insightful visual representations. This next phase promises to unveil further layers of complexity, continuing our quest to illuminate the fascinating world of Neural Networks.
Descriptions for hackathon
Problem Statement
- Track 7: On Unleashing Potential in Machine Learning Infrastructure
Requirements
- Backend:
- Python 3.11.4
- pip install -r requirements.txt
- Frontend:
- cd frontend
- npm install
- npm start
- For testing:
- Firefox browser
Dev Tools Used
- IDE: IntelliJ IDEA 2024.1.4 (Ultimate Edition)
- Version Control: Git, Github
- Package Managers: npm, pip
Backend API Documentation: link
Libraries Used
Backend:
requests==2.32.3numpy~=1.25.1flask~=3.0.2flask-cors==4.0.1flask_socketio==5.3.6eventlet==0.36.1### Frontend:@dagrejs/dagre:^1.1.3@emotion/react:^11.11.4@emotion/styled:^11.11.5@mui/icons-material:^5.15.20@mui/material:^5.15.20@react-buddy/ide-toolbox:^2.4.0@react-buddy/palette-mui:^5.0.1@testing-library/jest-dom:^5.17.0@testing-library/react:^13.4.0@testing-library/user-event:^13.5.0@types/jest:^29.5.12@types/node:^20.14.9@types/react:^18.3.3@types/react-dom:^18.3.0@visx/visx:^3.11.0ajv:^8.16.0axios:^1.7.2flask-cors:^0.0.1neural-network-visualizer:^0.3.5react:^18.3.1react-dom:^18.3.1react-graph-vis:^1.0.7react-scripts:5.0.1reactflow:^11.11.4socket.io:^4.7.5socket.io-client:^4.7.5typescript:^5.5.2web-vitals:^2.1.4
Log in or sign up for Devpost to join the conversation.