Convolutional Neural Net Image Classifier

Trained on 10 image classes with the CIFAR10 dataset.

Author

Abir Hossain

Published

May 5, 2026

Keywords

ai, machine learning, image classification, cnn

Abstract

This project offers a fresher’s introduction of machine learning from the perspective of someone with a physics undergraduate background, with an emphasis on creating intuition through application. A simple Convolutional Neural Network (CNN) was created and trained for image classification tasks in order to improve knowledge of neural networks.

The model was trained on the CIFAR-10 dataset, which consists of 10 image classes, including categories such as – airplanes, automobiles(cars), birds, cats, deer, dogs, frogs, horses, ships, and trucks. The implementation was carried out using the PyTorch deep learning framework, within a Jupyter Notebook environment to facilitate interactive development, documentation and experimentation.

On the test dataset, the trained model’s classification performance was satisfactory. The model was further tested on images from outside the CIFAR-10 dataset in order to assess generalization even more. The outcomes show that the model can fairly generalize to previously encountered real-world inputs, proving the usefulness of the implemented CNN architecture as a deep learning learning exercise.


Purpose of This Project

The real goal is to create a machine learning model that can predict emergent properties of chemical compounds or materials and enable comparative study between numerous inputs, as an ongoing research project. The finished product will then be given to Dhaka University - Department of Physics. According to preliminary research, atomic structures and material lattices can be characterized as nodes and edges in graphs, which are a natural representation of such systems. For the intended application, this encourages the usage of Graph Neural Networks (GNNs) or their variations.

Gaining a thorough understanding of neural networks and their training processes is crucial before tackling GNN-based modeling. Additionally, GNNs use message-passing mechanisms, which extend Convolutional Neural Networks’ notion of localized feature aggregation. CNNs thus offer a practical and conceptual basis for comprehending the behavior of more intricate graph-based structures.

This project focuses on building a CNN-based system to obtain practical experience with fundamental deep learning procedures, even though the theoretical and architectural features of the objective GNN model are still being actively investigated. In addition to research on the relevant frameworks and implementation techniques, this effort extends to include hands-on experience of network creation, architectural design principles, parameter optimization, training methods, and evaluation strategies.

Through this process, the project provides practical insight into optimization and training dynamics, helping to establish an intuitive connection between convolutional operations in CNNs and message-passing mechanisms in GNNs. This experience serves as a stepping stone toward the development of more advanced experimental graph-based models, which are currently in the research and design phase, in hopes of these eventually leading to designing the architecture of the target model later.


Document Navigation

Following this overview, the documentation is divided into two sections:

  • CNN \(\implies\) This page discusses briefly about what a convolutional neural network is in the context of general neural nets, the convolution operation and related topics.

  • The Model \(\implies\) This section details the specific design choices and execution strategies employed in this project along with the actual code snippets and results.


Author’s Note

This project represents my first practical implementation of an AI model and offers a practical investigation of several toolkits and setups. Because of the complexity of numerous layers and specialized operations, using a Convolutional Neural Network (CNN) was useful because it required an understanding of topologies and training mechanisms that go beyond standard neural networks.

Even though the CNN design is appealing and offers substantial utility in business and manufacturing—especially given its capacity to process 1D, 2D, and general Euclidean data (e.g., waves, pictures, and video), my interests have evolved toward Graph Neural Networks (GNNs). The potential of GNNs in terms of data structures, algorithmic efficiency, and their capacity to explain intricate scientific and real-world structures appeals to me. I plan to use the fundamental knowledge I’ve learned here to improve my performance in future GNN projects.

  • The complete “Material Science GNN model project for Dhaka University Physics Department” encompassing this and other future experimental and educational models will be tracked in this Git Repository on github.

  • The documentations for all these component and objective projects will be hosted via “github pages” on the same repository. This is the webpage link.

References: