A simple PyTorch project that classifies rocks by image using a ResNet18 model. The model can predict both:
- Main class: Igneous, Metamorphic, Sedimentary
- Subclass: Basalt, Granite, Marble, Quartzite, Coal, Limestone, Sandstone
π Folder Structure
Dataset/β Rock image datasetarchive/Dataset/β Backup copy of the datasetmodels/rock_resnet18_mainclass.pthβ predicts main rock classes (3)rock_resnet18_subclass.pthβ predicts detailed subclasses (7)
notebooks/resnet18.ipynbβ model trainingpreprocessing.ipynbβ resizing, normalization, splittingdata_augmentation.ipynbβ flipping, rotation, brightness
Open the notebooks in Jupyter or VS Code and run:
resnet18.ipynbto train or evaluate- Make sure you have the dataset and models in place
Install required libs with:
pip install torch torchvision matplotlib