Inspiration
QDX's mission in synergising fast computational algorithms with biology and chemistry in regard to drug design protocols inspired us to have a go at understanding neural networks from a machine learning perspective.
What it does
Our code initialises a neural network struct given an input of pre-trained weights and biases and runs the network on given tensor files to output an estimation of what letter the tensor file represents.
How we built it
We built our main understanding and code of neural networks with the help of YouTube videos, public GitHub resources, and stack overflow. As a team, we split our project work into the initialisation and inference of neural networks.
Challenges we ran into
Our primary challenges were ensuring that our matrix multiplication using flattened matrices and activation function calculations (i.e. checking whether softmax outputting the right argmax) was accurate. We overcame this by working together to debug different parts of our code (using a lot of print statements and a calculator). Our hardest challenge was optimising our matrix multiplication. We struggled to make enough time to test out different strategies due to our errors working with large flattened matrices.
Accomplishments that we're proud of
We successfully implemented the basic code for a neural network and it can output estimations given multiple tensor files.
What we learned
We learnt the basic structure of neural networks and how we can allocate memory such that it optimises our computation when running (i.e. contiguous memory has less disk i/o operations and faster execution compared to non-contiguous).
What's next for Starthack-2024-QDX
We would love to continue working on our project and research more on neural networks and their optimisation both in front and backpropagation and learn to write code for multiple-gpus.
Log in or sign up for Devpost to join the conversation.