{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"![Pink and Black Internship Application LinkedIn Banner.jpg](attachment:178aa370-3be8-49fb-92b7-6e7ae79218cc.jpg)","metadata":{},"attachments":{"178aa370-3be8-49fb-92b7-6e7ae79218cc.jpg":{"image/jpeg":"/9j/4QC8RXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAABMCAwABAAAAAQAAAGmHBAABAAAAZgAAAAAAAABgAAAAAQAAAGAAAAABAAAABgAAkAcABAAAADAyMTABkQcABAAAAAECAwAAoAcABAAAADAxMDABoAMAAQAAAP//AAACoAQAAQAAADAGAAADoAQAAQAAAIwBAAAAAAAA/+EOE2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDIxLTA4LTA3PC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPmRkNDFhZTM3LTgzNWEtNGM0Yi1hNTQzLTI4N2JkZGFmNGFjZDwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5QaW5rIGFuZCBCbGFjayBJbnRlcm5zaGlwIEFwcGxpY2F0aW9uIExpbmtlZEluIEJhbm5lcjwvcmRmOmxpPgogICA8L3JkZjpBbHQ+CiAgPC9kYzp0aXRsZT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6cGRmPSdodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvJz4KICA8cGRmOkF1dGhvcj5EZXZhc2hyZWU8L3BkZjpBdXRob3I+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YTwveG1wOkNyZWF0b3JUb29sPgogPC9yZGY6RGVzY3JpcHRpb24+CjwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz7/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAGMBjADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2+iiiuY+iCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOf8AiBp41XwPr1jjLTWUoX/e2Er+oFfM37LuoG0+JT22flvLOWLHupVwfyU/nX1u6h1KsAVYYIPcV8WfBYnTPjNo0ZOClzLAfxR0/rVx2ZxYnSpCR9q0UUVB2hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADXYIhZjgAZr568da62va9NMjZtYiY4R22jv+PX8q9X+KGr/ANmeGJo42xPdHyUx2B6n8s/pXg9TJ9D7HhjBJ3xMvRBRRRUH2QUUVe0bS7vWL+O0sI98zc+gUepPYUzOpUjSi5zdkijWlY6Dqt8oa00+5kQ9GEZAP4nivZfCvgPTdGjSW5Rbu96mRxwp/wBkdv5114VQOAB+FUo9z5PF8UKMuXDxuu7Pnebwhr8Me99Ln2/7OGP5A1jXNtPaybLmGWF/7siFT+Rr6iwPSq97YWt9A0N3BHLE3VXUEU+VHPS4pqp/vIJryPmCivSvG3w7a0SS90IM8Q+Z7bqVH+ye/wBP/wBVea1DVj6vBY+ljYc9J/IKKKKR2hXsvwj1/wC26a+mXD5ntQPLz1aPt+XT8q8arY8Iaq2jeIbO73YjD7JOeNh4P5dfwqouzPJznBLF4aSW61R9IUU1G3IGHcZp1WfmYUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvirwT8nx1sAnQawR+HmGvtWvin4Tf8TL41aRKvPmXzz/kGf8ApVw2ZxYv4o+p9rUUUVB2hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHjPxnvjNrlpZg/JBEXP1Y/4KPzrz2ul+JExm8aakc8KyqPbCj+ua5qolufqOUUlSwdOPlf7woooqT0gUFmAUEknAA71798P/AA0mgaQpkUG9nAeZvT0Uew/xryT4eWC6h4tsY5BmONjKw/3RkfrivoQDAxVx7nxfE+MlzRw0XpuxaKKKo+QCiiigBCAQQeleJ/FXw4ulamt/aIFtbpjuUdFk6n8+v517bXNfEWwW/wDCV+pXLxJ5qn0K8/0I/Gi19D08pxksLiYyT0ejPnyiiisj9PTuFFFFANXVj6K8DXp1Dwrp07NucxhGPqV+U/qK3q4T4O3Bl8LNGT/qZ3X88N/Wu7rU/KMdTVLETgujYUUUUHIFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUxHVpTGThgM0EzmoK8h9FKyleopKBqSlqgooooGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSVHNKI8An5m4AqEsSeTRY5q2JVJ26lqlqsDUiuadjKOOi37yJaKQHNLSOyE4zV4syPF9+NK8Kazfk4+zWc0o+qoSP1r5V/ZksTd/FOCcDIs7Wac+2R5f/tSvb/2kdYGl/C+8gVtsuoTR2qY64zvb8NqEfjXD/skaQRHr+sunBMdpE35u4/WOrjpFnHV9+vGPY+iqKKKg7gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkPSlooGfO3j0FfF+qA9fNz+grArqvihbmDxnek9JQkg/75A/mDXK1m9z9Uy2SlhabXZBRRRSO47b4QsB4uAPeBwPzWvcq+cfBmorpXiawupDiIPtc54CsMEn6Zz+FfRqncoI7jNaR2Pz/iak44pT6NC0UUUz5wKKKKACs3xGVXQr8vyogfP02mtKuQ+KGprp/hS5jziW5/coPXPX9M0HRhabq1owju2jwaiiisj9ZirJIKKKKBnsfwUz/YN6e32k/+grXotcN8H7byfCYl/wCe0zv+Xy/+y13Nan5ZmkubF1Gu4UUUUHAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVm3zmK8jb1XFaVZetDBhb3NBzYtXps0ra43KAeR6VY2I4ypwf0rEtZeBWjFLVbnkwqzpv3WTPGydRx602p0lpSiP0+U0cp30scnpMr0U94mTtkeoplSd0ZxmrphRRRQUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSEgAk9BS1Q1mbyrQqDy/FBFSfJFszjeedqikn5eVUVpCuVaUxyq69VOa6aCRZYlkTowyKEzxJtyd2TinioxTxVEDwakBqIU8UFQnKDvFnzR+1pf3kutaLp5gmSwhhaUSlSEkkY4IB6EgKP8Avo16/wDA/QD4e+GmjwSLtuLlPtc3GDuk5APuF2j8K6rW9G07XtPksdYtIru0cgtHIMjI7j0PvWiAFUBQABwAO1NvSx2YaopVHKW4tFFFQemFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeR/GvT9l7YX6rxIpic+4OR/NvyrzOvoT4gaQdZ8M3UMabrhB5sXruHOPxGR+NfPdRLufoPDeJVXDeze8QoooqT6IK9r+GHilNT05NPu5AL63XAJPMiDofqOh/+vXilS2txNaXEc9tI0c0Z3K6nBBqk7HmZpl0cfS5Ho1sz6jorzHwx8TYHSODXUMUgGPtCDKt9QOR+v4V6BYarY6hHvsruGZfVHBq99j87xOAr4WXLUjb8i9RTDIgGS6/nWDrXi/RtJRvtF5G8o/5ZRne2foOn40GFOjUqvlgm2blxNHbwvLM6pGgLMzHAArwT4geJT4h1fMBYWMGVhB43erfj/Kn+MvGl54hYwRg29gDkRA8v6Fj/T+dcpUyfRH22SZK8M/b1/i6LsFFFFQfUBQKK6PwBpB1jxNaxkZhhPnSH2U8D8TgU0rnPiq8aFGVSXRHt3hOwOmeHbC0YYeOIbh/tHk/qTWvSAYAHpS1ofk9SbnNzfUKKKKCAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACs7Wxm3U+jVo1S1Zc2TexBoMa6vTZl2z4rRhkrHhODV6J6aPDZqJJ0qdJKzkf3qdHpiNBJacyo/sfUVTV6lV6ZUJyg7xY54mXkcj1FR1MsmKcQj9Rg+opNHfSx3SZXoqRomHK8io6mx3wqRmrxYUUUUFhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFYGvyZnC5+6K365bWWzdy/XFByYx2hYypTya0/D958xtnPun9RWTL3qAO0bh0OGU5Bqb2PNtc7sU8Vn6Xere24YYDjh19DV8VaIHinA0wU4UxEgNPBqMU4Uw2HEUUA0pHcVLR6OGxN/cmJRRRSPQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAQjIIPSvCPiX4ebRtba4hU/Y7sl0PZW7r/Uf/Wr3isvxFo1vrmlzWV0vyuMqw6o3Yii1z08qx7wNdT6Pc+a6Kv65pV1ouoy2d6m2RDwezr2I9qoVnsfplKrGrBTg7phRRRSNApVYqwZSQw6EGkooJcVLdE0t1cSrtlnldfRnJFQ0UUCjCMdkFFFFBYUUUUAFe7fDLw8dF0XzrlNt5dYdweqj+Ff89ya4r4YeEm1C6TVb+Mi0iOYVYf6xh3+g/U/SvZgMAAdKuKsfEcRZmqj+rUnot/8AIWiiiqPkwooooAKKKKACiiigAooooAKKKKACiiig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ek6Ou3StMsrIYx/o8Cx/yFHNFbIfsK0vikfHFv4S+IvjeVJJ7TWb1Scia/kZUHuGkIH5V6Z4S/Zx+5N4r1b3NtYj+cjD+S/jX0ZRRzsqOEgtZanIy+G7XRNJtrXSo3SztkEaozs5UD3JJrFlXBr0dlDKVYAg8EGuR1zSmtmMkQzCf/HfrWbMcRQ5fejsYBFJT2HNNxUHKAp600U4UDJUYqQVJBHQit7T9ZYAJdDcOzjr+NYC1PHVJktXO1ilSVQ0bBge4NSA1yVtK8TBo2Kn2rXt9SbgSpn3WrTM2jYBpQaqx3cTD7xH1FTxurn5TmmEYuTsiYUtIKWpPcpRcYJMKKKKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMLXFxcA+q1lE1ta6PmjPtWIaDxq6tUY4GpFPSoQa0tJ06S+kz92EH5m/oKEYC6dZy3km2MEIOrHoK6yys4rSMLEOe7HqaktoEt4ljiUKoqUCrSsSxRQBQBTsVQABS4qO5uIbS3luLqWOGCJS8kkjBVRRySSeAK+WfjT8e5dS8/RPA0zwWXKTakMrJL6iPuq/7XU9sd2lcD6a0vW9N1W7v7bTbyK5msJBDciM5EbkZ2k9M+vp0rSAr5e/Yz1Ai/wDE+nM2TJHBcKD/ALJdWP8A48tfUdDVgEApJXWNCzHApXYIpZjgCsm6nMz+ijoKlux0Yeg6r8hk0jSyFm/D2plFFZnsxioqyCiiigYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUjKGUqwBB6g0tFAHN6toG7dLZfXyz/SubmheJykilWHUEV6RUFzaQXS4niV/c9R+NJo5KmFUtYnneKUCuruvDkTEm3lKf7LciqL+HrpfumN/o2KVjllQqR6GMoqdBV9dEvB/yy/8AHhViLRbo/eVV+rUWM/ZTfQoxircSk4FaNvopU/vZB9FFaUFpDByic+p5NM1hhJy30KNpZu2C42r+prURFRdqjAp1FM7qVCNPYKKKKDYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKErgFFeZePfitZaFNLY6NGl9qCHa7k/uoj6Ejlj7D8+1eN61458Saw7G71W5VD/wAsoG8pB7YXGfxzX0mA4ZxWLj7SXux8ziq46nTdlqz6wJA6kD60tfFckjyMWkdnY92OTU9rfXdoQbW6ngI7xyFf5V63+pl17tXX0Of+0u8T7Nor5r+Hni7xPceKtJ09dXupoJrhFkSdvNymcty2SOAehrqvivbeMp/Fc0mhJq66fHCgU2kjhGOMk4U9cnH4V5NXh2VHErD1KiV1e50RxilDnSPaqK+Qz4o8QqSDrmrAjjH2uT/Glg1jxFqVzHbQalq11PIcLGs8jsx9hmvR/wBTqiXNKorGP9pJ6KJ9d0V5T4V0rxDpnwq1yG4gvP7YuGkaFC+6XDKigg5yDwT615Nq134v0OWOLU73WrN5BuQSXEi7h7c15+E4fWKqSpwqrR29TapjHTSbifV9FfIX/CU+IP8AoO6r/wCBkn+NB8UeID113VT/ANvcn+Neg+Daq3qIx/tKL6H17SV8fP4h1qQfPq+ot9blz/Wl0uS71XWtPtZrmeUz3EcY3yE8lgP60S4PlGDm6qsgWYpu3KfYNFFVNVvotM0y6vrg4ht4mlf6KM18dGm5T5I77HpN2V2W6K+SdR8ZeIb+eWSXWdQVXYt5aXDqgyegAOMVmR6pepeQ3RupnmhcSIzuWwQcjrX2MODarhzSnqea8yjeyR9k0VW0y8j1DTrW8hP7q4iWVfowBH86s18ZODhJxfQ9JO6uFFeIfFe38YTeLLqbRY9XXToYUCtau4Q/LliAp5OSR+FeYjxT4gHTXdV/8C5P8a+owXDEsZSVSFRa9Oxw1ccqcrOJ9e0V8hx+IPEVyxSPV9WlbGcLcyMcfnUTa5rUMh3apqMcg65uHB/nXX/qdO9nVVzP+0lvyn2DRXyzo3xI8UaVIpTVJbqMdY7v96G/E/N+RFe5fDvx7Z+L4HiKC11OFd0kBOQw/vKe4/l+teVmXDuKwMfaP3o90dFHGU6rtsztKKKK+fOsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDL1wfuoz7msButdHrQzag+jVhW1tJd3KQxDJY/l70HkYpWqMn0jT3v59oyIl+839K7W3hjt4ljiUKijAFR2FrHZ26wxDgdT6n1qyBxVpWOVsUUooFOFUIAKyPFfiXSfCejS6pr12lraR8Atyzt2VR1Zj6CsT4pePrH4feHzqN7bz3U0hKW8ESnDv8A7T4wo9zz6A18S+PvG2teOdZbUNduS+MiG3TiKBf7qL/Xqe5ppAdV8X/i9q3j+5e0g32Hh9G/d2it80uOjSkdT7dB7nmvL6KKsD2b9k7UPsfxYW3J4vbKaDHqRtk/9pmvtCR1jXc5wK/P/wCCupf2T8VfDN1nA+2LCT7SAx/+zV90TzPM2WPHYelZzdjow9B1X5D7q4advRR0FQUUVkexCCgrIKKKKCgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLvjZ4zk0SwTR9NlKX92haWRTzFF049C3I9gD7V6jXyP461Ztb8W6pfMxZHmZY89kX5V/QCvpuF8vji8VzzV1HU4cdWdOFluzGtbeW7uYre3QyTSuI0QdWYnAH519KeBvhrpGgWUUmoW0N9qZAMksq71Q+iA8AD16n9K8l+B2npfePreSRQy2kL3GD68KP1YH8K+l69bizM6lKawtJ2VtbHPl9CMl7SRUk06yli8uSztnjxja0Skfl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UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAqnDA+hrTQhgCDkGsunxyvH908elNOxy4nD+11W5pj2pwrPF2/otI11Ke4H0FVzI4lgqjNLpnJqGS7jTodx9qzmdn+8xP1ptJyOiGBS+JliW7kfgHaPaq9FFTc7IU4wVooKKKKCwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvmb4zeHn0XxhcXKIRZ6gTcRt23H74/M5+jCvpmsTxf4bsvFOjSWF+CMndFKo+aJ+zD+o7ivayLM/7OxKnL4XozmxVD20LLc+TLC7msL63u7V9k8EiyI3owORX1f4L8T2XinRYr2zdRKABPDn5on7g+3oe9fNvi/wZrHha5Zb+3Z7XOEuowTG47c9j7GsbS9TvtKuhc6bdTWs443xOVJHofUe1fe5pl1DO6KnSkrrZnk4etLCyaktD7Kryn49eJIbTQV0OCQG7vGVpVB5SJTnn6kD8Aa8yk+Jvi+SHyjrDhSMZWGMN+YXNcjdXE13cST3Usk08hy8kjFmY+pJrycr4Wlha6rYiSsjor49ThywW51PwntvtXxD0VCMhZWk/75Rm/pX1RXz18DNC1E+LYdTksp0sYoZP37oVUkjAAJ69e1dR8UPibfaHq95omlW0STRou66dtxG5Q3yr0BAI65+lc+e4eeZZjGlh2nZFYWao0XKfU8a8UsH8T6uynKm8mIP/AAM16z+zf/q/EHrm3/8AaleJsxZizElicknvXT+BPGV94OvLmWyiinjuFCyRyZwcZwQR0Iyfzr6bNMHLEZe8NTfvWX4HFQqKFbnex9XV4x+0ew+z6CmfmLzHHthK1tK+Jl3N4F1LxDeadATb3K28UMchUOTtzknPTdn8K8a8aeK7/wAW6mt3qHlosa7IoYwdqDr36k9zXyfD2T16WM9rPRQ39T0MZiYSp8q6mdoOP7c07dwv2mPP03CvsevioEgg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UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcT8THuvL09CMWWWII7yd8/hjH1NcHXuGs6Out+Gbi1AHnAl4Sezgcfn0/GvEWVkYq4IYHBBGCDX3GRV4zoezW6Pz7PaMoYlzezHwS+U+cZB6ip/tg/uH86p0V1YjK8NiZ+0qR1PKhXnBWTPRfhXcCS61X5SMW2evvTfhFcCXX7oBcf6Kf/AEJaqfCy6tbW+1EXlzDbLJAEVpXCgnPua6DwjpWleGbm6vItcttQlaEosUW0HqD2Y9wK+exeDw9CU4W2tb9T28NOU4wlfa9w8JPPbeB7u5HySCZJVHsChGfqB+tXdY0+PT4dd1aB1zqMKxwkcFd4+Yj/ANC/Cm2jxDwpqMHmIsjMNqEgE/d6D8KwbzVLi60y3spNvlQfdIHJ9M/QV50KEX8Ksi6laMUlLXTQt/EyyNxr8LiTbi2UYxn+Jq5I6WwBxKCfTbXa+OJ4bjV4nt5Y5UEIG5GDDO5vSuereFCDjqjzcXCMqrZzRyCQRgjrSGr2qw+XMJF+6/X60mk2v2u8VSMxr8zfT0rinDllY4FB81keueDb2S80C2+0HNxGoR/XH8J/LH45q3rH3Yvqa5nw/e/Y79dxxFJ8je3of8+9dNrH3YvqazmrI+5yqrzqKe6MyiiisT6AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKANfSv+PY/wC8a8t+JHh6a2103dlbySQXYLkRoTtcfe6euQfqT6V6lpP/AB7H/eNXa9HA4yWEnzxPn8xwscTeLPnT+zb7/nyuv+/Tf4Uf2bff8+V1/wB+m/wr6Kor2f8AWGf8h4/9hx/mPnX+zb7/AJ8rn/v03+FdX4a06S0szJLE6zSnJBUggdhXr9YmtW/lzCVR8r9frWNbNXi17NqwPK1QXMpXOT8tv7jflVC6gdJMhGw3PSupqG7i82EgfeHIrnhDlZhUpcyOW2P/AHW/KjY/91vyrUpa1scnszEu7Zp4GTa2eo471Z0S0NtaZcYkk+Zs9vQVomkrixNuYcaST5grp4Lz7ZpsBY5kjJRvfpg1zIGTgDJNdV9j+xafbRkfvDln+px/+quOpse5k6l7fTYiooornPrQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA19J/wCPY/7xq7VLSf8Aj2P+8au1tHY8qt8bCiiimZBUN5CLi3eM9SOD6GpqKadndClHmVmckQVJVhgjgikrop9OgmlaRtwZuuDTP7Kt/wDb/Ou5YmNtTzXhJ30ONvYvLmJA+VuRUFdrLotpKMP5nXP3qi/4R6x/6a/991X1qBzyy+o3ocbRXY/8I7Y+kv8A33S/8I7Y/wDTX/vuuOU+Z3F/Z9UxfDNl9pvvNcZjh+b6t2/x/Cuh1j7sX1NWLGzisofKgBC5ycnJJqvrH3Yvqaxm7o9rLqPsWk9zMooorE9wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKANfSf+PY/wC8au1zySyRjCOyj0Bp32mb/nq/51akkjjnhpSk3c36KwPtM3/PV/zo+0zf89X/ADp86I+qS7m/RWB9pm/56v8AnR9pm/56v+dHOg+qS7m/RWB9pm/56v8AnR9pm/56v+dHOg+qS7m/RWB9pm/56v8AnR9pm/56v+dHOg+qS7m/RWB9pm/56v8AnR9pm/56v+dHOg+qS7m/WdrH3Yvqao/aZv8Anq/50ySV5Mb3LY9TScro0p4dwkpMbRRRUHWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9k="}}},{"cell_type":"markdown","source":"<blockquote>📌 In CIFAR-10, there are 60000, 32x32 color images from these 10 classes, with 6000 images from each class. The training dataset contains 50,000 training images and the test dataset contains 10000 test images.\n<br><br>\nThe dataset images are of color images with a (32 x 32) resolution. All the images in the dataset are of shape (32,32,3) where 3 represents the number of channels i.e R-G-B (Red,Green & Blue).\n</blockquote>","metadata":{}},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>Importing Libraries & Packages 📚 </centre></strong></h3>","metadata":{}},{"cell_type":"markdown","source":"pip install visualkeras","metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T11:47:41.358710Z","iopub.execute_input":"2022-09-25T11:47:41.359577Z","iopub.status.idle":"2022-09-25T11:47:51.841361Z","shell.execute_reply.started":"2022-09-25T11:47:41.359450Z","shell.execute_reply":"2022-09-25T11:47:51.840207Z"}}},{"cell_type":"code","source":"# getting started with the model \n# importing required libraries/packages \n\nimport numpy as np\nimport matplotlib.pyplot as plt\n%matplotlib inline\nimport tensorflow as tf\nfrom tensorflow import keras\nfrom tensorflow.keras.models import Sequential\nfrom tensorflow.keras.layers import Input, Conv2D, Dense, Flatten, Dropout\nfrom tensorflow.keras.layers import GlobalMaxPooling2D, MaxPooling2D\nfrom tensorflow.keras.layers import BatchNormalization\nfrom tensorflow.keras.models import Model\nfrom tensorflow.keras import regularizers, optimizers\nfrom tensorflow.keras.utils import to_categorical\nfrom sklearn.metrics import accuracy_score\n\nimport visualkeras\nfrom PIL import ImageFont\n#font = ImageFont.truetype(\"arial.ttf\", 12)\n\nimport warnings \nwarnings.filterwarnings('ignore')\n\nprint(\"Tensorflow version:\",tf.__version__)\nprint(\"Keras version:\",keras.__version__)","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T11:48:09.286047Z","iopub.execute_input":"2022-09-25T11:48:09.286719Z","iopub.status.idle":"2022-09-25T11:48:16.779457Z","shell.execute_reply.started":"2022-09-25T11:48:09.286609Z","shell.execute_reply":"2022-09-25T11:48:16.778197Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>✏️ Importing & Reading the dataset 📝 </centre></strong></h3>","metadata":{}},{"cell_type":"markdown","source":"<blockquote>📌 The Keras dataset module already comes with the CIFAR-10 dataset. So,we can directly import it using the ‘keras.datasets’ command.</blockquote>","metadata":{}},{"cell_type":"code","source":"import ssl\nssl._create_default_https_context = ssl._create_unverified_context","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-09-25T11:48:16.780825Z","iopub.execute_input":"2022-09-25T11:48:16.781069Z","iopub.status.idle":"2022-09-25T11:48:16.787097Z","shell.execute_reply.started":"2022-09-25T11:48:16.781042Z","shell.execute_reply":"2022-09-25T11:48:16.785425Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Importing the CIFAR-10 dataset from Keras \nfrom tensorflow.keras.datasets import cifar10\n(X_train, Y_train), (X_test, Y_test) = cifar10.load_data()","metadata":{"execution":{"iopub.status.busy":"2022-09-25T11:48:16.789164Z","iopub.execute_input":"2022-09-25T11:48:16.789566Z","iopub.status.idle":"2022-09-25T11:48:20.891808Z","shell.execute_reply.started":"2022-09-25T11:48:16.789528Z","shell.execute_reply":"2022-09-25T11:48:20.890950Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print('X_train Shape: {}'.format(X_train.shape))\nprint('X_test Shape: {}'.format(X_test.shape))\nprint('Y_train Shape: {}'.format(Y_train.shape))\nprint('Y_test Shape: {}'.format(Y_test.shape))","metadata":{"execution":{"iopub.status.busy":"2022-09-25T11:48:20.893871Z","iopub.execute_input":"2022-09-25T11:48:20.894322Z","iopub.status.idle":"2022-09-25T11:48:20.900158Z","shell.execute_reply.started":"2022-09-25T11:48:20.894288Z","shell.execute_reply":"2022-09-25T11:48:20.899451Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure()\nplt.imshow(X_train[12])\nplt.colorbar()","metadata":{"execution":{"iopub.status.busy":"2022-09-25T11:48:20.901113Z","iopub.execute_input":"2022-09-25T11:48:20.901751Z","iopub.status.idle":"2022-09-25T11:48:21.265461Z","shell.execute_reply.started":"2022-09-25T11:48:20.901718Z","shell.execute_reply":"2022-09-25T11:48:21.264833Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>Normalizing and One-Hot Encoding 🗝</centre></strong></h3>","metadata":{}},{"cell_type":"markdown","source":"<blockquote>📌 We have to normalize the data in order to reduce the pixel values. Currently, all the image pixels are in a range from 0–255, and we want the values in the range of 0 and 1. So we can either divide all the pixel values by 255.0 or use the ‘normalize’ command from keras library. As CIFAR-10 has 10 classes, we are using the ‘to_categorical()’ method to one-hot encode the data.</blockquote>","metadata":{}},{"cell_type":"code","source":"# Normalizing\nX_train = X_train/255\nX_test = X_test/255\n\n# One-Hot-Encoding\nY_train_en = to_categorical(Y_train,10)\nY_test_en = to_categorical(Y_test,10)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T11:48:21.266429Z","iopub.execute_input":"2022-09-25T11:48:21.267317Z","iopub.status.idle":"2022-09-25T11:48:21.905261Z","shell.execute_reply.started":"2022-09-25T11:48:21.267279Z","shell.execute_reply":"2022-09-25T11:48:21.904404Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Visualizing the data \nfor i in range(1,31):\n  plt.subplot(2, 15, i)\n  plt.imshow(X_train[i])","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T11:48:21.906795Z","iopub.execute_input":"2022-09-25T11:48:21.907444Z","iopub.status.idle":"2022-09-25T11:48:24.761008Z","shell.execute_reply.started":"2022-09-25T11:48:21.907394Z","shell.execute_reply":"2022-09-25T11:48:24.760135Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>🔨 Building Base Model 🔧</centre></strong></h3>","metadata":{}},{"cell_type":"markdown","source":"<blockquote>📌 Now it’s time to build our model. We are going to use a Convolution Neural Network (CNN) to train our model.</blockquote>","metadata":{}},{"cell_type":"code","source":"# detect and init the TPU\ntpu = tf.distribute.cluster_resolver.TPUClusterResolver.connect()\n\n# instantiate a distribution strategy\ntpu_strategy = tf.distribute.experimental.TPUStrategy(tpu)","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T11:48:24.762570Z","iopub.execute_input":"2022-09-25T11:48:24.763047Z","iopub.status.idle":"2022-09-25T11:48:31.566036Z","shell.execute_reply.started":"2022-09-25T11:48:24.763004Z","shell.execute_reply":"2022-09-25T11:48:31.565025Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"with tpu_strategy.scope():\n    # Base Model\n    model = Sequential()\n    model.add(Conv2D(32,(4,4),input_shape = (32,32,3),activation='relu'))\n    model.add(MaxPooling2D(pool_size = (2,2)))\n    model.add(Conv2D(32,(4,4),input_shape = (32,32,3),activation='relu'))\n    model.add(MaxPooling2D(pool_size = (2,2)))\n    model.add(Flatten())\n    model.add(Dense(128, activation ='relu'))\n    model.add(Dense(10, activation ='softmax'))\n    model.compile(loss ='categorical_crossentropy', optimizer ='adam', metrics =['accuracy'])","metadata":{"execution":{"iopub.status.busy":"2022-09-25T11:48:31.567493Z","iopub.execute_input":"2022-09-25T11:48:31.567754Z","iopub.status.idle":"2022-09-25T11:48:31.958940Z","shell.execute_reply.started":"2022-09-25T11:48:31.567726Z","shell.execute_reply":"2022-09-25T11:48:31.957585Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.summary()\nhistory = model.fit(X_train, Y_train_en, epochs = 30, verbose=1,validation_data=(X_test,Y_test_en))","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T11:48:31.960501Z","iopub.execute_input":"2022-09-25T11:48:31.960845Z","iopub.status.idle":"2022-09-25T12:01:00.240519Z","shell.execute_reply.started":"2022-09-25T11:48:31.960803Z","shell.execute_reply":"2022-09-25T12:01:00.239339Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from tensorflow.keras.utils import plot_model\nplot_model(model, to_file='cnn_plot.png', show_shapes=True, show_layer_names=True)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:01:00.242527Z","iopub.execute_input":"2022-09-25T12:01:00.243257Z","iopub.status.idle":"2022-09-25T12:01:01.846570Z","shell.execute_reply.started":"2022-09-25T12:01:00.243190Z","shell.execute_reply":"2022-09-25T12:01:01.845710Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"visualkeras.layered_view(model, legend=True)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-09-25T12:01:01.848272Z","iopub.execute_input":"2022-09-25T12:01:01.849173Z","iopub.status.idle":"2022-09-25T12:01:01.881352Z","shell.execute_reply.started":"2022-09-25T12:01:01.849128Z","shell.execute_reply":"2022-09-25T12:01:01.880326Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"evaluation = model.evaluate(X_test, Y_test_en)\nprint('Test Accuracy of Base Model: {}'.format(evaluation[1]))","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:01:01.885695Z","iopub.execute_input":"2022-09-25T12:01:01.886017Z","iopub.status.idle":"2022-09-25T12:01:07.203244Z","shell.execute_reply.started":"2022-09-25T12:01:01.885984Z","shell.execute_reply":"2022-09-25T12:01:07.202187Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plotloss(history):\n    plt.plot(history.history['loss'])\n    plt.plot(history.history['val_loss'])\n    plt.plot(history.history['accuracy'])\n    plt.xlabel('Epochs')\n    plt.ylabel('Loss')\n    plt.legend(['Train', 'Validation', 'Accuracy'])\n    plt.show()    \nplotloss(history)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:01:07.204787Z","iopub.execute_input":"2022-09-25T12:01:07.205202Z","iopub.status.idle":"2022-09-25T12:01:07.466051Z","shell.execute_reply.started":"2022-09-25T12:01:07.205157Z","shell.execute_reply":"2022-09-25T12:01:07.465080Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<blockquote>📌 After running our base model with 30 Epochs, we are getting 95.92% training accuracy and 65.66% test accuracy which is good but as we can see the validation loss is continuously increasing from the first epoch till the last epoch i.e our base model is overfitting. \n<br><br>\nWe can achieve this by adding a few dropout layers in our model. Now we are building our model by dropping 25% of units.</blockquote>","metadata":{}},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>Model-1 with Dropouts 🛠</centre></strong></h3>","metadata":{}},{"cell_type":"code","source":"# Model_1 with Dropouts\nmodel_1 = Sequential()\nmodel_1.add(Conv2D(64,(4,4),input_shape=(32,32,3),activation='relu'))\nmodel_1.add(MaxPooling2D(pool_size=(2,2)))\nmodel_1.add(Dropout(0.5)) \nmodel_1.add(Conv2D(64,(4,4),input_shape=(32,32,3),activation='relu'))\nmodel_1.add(MaxPooling2D(pool_size=(2,2)))\nmodel_1.add(Dropout(0.25))\nmodel_1.add(Flatten())\nmodel_1.add(Dense(256,activation='relu'))\nmodel_1.add(Dense(10,activation='softmax'))\nmodel_1.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:01:07.467434Z","iopub.execute_input":"2022-09-25T12:01:07.467697Z","iopub.status.idle":"2022-09-25T12:01:07.568410Z","shell.execute_reply.started":"2022-09-25T12:01:07.467666Z","shell.execute_reply":"2022-09-25T12:01:07.567581Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model_1.summary()\nhistory_1 = model_1.fit(X_train, Y_train_en, epochs = 50, verbose=1, validation_data=(X_test,Y_test_en))","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T12:01:07.569884Z","iopub.execute_input":"2022-09-25T12:01:07.570368Z","iopub.status.idle":"2022-09-25T12:26:20.635522Z","shell.execute_reply.started":"2022-09-25T12:01:07.570335Z","shell.execute_reply":"2022-09-25T12:26:20.634664Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from tensorflow.keras.utils import plot_model\nplot_model(model_1, to_file='cnn_plot.png', show_shapes=True, show_layer_names=True)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:26:20.636900Z","iopub.execute_input":"2022-09-25T12:26:20.637996Z","iopub.status.idle":"2022-09-25T12:26:20.843423Z","shell.execute_reply.started":"2022-09-25T12:26:20.637936Z","shell.execute_reply":"2022-09-25T12:26:20.842445Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"visualkeras.layered_view(model_1, legend=True)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-09-25T12:26:20.845651Z","iopub.execute_input":"2022-09-25T12:26:20.845984Z","iopub.status.idle":"2022-09-25T12:26:20.873111Z","shell.execute_reply.started":"2022-09-25T12:26:20.845927Z","shell.execute_reply":"2022-09-25T12:26:20.871857Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"evaluation = model_1.evaluate(X_test, Y_test_en)\nprint('Test Accuracy of Model_1(with Dropouts): {}'.format(evaluation[1]))","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:26:20.874742Z","iopub.execute_input":"2022-09-25T12:26:20.875029Z","iopub.status.idle":"2022-09-25T12:26:24.860370Z","shell.execute_reply.started":"2022-09-25T12:26:20.874996Z","shell.execute_reply":"2022-09-25T12:26:24.859376Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plotloss(history_1):\n    plt.plot(history_1.history['loss'])\n    plt.plot(history_1.history['val_loss'])\n    plt.plot(history_1.history['accuracy'])\n    plt.xlabel('Epochs')\n    plt.ylabel('Loss')\n    plt.legend(['Train', 'Validation', 'Accuracy'])\n    plt.show()    \nplotloss(history_1)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:26:24.861932Z","iopub.execute_input":"2022-09-25T12:26:24.862321Z","iopub.status.idle":"2022-09-25T12:26:25.123357Z","shell.execute_reply.started":"2022-09-25T12:26:24.862285Z","shell.execute_reply":"2022-09-25T12:26:25.122580Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<blockquote>📌 After running our model_1 with 50 Epochs, we can see that the validation accuracy has improved from 65.66% to 71.27% due to reduction in our model’s validation loss from 2.5051 to 1.0879. \n<br><br>    \nWe will continue to train our model by increasing the number of epochs and by adding more filters.</blockquote>","metadata":{}},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>Model-2 with more filters 🛠</centre></strong></h3>","metadata":{}},{"cell_type":"code","source":"# Model_2 with more filters\nmodel_2 = Sequential()\nmodel_2.add(Conv2D(64,(4,4),input_shape=(32,32,3),activation='relu'))\nmodel_2.add(Conv2D(64,(4,4),input_shape=(32,32,3),activation='relu'))\nmodel_2.add(MaxPooling2D(pool_size=(2,2)))\nmodel_2.add(Dropout(0.4)) \nmodel_2.add(Conv2D(128,(4,4),input_shape=(32,32,3),activation='relu'))\nmodel_2.add(Conv2D(128,(4,4),input_shape=(32,32,3),activation='relu'))\nmodel_2.add(MaxPooling2D(pool_size=(2,2)))\nmodel_2.add(Dropout(0.4))\nmodel_2.add(Flatten())\nmodel_2.add(Dense(1024,activation='relu'))\nmodel_2.add(Dense(1024,activation='relu'))\nmodel_2.add(Dense(units =10  , activation = 'softmax'))\nmodel_2.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])","metadata":{"execution":{"iopub.status.busy":"2022-09-25T12:26:25.124575Z","iopub.execute_input":"2022-09-25T12:26:25.125446Z","iopub.status.idle":"2022-09-25T12:26:25.268552Z","shell.execute_reply.started":"2022-09-25T12:26:25.125384Z","shell.execute_reply":"2022-09-25T12:26:25.267442Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model_2.summary()\nhistory_2 = model_2.fit(X_train, Y_train_en, epochs = 100, verbose=1, validation_data=(X_test,Y_test_en))","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T12:26:25.269967Z","iopub.execute_input":"2022-09-25T12:26:25.270219Z","iopub.status.idle":"2022-09-25T14:09:44.531703Z","shell.execute_reply.started":"2022-09-25T12:26:25.270192Z","shell.execute_reply":"2022-09-25T14:09:44.530373Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from tensorflow.keras.utils import plot_model\nplot_model(model_2, to_file='cnn_plot.png', show_shapes=True, show_layer_names=True)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T14:09:44.536474Z","iopub.execute_input":"2022-09-25T14:09:44.536789Z","iopub.status.idle":"2022-09-25T14:09:44.756680Z","shell.execute_reply.started":"2022-09-25T14:09:44.536754Z","shell.execute_reply":"2022-09-25T14:09:44.755629Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"visualkeras.layered_view(model_2, legend=True)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-09-25T14:09:44.758747Z","iopub.execute_input":"2022-09-25T14:09:44.758997Z","iopub.status.idle":"2022-09-25T14:09:44.789736Z","shell.execute_reply.started":"2022-09-25T14:09:44.758967Z","shell.execute_reply":"2022-09-25T14:09:44.788761Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"evaluation = model_2.evaluate(X_test, Y_test_en)\nprint('Test Accuracy of Model_2(with more  filters): {}'.format(evaluation[1]))","metadata":{"execution":{"iopub.status.busy":"2022-09-25T14:09:44.791411Z","iopub.execute_input":"2022-09-25T14:09:44.791669Z","iopub.status.idle":"2022-09-25T14:09:49.839855Z","shell.execute_reply.started":"2022-09-25T14:09:44.791643Z","shell.execute_reply":"2022-09-25T14:09:49.838701Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plotloss(history_2):\n    plt.plot(history_2.history['loss'])\n    plt.plot(history_2.history['val_loss'])\n    plt.plot(history_2.history['accuracy'])\n    plt.xlabel('Epochs')\n    plt.ylabel('Loss')\n    plt.legend(['Train', 'Validation', 'Accuracy'])\n    plt.show()    \nplotloss(history_2)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T14:09:49.841248Z","iopub.execute_input":"2022-09-25T14:09:49.841528Z","iopub.status.idle":"2022-09-25T14:09:50.118157Z","shell.execute_reply.started":"2022-09-25T14:09:49.841497Z","shell.execute_reply":"2022-09-25T14:09:50.117264Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<blockquote>📌 After running our model_2 with 100 Epochs, we can see that the validation accuracy has further improved from 71.27% to 74.76%\n<br><br>\nWe will continue to train our model by adding Batch Normalization.\n</blockquote>","metadata":{}},{"cell_type":"markdown","source":"### <h3 style=\"background-color:#f78e77;color:white;text-align: center;padding-top: 5px;padding-bottom: 5px;border-radius: 15px 50px;\"><strong><centre>Model-3 with Batch Normalization 🛠</centre></strong></h3>","metadata":{}},{"cell_type":"code","source":"# Model_3 with Batch Normalization\nmodel_3 = Sequential()\nmodel_3.add(Conv2D(64,(4,4),input_shape=(32,32,3),activation='relu',padding='same'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(Conv2D(64,(4,4),input_shape=(32,32,3),activation='relu',padding='same'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(MaxPooling2D(pool_size=(2,2)))\nmodel_3.add(Dropout(0.2))\nmodel_3.add(Conv2D(128,(4,4),input_shape=(32,32,3),activation='relu',padding='same'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(Conv2D(128,(4,4),input_shape=(32,32,3),activation='relu',padding='same'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(MaxPooling2D(pool_size=(2,2)))\nmodel_3.add(Dropout(0.25))\nmodel_3.add(Conv2D(128,(4,4),input_shape=(32,32,3),activation='relu',padding='same'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(Conv2D(128,(4,4),input_shape=(32,32,3),activation='relu',padding='same'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(MaxPooling2D(pool_size=(2,2)))\nmodel_3.add(Dropout(0.35))\nmodel_3.add(Flatten())\nmodel_3.add(Dense(256, activation='relu'))\nmodel_3.add(BatchNormalization())\nmodel_3.add(Dropout(0.5))\nmodel_3.add(Dense(10, activation='softmax'))\nmodel_3.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])","metadata":{"execution":{"iopub.status.busy":"2022-09-25T14:09:50.119460Z","iopub.execute_input":"2022-09-25T14:09:50.119709Z","iopub.status.idle":"2022-09-25T14:09:50.439625Z","shell.execute_reply.started":"2022-09-25T14:09:50.119671Z","shell.execute_reply":"2022-09-25T14:09:50.438609Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model_3.summary()\nhistory_3 = model_3.fit(X_train, Y_train_en, epochs = 100, verbose = 1, validation_data = (X_test, Y_test_en))","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-09-25T14:09:50.442056Z","iopub.execute_input":"2022-09-25T14:09:50.442419Z","iopub.status.idle":"2022-09-25T17:39:05.695058Z","shell.execute_reply.started":"2022-09-25T14:09:50.442377Z","shell.execute_reply":"2022-09-25T17:39:05.693783Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from tensorflow.keras.utils import plot_model\nplot_model(model_3, to_file='cnn_plot.png', show_shapes=True, show_layer_names=True)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T17:39:05.698217Z","iopub.execute_input":"2022-09-25T17:39:05.698519Z","iopub.status.idle":"2022-09-25T17:39:06.108680Z","shell.execute_reply.started":"2022-09-25T17:39:05.698488Z","shell.execute_reply":"2022-09-25T17:39:06.107599Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"visualkeras.layered_view(model_3, legend=True)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-09-25T17:39:06.110888Z","iopub.execute_input":"2022-09-25T17:39:06.111208Z","iopub.status.idle":"2022-09-25T17:39:06.152249Z","shell.execute_reply.started":"2022-09-25T17:39:06.111166Z","shell.execute_reply":"2022-09-25T17:39:06.151212Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"evaluation = model_3.evaluate(X_test, Y_test_en)\nprint('Test Accuracy of Model_3 (with Batch Normalization): {}'.format(evaluation[1]))","metadata":{"execution":{"iopub.status.busy":"2022-09-25T17:39:06.153789Z","iopub.execute_input":"2022-09-25T17:39:06.154014Z","iopub.status.idle":"2022-09-25T17:39:14.378633Z","shell.execute_reply.started":"2022-09-25T17:39:06.153989Z","shell.execute_reply":"2022-09-25T17:39:14.377352Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plotloss(history_3):\n    plt.plot(history_3.history['loss'])\n    plt.plot(history_3.history['val_loss'])\n    plt.plot(history_3.history['accuracy'])\n    plt.xlabel('Epochs')\n    plt.ylabel('Loss')\n    plt.legend(['Train', 'Validation', 'Accuracy'])\n    plt.show()    \nplotloss(history_3)","metadata":{"execution":{"iopub.status.busy":"2022-09-25T17:39:14.380200Z","iopub.execute_input":"2022-09-25T17:39:14.380505Z","iopub.status.idle":"2022-09-25T17:39:14.659726Z","shell.execute_reply.started":"2022-09-25T17:39:14.380473Z","shell.execute_reply":"2022-09-25T17:39:14.658718Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<blockquote>📌 After running our model_3 with Batch Normalization, we can see that the validation accuracy has further improved from 74.76% to 87.90%\n</blockquote>","metadata":{}},{"cell_type":"markdown","source":"📌 Details of the model setup and the results are discussed in my article https://devashree-madhugiri.medium.com/using-cnn-for-image-classification-on-cifar-10-dataset-7803d9f3b983 published on Medium.","metadata":{}}]}