diff --git a/README.md b/README.md index 073eb9d5ab819971ce15ac86fc9953de01fc25f7..492a3ac452b7a4d282e9e6c20719252299a7db32 100644 --- a/README.md +++ b/README.md @@ -1,92 +1,94 @@ -# Image classification - - - -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://gitlab.ec-lyon.fr/wazzouzi/image-classification.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://gitlab.ec-lyon.fr/wazzouzi/image-classification/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. +# Image Classification : +Ce projet met en œuvre deux méthodes fondamentales pour la classification d'images : + + KNN : Algorithme des k plus proches voisins + ANN : Réseau neuronal artificiel (réseau neuronal classique) + +Les données utilisées proviennent de l'ensemble de données CIFAR-10. +(https://www.cs.toronto.edu/~kriz/cifar.html) + +Les différentes classes au sein de la base de donnée sont: +1. airplane +2. automobile +3. bird +4. cat +5. deer +6. dog +7. frog +8. horse +9. ship +10. truck ## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. +L'utilisation d'un venv est recommandée. La commande suivante installera les packages conformément au fichier de configuration requirements.txt. + $ pip install -r requirements.txt +Version de Python utilisée dans ce dépôt : 3.11.4 +# Project content ## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. +Après avoir téléchargé les données avec la méthode de votre choix, vous pouvez les lire en utilisant le code suivant : + + from read_cifar import read_cifar, split_dataset + data, labels = read_cifar(chemin/vers/les/données) + data_train, labels_train, data_test, labels_test = split_dataset(data, labels, split=split_factor) + + Ensuite, vous pouvez utiliser l'une des méthodes de classification ci-dessous: + +## k-nearest neighbors +un fichier Python nommé knn.py qui nous permettra d'entraîner notre modèle KNN et de prédire l'ensemble de données de test afin d'évaluer les performances. Ce fichier doit contenir les fonctions suivantes : + + distance_matrix + knn_predict + evaluate_knn_for_k + plot_accuracy_versus_k + +For a range of values in [1, k_max] : + + from knn import evaluate_knn_for_k, plot_accuracy_versus_k + + accuracies = evaluate_knn_for_k(data_train, labels_train, data_test, labels_test, k_max=20) + plot_accuracy_versus_k(accuracies) + +## Artificial Neural Network +Créez un fichier Python nommé mlp.py afin de développer un classificateur basé sur un réseau neuronal à perceptrons multiples (MLP). Ce fichier doit contenir les fonctions suivantes : +- learn_once_mse +- one_hot +- softmax +- learn_once_cross_entropy +- predict_mlp +- train_mlp +- Test_mlp +- run_mlp_training +- plot_accuracy_versus_epoch + +Pour utiliser le réseau neuronal avec une couche cachée contenant d_h neurones, vous pouvez faire : +from mlp import run_mlp_training, plot_accuracy_versus_epoch + + # Normalize the data in [0, 1] : + data_train, data_test = data_train/255.0, data_test/255.0 + train_accuracies, test_accuracy = run_mlp_training(data_train, labels_train, data_test,labels_test,d_h,learning_rate,num_epoch) + plot_accuracy_versus_epoch(train_accuracies) + +## Unitests +Pour exécuter les tests unitaires, nous utilisons le framework pytest : + + pytest tests/ + + +## Project tree + ───image-classification + │ knn.py + │ main.ipynb + │ mlp.py + │ README.md + │ read_cifar.py + │ requirements.txt + │ + ├───resultats + │ Knn.png + │ mlp.png + │ + └───tests + +# Author +## AZZOUZI Widad diff --git a/main.ipynb b/main.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..e1c828261cc240393b7bc6417bcc17dbca476496 --- /dev/null +++ b/main.ipynb @@ -0,0 +1,232 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from read_cifar import *\n", + "from mlp import *\n", + "from knn import *" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "path = r'C:\\Users\\hp\\Desktop\\BE\\image-classification\\data'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## k-nearest neighbors" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "finished calculating dists\n" + ] + }, + { + "data": { + "image/png": "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5dM95vDhw9P9mQNWQECAtWXLlsvmPnfunHXddddZt912W+q+3377zQoICLBat26d7v3szpScnGyVKVPG6tChQ5rbx48fb7lcLuvPP/9M99iXymFZ6d/TR44csQDrpZdeuuS5snr+Dz74IN17IzOA9fjjj6fZl9FrbVnn/4789ddfqfuy+j4cNmyYBVgLFy5Md173a/3dd99ZgDV9+vR0x1z8vvj4448twBozZkya49q2bWu5XC7r999/T/McQ0JC0uz78ccfLcCaNGlSuse60IQJEyzAmj17duq+c+fOWbfccouVL18+6/jx42leizvvvPOS57swk/t1HzRokBUQEGDNmDEjS/cVEbGTWvdFRBwoMDCQjh07smbNmjRtp3PmzKFEiRI0bdoUgNDQ0NRr65OTkzl06BD58uWjatWqbNy4Md15u3XrRt68eS/7+Bcec+rUKQ4ePEj9+vWxLIsffvgh288nOTmZr776invvvZeKFSum7i9VqhSdOnVi9erVHD9+PM19evfunWYUtEGDBiQnJ/P3339n+jh79+5l06ZNdO/encKFC6fuv+GGG4iOjubzzz/PdvasqF69eurIJ5gRxKpVq/Lnn3+m7ps/fz4NGjSgUKFCHDx4MPWrWbNmJCcns3Llyks+xoV/JidOnODgwYM0aNCA06dP88svvwDm0oi//vqLAQMGpLtG2f1a/vPPP6xcuZKePXtSrly5DI+5Eo0aNaJ69eqXzH3kyBGOHTtGgwYN0rw/P/74Y1JSUhg2bFi6uSLcmQICAujcuTOffPJJmhUp3n//ferXr0+FChUumS8r7+m8efMSEhLCihUrOHLkSDaefdrznz17loMHD1KvXj2ADP8u5oSsvA8/+ugjatSoQevWrdPd/0r+/D///HMCAwPp169fmv2DBg3Csiy++OKLNPubNWtGpUqVUn++4YYbyJ8/f5qMmT1OyZIluf/++1P3BQcH069fP06ePElcXFy2s7tZlkWfPn2YOHEis2fPplu3bld8LhGR3KJCX0TEodyT7bkn5du9ezerVq2iY8eOBAYGAmbSs1dffZUqVaoQGhpK0aJFKVasGJs3b+bYsWPpznm5Ysht586dqcVyvnz5KFasWOo17Rmd93L++ecfTp8+neF11NWqVSMlJYVdu3al2X9xEVqoUCGASxZg7g8BMnucgwcPcurUqWznv5yLs4LJe2HW3377jS+//JJixYql+WrWrBlAhvMxXGjLli20bt2aAgUKkD9/fooVK0aXLl2A838mf/zxBwDXXXddpudxF1SXOuZKZPbeWrJkCfXq1SNPnjwULlyYYsWK8eabb6Z5H/3xxx8EBARk+EHBhbp27cqZM2dYtGgRANu3b2fDhg1ZWj4tK+/p0NBQXnzxRb744gtKlChBw4YNGTduHPv27bvs+Q8fPkz//v0pUaIEefPmpVixYqmvyZX8nbkSWXkf/vHHHx79s//7778pXbo0ERERafa7L225+IO5rGTM7HGqVKmS7oOgzB4nO9577z0mT57MpEmT0nyQICLizXSNvoiIQ9WuXZtrrrmGDz74gGeeeYYPPvgAy7LSzLb//PPP89xzz9GzZ09Gjx5N4cKFCQgIYMCAARlO8JaV0fzk5GSio6M5fPgwTz31FNdccw3h4eHEx8fTvXv3XFtay/1hxsWsiyb48gZZyZqSkkJ0dDRPPvlkhsf+3//9X6bnP3r0KI0aNSJ//vyMGjWKSpUqkSdPHjZu3MhTTz2VI38mmY3uZjT5H2T83lq1ahWtWrWiYcOGvPHGG5QqVYrg4GCmT5+e6aoSl1K9enVq167N7Nmz6dq1K7NnzyYkJIT27dtf8n7ZeU8PGDCAu+++m48//pilS5fy3HPPMXbsWJYvX86NN96Y6WO0b9+eb7/9lsGDB1OzZk3y5ctHSkoKLVq0uOI/n+z+GTjh74w3ZvzPf/7Dpk2beP3112nfvn2abiAREW+lQl9ExME6d+7Mc889x+bNm5kzZw5VqlRJnREbYMGCBTRp0oR33303zf2OHj1K0aJFr+gxf/rpJ3799VdmzpyZZmKw2NjYdMdmtdW3WLFihIWFsX379nS3/fLLLwQEBFC2bNkrynuh8uXLA2T6OEWLFiU8PDzb572alna3SpUqcfLkydQR/OxYsWIFhw4dYuHChTRs2DB1/19//ZXuMQB+/vnnTB/HfenEzz//fMnHLFSoEEePHk23Pzsjpx999BF58uRh6dKlaZZkmz59errcKSkpbN26Nd267Rfr2rUrMTEx7N27lzlz5nDnnXemdntkJjvvaXeeQYMGMWjQIH777Tdq1qzJK6+8wuzZszM8/siRIyxbtoyRI0cybNiw1P2//fbbJXNdjvt5HT16NM2lGFczel2pUqXL/tln5/1evnx5/ve//3HixIk0o/ruy0ncfyevVvny5dm8eXPqkqCefJzKlSszbtw4GjduTIsWLVi2bFm6DgUREW+j1n0REQdzj94PGzaMTZs2pRnNBzM6dvFI2Pz584mPj7/ix3SPuF14Xsuy0i3PBqQWzRkVhBefs3nz5ixevDjNnAP79+9nzpw53HrrreTPn/+KM7uVKlWKmjVrMnPmzDSZfv75Z7766itatmx5RefN6vO8lPbt27NmzRqWLl2a7rajR4+SlJSU6X0z+jM5d+4cb7zxRprjatWqRYUKFZgwYUK6rO77FitWjIYNGzJt2jR27tyZ4TFgCsJjx46xefPm1H179+5NbZvPisDAQFwuV5oR6B07dvDxxx+nOe7ee+8lICCAUaNGpRv9vvj9ff/99+Nyuejfvz9//vln6uULl8tx8bkyek+fPn2as2fPptlXqVIlIiIiSEhIyNb5gcuupHA57g9uLpy/4dSpU2mWlMuu++67jx9//DHDP0d3/uy831u2bElycjKvv/56mv2vvvoqLpeLO+6444qzXvw4+/btS7PqRlJSEpMmTSJfvnypl2FcqRtuuIHPP/+cbdu2cffdd6dbdlFExNtoRF9ExMEqVKhA/fr1Wbx4MUC6Qv+uu+5i1KhR9OjRg/r16/PTTz/x/vvvp5nwLruuueYaKlWqxBNPPEF8fDz58+fno48+yvAa2tq1awPQr18/br/99tRJBDMyZswYYmNjufXWW3nssccICgrirbfeIiEhgXHjxl1x3ou99NJL3HHHHdxyyy306tUrdXm9AgUKMGLEiCs6Z82aNQkMDOTFF1/k2LFjhIaGctttt1G8ePEsn2Pw4MF88skn3HXXXalLnp06dYqffvqJBQsWsGPHjky7MOrXr0+hQoXo1q0b/fr1w+VyMWvWrHSFZUBAAG+++SZ33303NWvWpEePHpQqVYpffvmFLVu2pH7I8Nprr3HrrbdSq1YtevfuTYUKFdixYwefffYZmzZtAqBjx4489dRTtG7dmn79+nH69GnefPNN/u///i/Lk8vdeeedjB8/nhYtWtCpUycOHDjA5MmTqVy5cpoPECpXrszQoUMZPXo0DRo0oE2bNoSGhvLdd99RunRpxo4dm3pssWLFaNGiBfPnz6dgwYJplujLTFbf07/++itNmzalffv2VK9enaCgIBYtWsT+/fsz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//A2bczX1q3w8MPm2KlToVo18wGAvw5kZNfChdC2LezenXZ/fLzZr2JfxHZXVOhv2rSJ9evXU61aNfr27UupUqXo06cPGzduzImM4i3CwswX+G/7vpbWExERcYbAQKxGjYhv2BCrUSPT1u9WsCBMmWJa96tWhX37TIHaurUpViVzycnQv3/GH4q49w0YoDZ+EZtd8TX6tWrV4rXXXmPPnj0MHz6cd955h5tuuomaNWsybdo0LH0i6pv8fUI+La0nIiLiOxo2hE2b4Nlnzdw7ixeb0f033zQr7Uh6q1alH8m/kGXBrl3mOBGxzRUX+omJiXz44Ye0atWKQYMGUadOHd555x3uu+8+nnnmGTp37uzJnOIt3BPy+WuhrxF9ERER35InD4weDT/8APXqmcsTH3vMfAiwdavd6bzP3r2ePU5EckS2pw3fuHEj06dP54MPPiAgIICuXbvy6quvcs0116Qe07p1a2666SaPBhUv4R7R98fW/bNnz7fzaURfRETEt1x3HaxebUbzhwyBb76BmjVh6FB4+mkIDbU7of3WrzevT1aUKpWzWUTkkrI9on/TTTfx22+/8eabbxIfH8/LL7+cpsgHqFChAh07dvRYSPEi/ty6//ff5nt4+PnXQURERHxHYCD06WNG8u+6y0xAPGIE3HijKfz9kWXBF19AkyZQt27WWvLLloUGDXI+m4hkKtuF/p9//smXX35Ju3btCA4OzvCY8PBwpk+fftXhxAv5c+v+hUvrXbw2r4iIiPiOsmXhk09g7lwoXhy2bYNbbzUt/ceP250udyQmwvvvm66Gli1hxQozj0H37vDqq+Z3ocx+H+rcOe3khyKS67Jd6B84cIB169al279u3Tq+//57j4QSL+bPrftaWk9ERMR/uFzQoYMp8nv2NPvefBOqVzeT9vmqU6fgtdegShXo0gU2b4Z8+SAmxvwuNH26mVV/wQKIjEx733z5zPc33oDffsv16CJyXrYL/ccff5xdu3al2x8fH8/jjz/ukVDixfy5dV8T8YmIiPifwoXh3Xdh2TKoVMnM13PvvWY5Pl+acO7gQXOZQvnyZvm8v/82nZxjxsDOnfDKK1CmzPnj27SBHTtIio3l+5gYkmJj4cABqF/fdD20aWM+NBARW2S70N+6dSu1atVKt//GG29kq2Ym9X1q3deIvoiIiD+67Tb46SczMV9g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01r3T50y/wCACn0RERER8W/jx5vfif/+GwYMsDvN1YmLM636//sfhIXBzJmmayEszO5kuUaFvniO01r33W37BQtCoUK2RhERERERsVVEhCmIXS6z9N7ixXYnyr6UFHj+ebjtNti7F6pXh+++g65d7U6W61Toi+c4rXVfS+uJiIiIiJzXoAE88YTZfuih892vTnDwINx5Jwwdagr+bt1g/XpT7PshFfriOU5r3ddEfCIiIiIiaY0ebSat++cf6N3bXLfv7b75xrTqf/kl5M0L06bBjBlmhn0/ZXuhP3nyZKKiosiTJw9169Zl/fr1mR67cOFC6tSpQ8GCBQkPD6dmzZrMmjUrzTEjRozgmmuuITw8nEKFCtGsWTPWrVuX5pjDhw/TuXNn8ufPT8GCBenVqxcnT57MkefnV9yt+4cPmxkuvZ0m4hMRERERSSs0FGbNguBg074/c6bdiTKXkgLjxkGjRhAfbybaW78eevSwO5ntbC30582bR0xMDMOHD2fjxo3UqFGD22+/nQOZtIgULlyYoUOHsmbNGjZv3kyPHj3o0aMHS5cuTT3m//7v/3j99df56aefWL16NVFRUTRv3px/Lmgn79y5M1u2bCE2NpYlS5awcuVKevfunePP1+cVLmy+W5Yp9r2dRvRFRERERNKrUcMsSwfQrx/s2GFrnAwdOgStWsFTT5lBxs6d4fvv4brr7E7mFWwt9MePH89DDz1Ejx49qF69OlOmTCEsLIxp06ZleHzjxo1p3bo11apVo1KlSvTv358bbriB1atXpx7TqVMnmjVrRsWKFbn22msZP348x48fZ/PmzQBs27aNL7/8knfeeYe6dety6623MmnSJObOncuePXty5Xn7rOBgM7EdOKN9XyP6IiIiIiIZGzwY6teHEyege3czeu4t1q6FG2+Ezz4zHQhvv226EPLlszuZ1wiy64HPnTvHhg0bGDJkSOq+gIAAmjVrxpo1ay57f8uyWL58Odu3b+fFF1/M9DHefvttChQoQI0aNQBYs2YNBQsWpE6dOqnHNWvWjICAANatW0fr1q0zPFdCQgIJCQmpPx//d23JxMREEhMTL/+EbeLOllsZg4oWxXX0KEn79mFVrpzt++daXssi6K+/cAGJZcvCVTxebr/GV8tpecF5mZ2WF5yX2Wl5wXmZnZYXnJfZaXnBeZmdlhecl9lpecF5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e+21Jidz79SpUyotLS03ohUaGurTs1Mctm/frr1797r89yIyMlLdu3fXunXrTExWtx05ckQ2m02NGjUyO0q1FBcX6+WXX1ZkZKQ6depkdhy3ysrKdNddd2ncuHG6+OKLzY5TbWvWrFGzZs3Url073XfffTpw4IDZkdwqKyvTsmXLdOGFF6pv375q1qyZunfv7vOXjp5p3759WrZsmUaMGGF2lApdccUVWrJkiXbv3i3DMLR69Wr98MMP6tOnj9nR3CoqKpIkl+9APz8/BQcH+8x34NmdY9OmTSopKXH53ktOTlZCQoLlvvco+vA5ZWVlGjNmjHr06KFLLrnE7DiV2rx5sxo2bKjg4GD98Y9/1HvvvaeLLrrI7FgVWrRokbKzs5WRkWF2lGrp3r273njjDS1fvlyzZ8/W9u3b9Zvf/EbHjh0zO5pbP/30k2bPnq0LLrhAK1as0H333acHH3xQ8+bNMztatbz//vs6fPiwhg4danaUCj388MP6/e9/r+TkZAUGBqpLly4aM2aMBg0aZHY0t8LDw5WamqrHHntMe/bsUWlpqd58802tW7dO+fn5Zser0t69eyVJzZs3d9nevHlz52uoXSdPntT48eN1xx13KCIiwuw4lVq6dKkaNmyokJAQ/e1vf1NmZqaaNGlidiy3ZsyYoYCAAD344INmR6m2fv366R//+IdWrlypGTNmKCsrS9dee61KS0vNjlbO/v37VVBQoOnTp6tfv376+OOPdcstt6h///7KysoyO161zJs3T+Hh4T49Rfv555/XRRddpPj4eAUFBalfv3568cUXddVVV5kdzS1HQZ4wYYIOHTqk4uJizZgxQ7t27fKJ70B3nWPv3r0KCgoq94tWK37vBZgdADjbqFGj9N133/nMb/oq065dO+Xk5OjIkSN69913NWTIEGVlZflk2d+5c6dGjx6tzMxMU6+Xq4kzR2k7duyo7t27KzExUf/85z998jfuZWVlSklJ0RNPPCFJ6tKli7777jvNmTNHQ4YMMTld1V577TVde+21PnHtakX++c9/asGCBVq4cKEuvvhi5eTkaMyYMYqLi/PZz3j+/PkaPny4WrRoIX9/f1166aW64447tGnTJrOjwceUlJRowIABMgxDs2fPNjtOla655hrl5OTof//7n1555RUNGDBA69evV7NmzcyO5mLTpk2aNWuWsrOz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AADUCq7RBwAAAACgDqHoAwAAAABQh1D0AQAAAACoQyj6AAAAAADUIRR9AAAAAADqEIo+AAAAAAB1CEUfAAAAAIA6hKIPAAAAAEAdQtEHAKAarr76ao0ZM6bGPzdp0iTdc889tR/oHJzre/AUwzB0zz33KCoqSjabTTk5OR45z88//1zj47/xxhtq1KhRpfsMHTpUN99883llOxfLly9X586dVVZW5vVzAwCsgaIPAICH7N27V7NmzdLEiRPNjuKTli9frjfeeENLly5Vfn6+LrnkEo+cp2XLlh49vrf169dPgYGBWrBggdlRAAA+iqIPAICHvPrqq7riiiuUmJhodhSPKS0tPeeR5W3btik2NlZXXHGFYmJiFBAQUMvp7Pz9/T16/NpkGIZOnTpV5X5Dhw7Vc88954VEAAArougDAHAOli1bpsjIyEpHVRctWqQbbrjBZdvVV1+tBx98UA899JCioqIUExOjKVOmOF93N8388OHDstlsWrNmjSRpzZo1stlsWrFihbp06aLQ0FD99re/1f79+/XRRx+pffv2ioiI0J133qnCwkKX8586dUppaWmKjIxUkyZNNGnSJBmG4Xy9qKhIf/7zn9WiRQuFhYWpe/fuzvNKp6e0L1myRBdddJGCg4OVl5fn9v1nZWWpW7duCg4OVmxsrB5++GFniR06dKgeeOAB5eXlyWazKSkpye0xHOdbsWKF2rdvr4YNG6pfv37Kz8932e/VV19V+/btFRISouTkZL300kuVfqZLlizRBRdcoJCQEF1zzTWaN2+ebDabDh8+7HLcqs4rSVOnTlXTpk0VERGhP/7xjyouLnb5PB988EE1a9ZMISEhuvLKK7Vx40bn645/lx999JG6du2q4OBgrV27Vt98842uueYahYeHKyIiQl27dtVXX33l/LkbbrhBX331lbZt2+b2cwMA1G8UfQAAamjhwoW64447tGDBAg0aNMjtPgcPHtT333+vlJSUcq/NmzdPYWFhWr9+vZ588kk9+uijyszMrHGOKVOm6IUXXtAXX3yhnTt3asCAAXr22We1cOFCLVu2TB9//LGef/75cucOCAjQhg0bNGvWLM2cOVOvvvqq8/W0tDStW7dOixYt0rfffqvbb79d/fr109atW537FBYWasaMGXr11Vf1n//8R82aNSuXbffu3bruuut02WWX6ZtvvtHs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", + "text/plain": [ + "<Figure size 1200x800 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if __name__ == \"__main__\":\n", + " split_factor = 0.9\n", + " X, y = read_cifar(path)\n", + " X_train,y_train,X_test,y_test=split_dataset(X,y,split=0.9)\n", + " \n", + " K_max=20\n", + " accuries=evaluate_knn_for_k(X_train, y_train, X_test, y_test, K_max)\n", + " plot_accuracy_versus_k(accuries)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Artificial Neural Network" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch loss [1/100] : 4.304500576846764 --- accuracy : 0.1025925925925926\n", + "Epoch loss [2/100] : 4.033075855300756 --- accuracy : 0.10361111111111111\n", + "Epoch loss [3/100] : 3.828849242117128 --- accuracy : 0.10333333333333333\n", + "Epoch loss [4/100] : 3.6667555736787802 --- accuracy : 0.10333333333333333\n", + "Epoch loss [5/100] : 3.5313732592697202 --- accuracy : 0.10248148148148148\n", + "Epoch loss [6/100] : 3.413812084250446 --- accuracy : 0.10257407407407407\n", + "Epoch loss [7/100] : 3.308925497864683 --- accuracy : 0.10353703703703704\n", + "Epoch loss [8/100] : 3.2135937067044855 --- accuracy : 0.1042037037037037\n", + "Epoch loss [9/100] : 3.126111454698115 --- accuracy : 0.10446296296296297\n", + "Epoch loss [10/100] : 3.0459496190749578 --- accuracy : 0.10572222222222222\n", + "Epoch loss [11/100] : 2.9733635941126497 --- accuracy : 0.10631481481481482\n", + "Epoch loss [12/100] : 2.9088676669828137 --- accuracy : 0.10794444444444444\n", + "Epoch loss [13/100] : 2.8527632466516004 --- accuracy : 0.10916666666666666\n", + "Epoch loss [14/100] : 2.80486726042171 --- accuracy : 0.11038888888888888\n", + "Epoch loss [15/100] : 2.7645167624537317 --- accuracy : 0.1125\n", + "Epoch loss [16/100] : 2.730780711007302 --- accuracy : 0.1137962962962963\n", + "Epoch loss [17/100] : 2.7026911343631594 --- accuracy : 0.1150925925925926\n", + "Epoch loss [18/100] : 2.6793566944421796 --- accuracy : 0.1162962962962963\n", + "Epoch loss [19/100] : 2.6599615437252604 --- accuracy : 0.1172962962962963\n", + "Epoch loss [20/100] : 2.643733598974403 --- accuracy : 0.11903703703703704\n", + "Epoch loss [21/100] : 2.6299458872382173 --- accuracy : 0.12057407407407407\n", + "Epoch loss [22/100] : 2.617953307031218 --- accuracy : 0.12155555555555556\n", + "Epoch loss [23/100] : 2.607232304650269 --- accuracy : 0.12281481481481482\n", + "Epoch loss [24/100] : 2.59739698669245 --- accuracy : 0.12346296296296297\n", + "Epoch loss [25/100] : 2.588187667493577 --- accuracy : 0.12381481481481481\n", + "Epoch loss [26/100] : 2.579442425345961 --- accuracy : 0.12448148148148148\n", + "Epoch loss [27/100] : 2.5710644012854518 --- accuracy : 0.12548148148148147\n", + "Epoch loss [28/100] : 2.56299448821503 --- accuracy : 0.12662962962962962\n", + "Epoch loss [29/100] : 2.5551941899728505 --- accuracy : 0.12737037037037038\n", + "Epoch loss [30/100] : 2.5476371954436803 --- accuracy : 0.1285\n", + "Epoch loss [31/100] : 2.540305084565271 --- accuracy : 0.12977777777777777\n", + "Epoch loss [32/100] : 2.5331840742486595 --- accuracy : 0.13037037037037036\n", + "Epoch loss [33/100] : 2.5262622729809987 --- accuracy : 0.1315\n", + "Epoch loss [34/100] : 2.519527963916734 --- accuracy : 0.13242592592592592\n", + "Epoch loss [35/100] : 2.5129692310136833 --- accuracy : 0.133\n", + "Epoch loss [36/100] : 2.5065748071381666 --- accuracy : 0.13324074074074074\n", + "Epoch loss [37/100] : 2.5003355407234764 --- accuracy : 0.13383333333333333\n", + "Epoch loss [38/100] : 2.4942456249534923 --- accuracy : 0.1343888888888889\n", + "Epoch loss [39/100] : 2.4883029977216116 --- accuracy : 0.13477777777777777\n", + "Epoch loss [40/100] : 2.4825089509250513 --- accuracy : 0.13548148148148148\n", + "Epoch loss [41/100] : 2.476867477376999 --- accuracy : 0.1365\n", + "Epoch loss [42/100] : 2.47138472812368 --- accuracy : 0.13674074074074075\n", + "Epoch loss [43/100] : 2.466068423820149 --- accuracy : 0.1374074074074074\n", + "Epoch loss [44/100] : 2.460926906404115 --- accuracy : 0.1380925925925926\n", + "Epoch loss [45/100] : 2.455967826419451 --- accuracy : 0.13812962962962963\n", + "Epoch loss [46/100] : 2.451196740380716 --- accuracy : 0.13894444444444445\n", + "Epoch loss [47/100] : 2.4466159799283855 --- accuracy : 0.13903703703703704\n", + "Epoch loss [48/100] : 2.4422241584814626 --- accuracy : 0.1395\n", + "Epoch loss [49/100] : 2.438016489936537 --- accuracy : 0.14003703703703704\n", + "Epoch loss [50/100] : 2.4339857180585844 --- accuracy : 0.14062962962962963\n", + "Epoch loss [51/100] : 2.4301232227695646 --- accuracy : 0.14105555555555555\n", + "Epoch loss [52/100] : 2.4264199494991527 --- accuracy : 0.1412037037037037\n", + "Epoch loss [53/100] : 2.422867028506938 --- accuracy : 0.14187037037037037\n", + "Epoch loss [54/100] : 2.4194561075272447 --- accuracy : 0.1422962962962963\n", + "Epoch loss [55/100] : 2.4161794743744873 --- accuracy : 0.14235185185185184\n", + "Epoch loss [56/100] : 2.4130300468216035 --- accuracy : 0.1427037037037037\n", + "Epoch loss [57/100] : 2.4100012913332938 --- accuracy : 0.14305555555555555\n", + "Epoch loss [58/100] : 2.4070871127286315 --- accuracy : 0.14307407407407408\n", + "Epoch loss [59/100] : 2.4042817407551316 --- accuracy : 0.14355555555555555\n", + "Epoch loss [60/100] : 2.4015796298864345 --- accuracy : 0.1438888888888889\n", + "Epoch loss [61/100] : 2.3989753829823495 --- accuracy : 0.1444074074074074\n", + "Epoch loss [62/100] : 2.3964637044614308 --- accuracy : 0.14451851851851852\n", + "Epoch loss [63/100] : 2.3940393834923848 --- accuracy : 0.14455555555555555\n", + "Epoch loss [64/100] : 2.391697303271114 --- accuracy : 0.14501851851851852\n", + "Epoch loss [65/100] : 2.389432469461783 --- accuracy : 0.14551851851851852\n", + "Epoch loss [66/100] : 2.3872400494643933 --- accuracy : 0.14605555555555555\n", + "Epoch loss [67/100] : 2.3851154142023465 --- accuracy : 0.14633333333333334\n", + "Epoch loss [68/100] : 2.3830541754232204 --- accuracy : 0.1466111111111111\n", + "Epoch loss [69/100] : 2.3810522137114516 --- accuracy : 0.14674074074074073\n", + "Epoch loss [70/100] : 2.3791056949393976 --- accuracy : 0.14712962962962964\n", + "Epoch loss [71/100] : 2.3772110751312536 --- accuracy : 0.1475\n", + "Epoch loss [72/100] : 2.375365095295514 --- accuracy : 0.14794444444444443\n", + "Epoch loss [73/100] : 2.3735647686023564 --- accuracy : 0.148\n", + "Epoch loss [74/100] : 2.3718073624655607 --- accuracy : 0.1482962962962963\n", + "Epoch loss [75/100] : 2.370090377849021 --- accuracy : 0.14875925925925926\n", + "Epoch loss [76/100] : 2.368411527663609 --- accuracy : 0.14903703703703702\n", + "Epoch loss [77/100] : 2.366768715606965 --- accuracy : 0.14924074074074073\n", + "Epoch loss [78/100] : 2.365160016321767 --- accuracy : 0.1494814814814815\n", + "Epoch loss [79/100] : 2.3635836573536495 --- accuracy : 0.14972222222222223\n", + "Epoch loss [80/100] : 2.3620380030911625 --- accuracy : 0.14983333333333335\n", + "Epoch loss [81/100] : 2.360521540662664 --- accuracy : 0.1504074074074074\n", + "Epoch loss [82/100] : 2.359032867635206 --- accuracy : 0.15085185185185185\n", + "Epoch loss [83/100] : 2.3575706812929225 --- accuracy : 0.151\n", + "Epoch loss [84/100] : 2.3561337692510507 --- accuracy : 0.15144444444444444\n", + "Epoch loss [85/100] : 2.3547210011721047 --- accuracy : 0.15157407407407408\n", + "Epoch loss [86/100] : 2.353331321379892 --- accuracy : 0.15192592592592594\n", + "Epoch loss [87/100] : 2.3519637422046666 --- accuracy : 0.15222222222222223\n", + "Epoch loss [88/100] : 2.3506173379310193 --- accuracy : 0.15231481481481482\n", + "Epoch loss [89/100] : 2.3492912392543333 --- accuracy : 0.15255555555555556\n", + "Epoch loss [90/100] : 2.347984628180022 --- accuracy : 0.15296296296296297\n", + "Epoch loss [91/100] : 2.3466967333219855 --- accuracy : 0.15294444444444444\n", + "Epoch loss [92/100] : 2.3454268255739787 --- accuracy : 0.15333333333333332\n", + "Epoch loss [93/100] : 2.344174214141042 --- accuracy : 0.15364814814814814\n", + "Epoch loss [94/100] : 2.3429382429284464 --- accuracy : 0.15387037037037038\n", + "Epoch loss [95/100] : 2.3417182872929962 --- accuracy : 0.15401851851851853\n", + "Epoch loss [96/100] : 2.340513751165717 --- accuracy : 0.1545\n", + "Epoch loss [97/100] : 2.3393240645554445 --- accuracy : 0.15487037037037038\n", + "Epoch loss [98/100] : 2.3381486814394847 --- accuracy : 0.15546296296296297\n", + "Epoch loss [99/100] : 2.3369870780405417 --- accuracy : 0.15555555555555556\n", + "Epoch loss [100/100] : 2.335838751479109 --- accuracy : 0.156\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABcMAAANXCAYAAAD5N0cgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAACpnklEQVR4nOzdeXxTVf7/8fdtgLJWUBZLWymI4jYKIuJWWpRFRQVDUREF0dEZAQXBZdBRRGfEBSF1GZ0vbqMOiNSo404FkTrihuICgwuK0FJWZd/K7f39cX5pmzZtk5I0afN6Ph48knvuyc0nJRfx7fFzLMdxHAEAAAAAAAAA0IAlRLsAAAAAAAAAAAAijTAcAAAAAAAAANDgEYYDAAAAAAAAABo8wnAAAAAAAAAAQINHGA4AAAAAAAAAaPAIwwEAAAAAAAAADR5hOAAAAAAAAACgwSMMBwAAAAAAAAA0eIThAAAAAAAAAIAGjzAcAACgnli0aJEsy9KiRYvCel3LsnT33XeH9Zrh9vnnn+uMM85QixYtZFmWli1bFvI10tPTdcEFF4S/OKACvmsGPwcAABBrCMMBAABq6aKLLlLz5s21Y8eOKueMGDFCTZo00ZYtW+qwssrefvvtmA+8q1JcXKxhw4bpt99+08yZM/XCCy+oU6dOAeeuWLFCd999t1avXl23RSLu8F0DAACofwjDAQAAamnEiBHas2ePXn311YDnd+/erddff13nnnuuDjvssIN+vz59+mjPnj3q06dPyK99++23NXXq1IDn9uzZo7/+9a8HW17ErFq1Sr/++qtuvvlmXXfddbriiivUpk2bgHNXrFihqVOnElAi4viuAQAA1D+E4QAAALV00UUXqVWrVpo9e3bA86+//rp27dqlESNGHNT77N27VyUlJUpISFDTpk2VkBDev8I1bdpUjRo1Cus1w2njxo2SpNatW0e3kAaopKREe/fujXYZMWvXrl3RLgEAAABhRBgOAABQS82aNZPb7daCBQtKA9vyZs+erVatWumiiy7Sb7/9pptvvll/+MMf1LJlSyUlJem8887T119/7fcaX1/wl156SX/961+VkpKi5s2ba/v27QF7hufn52vYsGE64ogjlJiYqLS0NN10003as2dP6ZyrrrpKjz/+uCTTH9z3yydQz/CvvvpK5513npKSktSyZUudc845+uSTT/zmPPfcc7IsS//97381ceJEtWvXTi1atNDFF1+sTZs2BfUzXLhwoTIyMtSiRQu1bt1agwcP1v/+9z+/2jMzMyVJw4YNk2VZysrKCnit5557TsOGDZMk9e3bt/RzVuyx/tFHH+nUU09V06ZN1aVLFz3//POVrrV161ZNmDBBaWlpSkxMVNeuXfXAAw+opKSkxs/0+uuva9CgQerYsaMSExN15JFH6t5775Vt25Xmfvrppzr//PPVpk0btWjRQieeeKJycnL85qxcuVKXXHKJ2rVrp2bNmqlbt2664447/H5G6enpla599913+/0+S+b3ety4cfr3v/+t448/XomJiXr33XclSdOnT9cZZ5yhww47TM2aNVPPnj2Vm5sb8DO++OKLOvXUU9W8eXO1adNGffr00fz58yVJo0aNUtu2bVVcXFzpdQMGDFC3bt2q/wFKmjdvnnr27KlmzZqpbdu2uuKKK1RYWFh6fvr06bIsS7/++mul106ePFlNmjTR77//Xjr26aef6txzz9Uhhxyi5s2bKzMzU//9738D/rxWrFihyy+/XG3atNFZZ50VsL5Y+a5J0jvvvFN6D7Vq1UqDBg3S8uXL/eZcddVVatmypX7++WcNHDhQLVq0UMeOHXXPPffIcRy/ubt27dKkSZNK6+nWrZumT59eaZ5U/fcglJ9DcXGxpk6dqqOOOkpNmzbVYYcdprPOOkt5eXlB/QwAAACCRRgOAABwEEaMGKEDBw7o5Zdf9hv/7bff9N577+niiy9Ws2bN9PPPP+u1117TBRdcoBkzZuiWW27Rt99+q8zMTK1bt67Sde+991699dZbuvnmm3XfffepSZMmAd9/3rx52r17t66//no9+uijGjhwoB599FGNHDmydM6f/vQn9e/fX5L0wgsvlP6qyvLly5WRkaGvv/5at956q+6880798ssvysrK0qefflpp/g033KCvv/5aU6ZM0fXXX6833nhD48aNq/Fn9/7772vgwIHauHGj7r77bk2cOFEff/yxzjzzzNLWE3/60590++23S5JuvPFGvfDCC35BcHl9+vTRjTfeKEm6/fbbSz/nscceWzrnp59+UnZ2tvr376+HH35Ybdq00VVXXeUXHu7evVuZmZl68cUXNXLkSD3yyCM688wzNXnyZE2cOLHGz/Xcc8+pZcuWmjhxonJyctSzZ0/ddddd+stf/uI3Ly8vT3369NGKFSs0fvx4Pfzww+rbt6/efPPN0jnffPONevfurYULF+raa69VTk6OhgwZojfeeKPGOqqycOFC3XTTTbr00kuVk5NTGqTn5OSoR48euueee3TfffepUaNGGjZsmN566y2/10+dOlVXXnmlGjdurHvuuUdTp05VWlqaFi5cKEm68sortWXLFr333nt+r1u/fr0WLlyoK664otr6nnvuOV1yySVyuVyaNm2arr32Wnm9Xp111lnaunWrJOmSSy6RZVmV7jtJevnllzVgwIDSVjoLFy5Unz59tH37dk2ZMkX33Xeftm7dqrPPPlufffZZpdcPGzZMu3fv1n333adrr702YI2x8l174YUXNGjQILVs2VIPPPCA7rzzTq1YsUJnnXVWpfYttm3r3HPPVYcOHfTggw+qZ8+emjJliqZMmVI6x3EcXXTRRZo5c6bOPfdczZgxQ926ddMtt9xSqZ6avgeh/BzuvvtuTZ06VX379tVjjz2mO+64Q0cccYS+/PLLGn8GAAAAIXEAAABQawcOHHCSk5Od008/3W/8ySefdCQ57733nuM4jrN3717Htm2/Ob/88ouTmJjo3HPPPaVjH3zwgSPJ6dKli7N7926/+b5zH3zwQelYxTmO4zjTpk1zLMtyfv3119KxsWPHOlX91U+SM2XKlNLjIUOGOE2aNHFWrVpVOrZu3TqnVatWTp8+fUrHnn32WUeS069fP6ekpKR0/KabbnJcLpezdevWgO/n0717d6d9+/bOli1bSse+/vprJyEhwRk5cmSlzz1v3rxqr+c4jjNv3rxKPyOfTp06OZKcxYsXl45t3LjRSUxMdCZNmlQ6du+99zotWrRwfvjhB7/X/+Uvf3FcLpezZs2aamsI9Hvypz/9yWnevLmzd+9ex3HM96Zz585Op06dnN9//91vbvmfZZ8+fZxWrVr5/V5WnDNq1CinU6dOld5zypQplX7PJTkJCQnO8uXLa6x7//79zgknnOCcffbZpWM//vijk5CQ4Fx88cWVvs++mmzbdlJTU51LL73U7/yMGTMcy7Kcn3/+udJ7l3/P9u3bOyeccIKzZ8+e0vE333zTkeTcddddpWOnn36607NnT7/Xf/bZZ44k5/nnny+t6aijjnIGDhzo9zPbvXu307lzZ6d///6lY76f1/Dhw6usr7xof9d27NjhtG7d2rn22mv9xtevX+8ccsghfuOjRo1yJDk33HBD6VhJSYkzaNAgp0mTJs6mTZscx3Gc1157zZHk/O1vf/O7ZnZ2tmNZlvPTTz85jhPc9yCUn8NJJ53kDBo0qMrPCgAAEC6sDAcAADgILpdLl112mZYsWeK3EnP27Nnq0KGDzjnnHElSYmJiaa9v27a1ZcsWtWzZUt26dQu4+nHUqFFq1qxZje9ffs6uXbu0efNmnXHGGXIcR1999VXIn8e2bc2fP19DhgxRly5dSseTk5N1+eWX66OPPtL27dv9XnPdddf5tePIyMiQbdsBW1j4FBUVadmyZbrqqqt06KGHlo6feOKJ6t+/v95+++2Qaw/Gcccdp4yMjNLjdu3aqVu3bvr5559Lx+bNm6eMjAy1adNGmzdvLv3Vr18/2batxYsXV/se5X9PduzYoc2bNysjI0O7d+/WypUrJZk2NL/88osmTJhQqRe672e5adMmLV68WFdffbWOOOKIgHNqIzMzU8cdd1y1df/+++/atm2bMjIy/L6fr732mkpKSnTXXXdV6l3vqykhIUEjRozQf/7zH+3YsaP0/L///W+dccYZ6ty5c5W1ffHFF9q4caPGjBmjpk2blo4PGjRIxxxzjN8q9UsvvVRLly7VqlWrSsfmzp2rxMREDR48WJK0bNky/fjjj7r88su1ZcuW0t/LXbt26ZxzztHixYsrtSP585//XGV9oYj0dy0vL09bt27V8OHD/V7rcrnUu3dvffDBB5VeU/7/2PC1zNm/f7/ef/99SWajXZfLVbrq3WfSpElyHEfvvPOOpOC+B6H8HFq3bq3ly5frxx9/rPLzAgAAhANhOAAAwEHybZDp20izoKBA+fn5uuyyy+RyuSSZjQpnzpypo446SomJiWrbtq3atWunb775Rtu2bat0zeoCw/LWrFlTGii3bNlS7dq1K+2xHei6Ndm0aZN2794dsK/zscceq5KSEq1du9ZvvGJQ62tPUb5nc0W+oLyq9/EFluFWsVbJ1Fu+1h9//FHvvvuu2rVr5/erX79+khSwP3x5y5cv18UXX6xDDjlESUlJateuXWlrEN/viS/APeGEE6q8ji8srG5ObVT13XrzzTd12mmnqWnTpjr00EPVrl07PfHEE37fo1WrVikhISFgmF7eyJEjtWfPHr366quSpO+//15Lly7VlVdeWe3rqvteHHPMMX7/gWXYsGFKSEjQ3LlzJZkWH/PmzSvtdS+pNFwdNWpUpd/Pp556Svv27at0nwR779Uk0t8132c7++yzK71+/vz5lV6bkJDg9x+4JOnoo4+WpNL/kPfrr7+qY8eOatWqld88X/sX388/2O9BsD+He+65R1u3btXRRx+tP/zhD7rlllv0zTff1HhtAACAUDWKdgEAAAD1Xc+ePXXMMcdozpw5uv322zVnzhw5jlMakkvSfffdpzvvvFNXX3217r33Xh166KFKSEjQhAkTAm6UF8yqcNu21b9/f/3222+67bbbdMwxx6hFixYqLCzUVVddFfQGfAfLF/hX5ATYcC/agqm1pKRE/fv316233hpwri9ADGTr1q3KzMxUUlKS7rnnHh155JFq2rSpvvzyS912220R+T2papV4oA07pcDfrfz8fF100UXq06eP/vGPfyg5OVmNGzfWs88+W/ofeUJx3HHHqWfPnqW9sF988UU1adJEl1xyScjXqkrHjh2VkZGhl19+Wbfffrs++eQTrVmzRg888EDpHN/P+6GHHlL37t0DXqdly5Z+x8Hce8GI9HfN99leeOEFHX744ZXON2oUG/+qF8zPoU+fPlq1apVef/11zZ8/X0899ZRmzpypJ598Un/84x/rqlQAABAHYuNvSAAAAPXciBEjdOedd+qbb77R7NmzddRRR6lXr16l53Nzc9W3b189/fTTfq/bunWr2rZtW6v3/Pbbb/XDDz/oX//6l9+GmXl5eZXmBttWo127dmrevLm+//77SudWrlyphIQEpaWl1are8jp16iRJVb5P27Zt1aJFi5CvezDtQ3yOPPJI7dy5s3R1bigWLVqkLVu2yOv1qk+fPqXjv/zyS6X3kKTvvvuuyvfxreL97rvvqn3PNm3alG4sWV51bWoqeuWVV9S0aVO99957SkxMLB1/9tlnK9VdUlKiFStWVBku+4wcOVITJ05UUVGRZs+erUGDBpX+XwNVKf+9OPvss/3Off/996XnfS699FKNGTNG33//vebOnavmzZvrwgsv9KtXkpKSkmr1+1mdaH/XfJ+tffv2Qb2+pKREP//8s1/A/sMPP0hS6SaqnTp10vvvv68dO3b4rQ73tffx/fxD+R4E69BDD9Xo0aM1evRo7dy5U3369NHdd99NGA4AAMKKNikAAABh4FsFftddd2nZsmV+q8Ilszqy4krpefPmqbCwsNbv6VtxWf66juMoJyen0lxfsBwoNK14zQEDBuj111/364G+YcMGzZ49W2eddVZpC4qDkZycrO7du+tf//qXX03fffed5s+fr/PPP79W1w32c1bnkksu0ZIlS/Tee+9VOrd161YdOHCgytcG+j3Zv3+//vGPf/jNO/nkk9W5c2d5PJ5Ktfpe265dO/Xp00fPPPOM1qxZE3COZILJbdu2+bWVKCoqKm1REgyXyyXLsvxWk69evVqvvfaa37whQ4YoISFB99xzT6VV7hW/38OHD5dlWRo/frx+/vnn0lYx1TnllFPUvn17Pfnkk9q3b1/p+DvvvKP//e9/GjRokN/8oUOHyuVyac6cOZo3b54uuOACv/+I0rNnTx155JGaPn26du7cWen9Nm3aVGNNVYn2d23gwIFKSkrSfffdp+Li4krnA322xx57rPS54zh67LHH1Lhx49K9Dc4//3zZtu03T5Jmzpwpy7J03nnnSQrtexCMLVu2+B23bNlSXbt29fsOAAAAhAMrwwEAAMKgc+fOOuOMM/T6669LUqUw/IILLtA999yj0aNH64wzztC3336rf//735V6+IbimGOO0ZFHHqmbb75ZhYWFSkpK0iuvvBKwV3fPnj0lSTfeeKMGDhxYuvFnIH/729+Ul5ens846S2PGjFGjRo30z3/+U/v27dODDz5Y63oreuihh3Teeefp9NNP1zXXXKM9e/bo0Ucf1SGHHKK77767Vtfs3r27XC6XHnjgAW3btk2JiYk6++yz1b59+6Cvccstt+g///mPLrjgAl111VXq2bOndu3apW+//Va5ublavXp1lav5zzjjDLVp00ajRo3SjTfeKMuy9MILL1QKCBMSEvTEE0/owgsvVPfu3TV69GglJydr5cqVWr58eWk4+sgjj+iss87SySefrOuuu06dO3fW6tWr9dZbb2nZsmWSpMsuu0y33XabLr74Yt14443avXu3nnjiCR199NEBN2cNZNCgQZoxY4bOPfdcXX755dq4caMef/xxde3a1S9k79q1q+644w7de++9ysjIkNvtVmJioj7//HN17NhR06ZNK53brl07nXvuuZo3b55at25dKcgOpHHjxnrggQc0evRoZWZmavjw4dqwYYNycnKUnp6um266yW9++/bt1bdvX82YMUM7duzQpZdeWunn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hDtO4POWJU2YYOYBAAAAABBLQl7KPX36dPXp00edOnVSjx49JEnLli1Thw4d9MILL4S9QAAAEDvy8wOvCPdxHGntWjMvK6vOygIAAAAAoEYhh+EpKSn65ptv9O9//1tff/21mjVrptGjR2v48OFq3LhxJGoEAAAxYt264OYVFUW2DgAAAAAAQhVymxRJatGiha677jo9/vjjmj59ukaOHHlQQfjjjz+u9PR0NW3aVL1799Znn31W5dzly5dr6NChSk9Pl2VZ8ng8leY88cQTOvHEE5WUlKSkpCSdfvrpeuedd2pdHwAAkJYvlx58MLi5ycmRrQUAAAAAgFDVesfLFStWaM2aNdq/f7/f+EUXXRTSdebOnauJEyfqySefVO/eveXxeDRw4EB9//33at++faX5u3fvVpcuXTRs2DDddNNNAa+Zmpqq+++/X0cddZQcx9G//vUvDR48WF999ZWOP/74kOoDACDe7dwpTZ0qeTzSgQPVz7UsKTVVysiok9IAAAAAAAhayGH4zz//rIsvvljffvutLMuS8/930LIsS5Jkh7hj1owZM3Tttddq9OjRkqQnn3xSb731lp555hn95S9/qTS/V69e6tWrlyQFPC9JF154od/x3//+dz3xxBP65JNPCMMBAAjAtk2f76Iis6o7I0NKSJByc6WbbpIKC828IUOkgQOlMWPMcfmNNP//XwXk8UguV11WDwAAAABAzUIOw8ePH6/OnTtrwYIF6ty5sz777DNt2bJFkyZN0vTp00O61v79+7V06VJNnjy5dCwhIUH9+vXTkiVLQi0tINu2NW/ePO3atUunn356wDn79u3Tvn37So+3b98uSSouLlZxcXFY6qhPfJ85Hj87EO+4/+PTq69amjjRpcJCq3SsQwdHHTo4+uYb01GtSxdHM2bYOv98k34femjl16SkOHr4YVsXXuiIr1D9w/0PxC/ufyB+cf8D8a2h/BkQSv0hh+FLlizRwoUL1bZtWyUkJCghIUFnnXWWpk2bphtvvFFfffVV0NfavHmzbNtWhw4d/MY7dOiglStXhlqan2+//Vann3669u7dq5YtW+rVV1/VcccdF3DutGnTNHXq1Erj8+fPV/PmzQ+qjvosLy8v2iUAiBLu//ixZEmyHnigV6XxDRukDRsS5HLZys7+UW73j5JK9Pbb5nxiovTII9KKFYfp99+b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X345r776aqXLAXqR9Q+1y/qH2mX9Q+2y/qG2VctnwMsvv5zktUx3XSoahg8ePDi77757FixYkMMPPzxJ0tbWlgULFmTGjBkVe80XX3wxSTJu3LiNqgEAAAAAgN7z4osvZtNNN13nnIq3SZk9e3amT5+eCRMmZM8990xjY2OWL1+eY489NknyyU9+MmPHjs0FF1yQpDgg86GHHmq/fvLJJ7No0aJssskmede73tWl11yfMWPGZPHixRk5cmRKpVIPvOu+bU2bmMWLF9dkmxioZdY/1C7rH2qX9Q+1y/qH2lYtnwHlcjkvvvhixowZs965FQ/Djz766Dz77LM566yzsnTp0uy6666588472w/AfOKJJzJgwID2+U899VR222239udz5szJnDlzsv/+++fuu+/u0muuz4ABA9LQ0NB9b7KfGjVqVL9eCMDGs/6hdln/ULusf6hd1j/Utmr4DFjfjvA1SuWuNFOhpixbtiybbrppXnjhhX6/EIANY/1D7bL+oXZZ/1C7rH+obbX4GTBg/VMAAAAAAKB/E4bzJkOGDMnZZ5+dIUOGVLoUoJdZ/1C7rH+oXdY/1C7rH2pbLX4GaJMCAAAAAEDVszMcAAAAAICqJwwHAAAAAKDqCcMBAAAAAKh6wnAAAAAAAKqeMJwOLrvssowfPz5Dhw7NXnvtlfvvv7/SJQHd7IILLsgee+yRkSNHZquttsrhhx+eRx99tMOclStX5oQTTsgWW2yRTTbZJEcccUSefvrpClUM9JQLL7wwpVIps2bNah+z/qF6Pfnkk/k//+f/ZIsttsiwYcPy3ve+N7/61a/a75fL5Zx11lmpr6/PsGHDcuCBB+a///u/K1gx0F1aW1tz5plnZtttt82wYcPyzne+M1/96ldTLpfb5/gMgOpw77335rDDDsuYMWNSKpVy8803d7jflbX+/PPPZ9q0aRk1alTe9ra35TOf+UxeeumlXnwXPUcYTrsbbrghs2fPztlnn50HH3wwu+yySw4++OA888wzlS4N6Eb33HNPTjjhhPziF7/I/Pnzs3r16hx00EFZvnx5+5yTTz45t956a2688cbcc889eeqppzJ58uQKVg10twceeCD//M//nJ133rnDuPUP1enPf/5z9ttvvwwaNCh33HFHHnrooXz961/PZptt1j7n4osvzje/+c1cfvnl+eUvf5kRI0bk4IMPzsqVKytYOdAdLrroosydOzff/va38/DDD+eiiy7KxRdfnG9961vtc3wGQHVYvnx5dtlll1x22WWd3u/KWp82bVp+97vfZf78+bntttty77335rjjjuutt9CjSuXXfw1ITdtrr72yxx575Nvf/naSpK2tLePGjcuJJ56Y0047rcLVAT3l2WefzVZbbZV77rknH/jAB/LCCy/k7W9/e6699tpMmTIlSfLII49khx12yH333Ze99967whUDb9VLL72U973vffnOd76T8847L7vuumsaGxutf6hip512Wn7+85+nubm50/vlcjljxozJKaecki9+8YtJkhdeeCGjR4/O9773vUydOrU3ywW62Yc//OGMHj063/3ud9vHjjjiiAwbNizXXHONzwCoUqVSKTfddFMOP/zwJF377/3DDz+cHXfcMQ888EAmTJiQJLnzzjvzt3/7t1myZEnGjBlTqbfTLewMJ0nyyiuvZOHChTnwwAPbxwYMGJADDzww9913XwUrA3raCy+8kCTZfPPNkyQLFy7M6tWrO3webL/99tlmm218HkCVOOGEE/J3f/d3HdZ5Yv1DNbvlllsyYcKEHHnkkdlqq62y22675corr2y///jjj2fp0qUd1v+mm26avfbay/qHKrDvvvtmwYIF+f3vf58k+c1vfpOf/exnOfTQQ5P4DIBa0ZW1ft999+Vtb3tbexCeJAceeGAGDBiQX/7yl71ec3cbWOkC6Buee+65tLa2ZvTo0R3GR48enUceeaRCVQE9ra2tLbNmzcp+++2X97znPUmSpUuXZvDgwXnb297WYe7o0aOzdOnSClQJdKfrr78+Dz74YB544IE33bP+oXo99thjmTt3bmbPnp0zzjgjDzzwQE466aQMHjw406dPb1/jnf3/gPUP/d9pp52WZcuWZfvtt09dXV1aW1vzta99LdOmTUsSnwFQI7qy1pcuXZqtttqqw/2BAwdm8803r4rPA2E4QA074YQT8l//9V/52c9+VulSgF6wePHizJw5M/Pnz8/QoUMrXQ7Qi9ra2jJhwoScf/75SZLddtst//Vf/5XLL78806dPr3B1QE/793//93z/+9/Ptddem5122imLFi3KrFmzMmbMGJ8BQE3RJoUkyZZbbpm6uro8/fTTHcaffvrpbL311hWqCuhJM2bMyG233Za77rorDQ0N7eNbb711XnnllfzlL3/pMN/nAfR/CxcuzDPPPJP3ve99GThwYAYOHJh77rkn3/zmNzNw4MCMHj3a+ocqVV9fnx133LHD2A477JAnnngiSdrXuP8fgOp06qmn5rTTTsvUqVPz3ve+N8ccc0xOPvnkXHDBBUl8BkCt6Mpa33rrrfPMM890uP/qq6/m+eefr4rPA2E4SZLBgwdn9913z4IFC9rH2trasmDBguyzzz4VrAzobuVyOTNmzMhNN92Un/70p9l222073N99990zaNCgDp8Hjz76aJ544gmfB9DPHXDAAfntb3+bRYsWtf9MmDAh06ZNa7+2/qE67bfffnn00Uc7jP3+97/PO97xjiTJtttum6233rrD+l+2bFl++ctfWv9QBVasWJEBAzpGQHV1dWlra0viMwBqRVfW+j777JO//OUvWbhwYfucn/70p2lra8tee+3V6zV3N21SaDd79uxMnz49EyZMyJ577pnGxsYsX748xx57bKVLA7rRCSeckGuvvTY/+MEPMnLkyPaeX5tuummGDRuWTTfdNJ/5zGcye/bsbL755hk1alROPPHE7LPPPtl7770rXD3wVowcObL9fIA1RowYkS222KJ93PqH6nTyySdn3333zfnnn5+jjjoq999/f6644opcccUVSZJSqZRZs2blvPPOy7vf/e5su+22OfPMMzNmzJgcfvjhlS0eeMsOO+ywfO1rX8s222yTnXbaKb/+9a9zySWX5NOf/nQSnwFQTV566aX84Q9/aH/++OOPZ9GiRdl8882zzTbbrHet77DDDjnkkEPy2c9+NpdffnlWr16dGTNmZOrUqRkzZkyF3lU3KsPrfOtb3ypvs8025cGDB5f33HPP8i9+8YtKlwR0sySd/lx99dXtc15++eXyF77whfJmm21WHj58ePljH/tYuaWlpXJFAz1m//33L8+cObP9ufUP1evWW28tv+c97ykPGTKkvP3225evuOKKDvfb2trKZ555Znn06NHlIUOGlA844IDyo48+WqFqge60bNmy8syZM8vbbLNNeejQoeXtttuu/OUvf7m8atWq9jk+A6A63HXXXZ3+P//06dPL5XLX1vr//u//lj/+8Y+XN9lkk/KoUaPKxx57bPnFF1+swLvpfqVyuVyuUA4PAAAAAAC9Qs9wAAAAAACqnjAcAAAAAICqJwwHAAAAAKDqCcMBAAAAAKh6wnAAAAAAAKqeMBwAAAAAgKonDAcAAAAAoOoJwwEAAAAAqHrCcAAAoINSqZSbb7650mUAAEC3EoYDAEAf8qlPfSqlUulNP4ccckilSwMAgH5tYKULAAAAOjrkkENy9dVXdxgbMmRIhaoBAIDqYGc4AAD0MUOGDMnWW2/d4WezzTZLUrQwmTt3bg499NAMGzYs2223XebNm9fh93/729/mQx/6UIYNG5Ytttgixx13XF566aUOc6666qrstNNOGTJkSOrr6zNjxowO95977rl87GMfy/Dhw/Pud787t9xyS/u9P//5z5k2bVre/va3Z9iwYXn3u9/9pvAeAAD6GmE4AAD0M2eeeWaOOOKI/OY3v8m0adMyderUPPzww0mS5cuX5+CDD85mm22WBx54IDfeeGN+8pOfdAi7586dmxNOOCHHHXdcfvvb3+aWW27Ju971rg5/xrnnnpujjjoq//mf/5m//du/zbRp0/L888+3//kPPfRQ7rjjjjz88MOZO3duttxyy977BwAAABuhVC6Xy5UuAgAAKHzqU5/KNddck6FDh3YYP+OMM3LGGWekVCrl+OOPz9y5c9vv7b333nnf+96X73znO7nyyivzpS99KYsXL86IESOSJLfffnsOO+ywPPXUUxk9enTGjh2bY489Nuedd16nNZRKpXzlK1/JV7/61SRFwL7JJpvkjjvuyCGHHJKPfOQj2XLLLXPVVVf10D8FAADofnqGAwBAH/PBD36wQ9idJJtvvnn79T777NPh3j777JNFixYlSR5++OHssssu7UF4kuy3335pa2vLo48+mlKplKeeeioHHHDAOmvYeeed269HjBiRUaNG5ZlnnkmSfP7zn88RRxyRBx98MAcddFAOP/zw7Lvvvhv1XgEAoLcIwwEAoI8ZMWLEm9qWdJdhw4Z1ad6gQYM6PC+VSmlra0uSHHroofnTn/6U22+/PfPnz88BBxyQE044IXPmzOn2egEAoLvoGQ4AAP3ML37xizc932GHHZIkO+ywQ37zm99k+fLl7fd//vOfZ8CAAfnrv/7rjBw5MuPHj8+CBQveUg1vf/vbM3369FxzzTVpbGzMFVdc8ZZeDwAAepqd4QAA0MesWrUqS5cu7TA2cODA9kMqb7zxxkyYMCHvf//78/3vfz/3339/vvvd7yZJpk2blrPPPjvTp0/POeeck2effTYnnnhijjnmmIwePTpJcs455+T444/PVlttlUMPPTQvvvhifv7zn+fEE0/sUn1nnXVWdt999+y0005ZtWpVbrvttvYwHgAA+iphOAAA9DF33nln6uvrO4z99V//dR555JEkybnnnpvrr78+X/jCF1JfX5/rrrsuO+64Y5Jk+PDh+dGPfpSZM2dmjz32yPDhw3PEEUfkkksuaX+t6dOnZ+XKlfnGN76RL37xi9lyyy0zZcqULtc3ePDgnH766fnjH/+YYcOGZeLEibn++uu74Z0DAEDPKZXL5XKliwAAALqmVCrlpptuyuGHH17pUgAAoF/RMxwAAAAAgKonDAcAAAAAoOrpGQ4AAP2ILocAALBx7AwHAAAAAKDqCcMBAAAAAKh6wnAAAAAAAKqeMBwAAAAAgKonDAcAAAAAoOoJwwEAAAAAqHrCcAAAAAAAqp4wHAAAAACAqvf/ACPgIHVcVMdJAAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 1800x1000 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if __name__ == \"__main__\":\n", + " split_factor = 0.9\n", + " data, labels = read_cifar(path)\n", + " data_train, labels_train, data_test, labels_test = split_dataset(data, labels, split=split_factor)\n", + " # Normalize the data in [0, 1] :\n", + " data_train, data_test = data_train/255.0, data_test/255.0\n", + " # parameters of the MLP :\n", + " d_h = 64\n", + " learning_rate = 0.1\n", + " num_epoch = 100\n", + " \n", + " train_accuracies, test_accuracy = run_mlp_training(data_train, labels_train, data_test,\n", + " labels_test, d_h, learning_rate, num_epoch)\n", + " plot_accuracy_versus_epoch(train_accuracies)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Env_Deep", + "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.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/main.py b/main.py deleted file mode 100644 index 87edc61aecde21d28ab261121ab897d2310662d1..0000000000000000000000000000000000000000 --- a/main.py +++ /dev/null @@ -1,38 +0,0 @@ -from read_cifar import * -from mlp import * -#from knn import * - -path = r'C:\Users\hp\Desktop\BE\image-classification\data' - -''' -if __name__ == "__main__": - split_factor = 0.9 - X, y = read_cifar(path) - X_train,y_train,X_test,y_test=split_dataset(X,y,split=0.9) - - K_max=20 - accuries=evaluate_knn_for_k(X_train, y_train, X_test, y_test, K_max) - plot_accuracy_versus_k(accuries) - - - - - -''' -if __name__ == "__main__": - split_factor = 0.9 - data, labels = read_cifar(path) - data_train, labels_train, data_test, labels_test = split_dataset(data, labels, split=split_factor) - data_train, data_test = data_train/255.0, data_test/255.0 - # parameters of the MLP : - d_h = 64 - learning_rate = 0.1 - num_epoch = 100 - - train_accuracies, test_accuracy = run_mlp_training(data_train, labels_train, data_test, - labels_test, d_h, learning_rate, num_epoch) - plot_accuracy_versus_epoch(train_accuracies) - - - - diff --git a/mlp.py b/mlp.py index 6edf22091bb205df40fabb93a49831355b4a85c7..5aa8f4a396c8e3b6632123b9b7af643197efd8cf 100644 --- a/mlp.py +++ b/mlp.py @@ -4,12 +4,12 @@ import matplotlib.pyplot as plt def learn_once_mse(w1, b1, w2, b2, data, targets, learning_rate): # Forward pass - a0 = data # the data are the input of the first layer - z1 = np.matmul(a0, w1) + b1 # input of the hidden layer - a1 = 1 / (1 + np.exp(-z1)) # output of the hidden layer (sigmoid activation function) - z2 = np.matmul(a1, w2) + b2 # input of the output layer - a2 = 1 / (1 + np.exp(-z2)) # output of the output layer (sigmoid activation function) - predictions = a2 # the predicted values are the outputs of the output layer + a0 = data + z1 = np.matmul(a0, w1) + b1 + a1 = 1 / (1 + np.exp(-z1)) + z2 = np.matmul(a1, w2) + b2 + a2 = 1 / (1 + np.exp(-z2)) + predictions = a2 # Compute loss (MSE) loss = np.mean(np.square(predictions - targets)) @@ -58,12 +58,12 @@ def learn_once_cross_entropy(w1, b1, w2, b2, data, targets, learning_rate): N = data.shape[0] # Forward pass - a0 = data # the data are the input of the first layer - z1 = np.matmul(a0, w1) + b1 # input of the hidden layer - a1 = 1 / (1 + np.exp(-z1)) # output of the hidden layer (sigmoid activation function) - z2 = np.matmul(a1, w2) + b2 # input of the output layer - a2 = softmax(z2) # output of the output layer (softmax activation function) - predictions = a2 # the predicted values are the outputs of the output layer + a0 = data + z1 = np.matmul(a0, w1) + b1 + a1 = 1 / (1 + np.exp(-z1)) + z2 = np.matmul(a1, w2) + b2 + a2 = softmax(z2) + predictions = a2 # One-hot encode the targets oh_targets = one_hot(targets) @@ -99,11 +99,11 @@ def predict_mlp(w1, b1, w2, b2, data): numpy array: the predictions for images in data """ # Forward pass - a0 = data # the data are the input of the first layer - z1 = np.matmul(a0, w1) + b1 # input of the hidden layer - a1 = 1 / (1 + np.exp(-z1)) # output of the hidden layer (sigmoid activation function) - z2 = np.matmul(a1, w2) + b2 # input of the output layer - a2 = softmax(z2) # output of the output layer (softmax activation function) + a0 = data + z1 = np.matmul(a0, w1) + b1 + a1 = 1 / (1 + np.exp(-z1)) + z2 = np.matmul(a1, w2) + b2 + a2 = softmax(z2) predictions = np.argmax(a2, axis=1) return predictions @@ -173,4 +173,4 @@ def plot_accuracy_versus_epoch(accuracies): plt.xlabel("Epochs") plt.ylabel("Accuracy") plt.grid(axis='both', which='both') - plt.savefig(r'C:\Users\hp\Desktop\BE\image-classification\resultats\mlp1.png') \ No newline at end of file + plt.savefig(r'C:\Users\hp\Desktop\BE\image-classification\resultats\mlp.png') \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 736212482ea6d8dd58e327f03ebf2e546c3e4eff..f796ca4827434dc78be8b6e31706c3be783b4bf9 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/resultats/Knn.png b/resultats/Knn.png index d0ec86484604e1735247aa9c4de02ee0a31e9f40..a083387e49b943242de1b7ff96d8f5cab1681f44 100644 Binary files a/resultats/Knn.png and b/resultats/Knn.png differ diff --git a/resultats/mlp.png b/resultats/mlp.png new file mode 100644 index 0000000000000000000000000000000000000000..7286a2142aece95c795a289117d212d9c3f8777a Binary files /dev/null and b/resultats/mlp.png differ diff --git a/resultats/mlp1.png b/resultats/mlp1.png deleted file mode 100644 index b53810071fa622dd174502941987192ef598e93b..0000000000000000000000000000000000000000 Binary files a/resultats/mlp1.png and /dev/null differ diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8eff39218fb8efc1e33936b8c42b83f26905eb82 --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,3 @@ +import os +import sys +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) \ No newline at end of file diff --git a/test_distance_matrix.py b/tests/test_distance_matrix.py similarity index 100% rename from test_distance_matrix.py rename to tests/test_distance_matrix.py diff --git a/test_evaluate_knn.py b/tests/test_evaluate_knn.py similarity index 100% rename from test_evaluate_knn.py rename to tests/test_evaluate_knn.py diff --git a/test_knn_predict.py b/tests/test_knn_predict.py similarity index 100% rename from test_knn_predict.py rename to tests/test_knn_predict.py diff --git a/test_learn_once_cross_entropy.py b/tests/test_learn_once_cross_entropy.py similarity index 100% rename from test_learn_once_cross_entropy.py rename to tests/test_learn_once_cross_entropy.py diff --git a/test_learn_once_mse.py b/tests/test_learn_once_mse.py similarity index 100% rename from test_learn_once_mse.py rename to tests/test_learn_once_mse.py diff --git a/test_mode.py b/tests/test_mode.py similarity index 100% rename from test_mode.py rename to tests/test_mode.py diff --git a/test_one_hot.py b/tests/test_one_hot.py similarity index 100% rename from test_one_hot.py rename to tests/test_one_hot.py diff --git a/test_predict_mlp.py b/tests/test_predict_mlp.py similarity index 100% rename from test_predict_mlp.py rename to tests/test_predict_mlp.py diff --git a/test_read_cifar.py b/tests/test_read_cifar.py similarity index 100% rename from test_read_cifar.py rename to tests/test_read_cifar.py diff --git a/test_run_mlp_training.py b/tests/test_run_mlp_training.py similarity index 100% rename from test_run_mlp_training.py rename to tests/test_run_mlp_training.py diff --git a/test_softmax.py b/tests/test_softmax.py similarity index 100% rename from test_softmax.py rename to tests/test_softmax.py diff --git a/test_split_dataset.py b/tests/test_split_dataset.py similarity index 100% rename from test_split_dataset.py rename to tests/test_split_dataset.py diff --git a/test_train_mlp.py b/tests/test_train_mlp.py similarity index 100% rename from test_train_mlp.py rename to tests/test_train_mlp.py diff --git a/test_unpickle.py b/tests/test_unpickle.py similarity index 100% rename from test_unpickle.py rename to tests/test_unpickle.py