Can your program understand is it Ruby, Amethyst or Emerald?
Full dataset with gemstones images can be found at MY KAGGLE PAGE: Gemstones Images: it's already divided into train and test data. This dataset contains 3,000+ images of different gemstones.
- I. Create dataset: parse images: from static and dynamic resources, create train and test folders (90%:10%)
- II. Install libraries for building Neural Network (+ GPU)
- III. Prepare to build Convolutional Neural Network: working over train folder (read and convert images and labels into numpy-arrays, split train data into train and validation sets)
- IV. Build a Convolutional Neural Network for multiclass classification: import necessary modules, provide Hyperparameters, provide a model: choose an architecture (layers) and compile it.
- V. Fit the CNN: provide more data - image augmentation, fit the model with train data and wait
fit_generator
to complete its work. - VI. Undestand the model: plot accuracy and loss, score model, understand confusion matrix, save weights as
.h5
file to reuse it in the future. - VII Evaluate on testing folder: understand test data, some conclusion.
Feel free to give any suggestions to improve my code.
Upvote this repo or/and my Kaggle solutions if you find them useful!