donno2048 / Classifier

Automatic classifier using tensorflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Classifier\n",
    "Automatic image classifier using tensorflow\n",
    "\n",
    "To use it just import the Classifier (`from Classify import Classifier`)\n",
    "\n",
    "(You need the _Classify.py_ file from this repo in the same directory in order to do so)\n",
    "\n",
    "The Classifier has several inputs:\n",
    "\n",
    "-  The first argument is `images` and those are the images for the training (required)\n",
    "  \n",
    "-  The second argument is `labels` and those are the labels for the training (required)\n",
    "  \n",
    "-  The third argument is `number_of_neurons` and this is the number of neurons in the second layer [default: 100]\n",
    "  \n",
    "-  The forth argument is `method` and this is the activation method of the second layer [default: relu]\n",
    "  \n",
    "-  The fifth argument is `optimizer` and this is the optimizer used for the training [default: Adam]\n",
    "  \n",
    "-  The last argument is `runs` and this is the number of times the model will be trained [default: 1]\n",
    "\n",
    "See the example below for more details:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "!python -m pip install tensorflow matplotlib --user --quiet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "from Classify import Classifier\n",
    "from tensorflow.keras.datasets import fashion_mnist\n",
    "from matplotlib import pyplot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()\n",
    "labels = [\"Top\", \"Trouser\", \"Pullover\", \"Dress\", \"Coat\", \"Sandals\", \"Shirt\", \"Sneaker\", \"Bag\", \"Boot\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/3\n",
      "1875/1875 [==============================] - 3s 1ms/step - loss: 3.7569 - accuracy: 0.7216\n",
      "Epoch 2/3\n",
      "1875/1875 [==============================] - 3s 1ms/step - loss: 0.6332 - accuracy: 0.7821\n",
      "Epoch 3/3\n",
      "1875/1875 [==============================] - 3s 1ms/step - loss: 0.5584 - accuracy: 0.8066\n"
     ]
    }
   ],
   "source": [
    "classify = Classifier(train_images, train_labels, runs = 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pyplot.imshow(test_images[0], cmap = pyplot.cm.binary)\n",
    "pyplot.title(f\"Prediction: {labels[classify(test_images[0])]}\")\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pyplot.imshow(test_images[1], cmap = pyplot.cm.binary)\n",
    "pyplot.title(f\"Prediction: {labels[classify(test_images[1])]}\")\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pyplot.imshow(test_images[2], cmap = pyplot.cm.binary)\n",
    "pyplot.title(f\"Prediction: {labels[classify(test_images[2])]}\")\n",
    "pyplot.show()"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "81794d4967e6c3204c66dcd87b604927b115b27c00565d3d43f05ba2f3a2cb0d"
  },
  "kernelspec": {
   "display_name": "Python 3.9.8 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}

About

Automatic classifier using tensorflow

License:MIT License


Languages

Language:Python 100.0%