summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.googlecb0897d479c87d97 2.html.icloudbin178 -> 0 bytes
-rw-r--r--.googlecb0897d479c87d97 3.html.icloudbin178 -> 0 bytes
-rw-r--r--.googlecb0897d479c87d97 4.html.icloudbin178 -> 0 bytes
-rw-r--r--.googlecb0897d479c87d97 5.html.icloudbin178 -> 0 bytes
-rw-r--r--.googlecb0897d479c87d97 6.html.icloudbin178 -> 0 bytes
-rw-r--r--.styles 3.css.icloudbin160 -> 0 bytes
-rw-r--r--Themes/styles.css401
-rw-r--r--about/index.html1
-rw-r--r--assets/disqus.js5
-rw-r--r--assets/gciTales/01-teachableMachines/01-collect.pngbin3148125 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/02-train.pngbin1673773 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/03-label.pngbin134577 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/04-alert.pngbin45710 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/05-html.pngbin15084 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/06-js.pngbin117349 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/07-eg.pngbin787109 -> 0 bytes
-rw-r--r--assets/gciTales/01-teachableMachines/08-eg.pngbin832865 -> 0 bytes
-rw-r--r--assets/gciTales/03-regression/1.pngbin39478 -> 0 bytes
-rw-r--r--assets/gciTales/03-regression/2.pngbin67134 -> 0 bytes
-rw-r--r--assets/gciTales/03-regression/3.pngbin59514 -> 0 bytes
-rw-r--r--assets/gciTales/03-regression/4.pngbin58153 -> 0 bytes
-rw-r--r--assets/gciTales/03-regression/5.pngbin58824 -> 0 bytes
-rw-r--r--assets/gciTales/03-regression/6.pngbin59554 -> 0 bytes
-rw-r--r--assets/manup.min.js1
-rw-r--r--assets/posts/arjs/01-ngrok.pngbin950543 -> 0 bytes
-rw-r--r--assets/posts/arjs/02-box-demo.gifbin1689985 -> 0 bytes
-rw-r--r--assets/posts/arjs/03-knot.pngbin4690368 -> 0 bytes
-rw-r--r--assets/posts/arjs/04-nyan.gifbin702741 -> 0 bytes
-rw-r--r--assets/posts/arjs/05-GitHub.jpgbin615523 -> 0 bytes
-rw-r--r--assets/posts/autodock-vina/s1.pngbin914699 -> 0 bytes
-rw-r--r--assets/posts/kaggle-colab/ss1.pngbin151575 -> 0 bytes
-rw-r--r--assets/posts/kaggle-colab/ss2.pngbin43899 -> 0 bytes
-rw-r--r--assets/posts/kaggle-colab/ss3.pngbin54283 -> 0 bytes
-rw-r--r--assets/posts/kaggle-colab/ss4.pngbin14510 -> 0 bytes
-rw-r--r--assets/posts/open-babel/s1.pngbin604137 -> 0 bytes
-rw-r--r--assets/posts/open-babel/s2.jpgbin132781 -> 0 bytes
-rw-r--r--assets/posts/open-babel/s3.jpgbin314900 -> 0 bytes
-rw-r--r--assets/posts/open-peeps/ex-1.svg1
-rw-r--r--assets/résumé.pdfbin84216 -> 0 bytes
-rw-r--r--feed.rss1228
-rw-r--r--googlecb0897d479c87d97.html1
-rw-r--r--images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.pngbin1711 -> 0 bytes
-rw-r--r--images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.pngbin748 -> 0 bytes
-rw-r--r--images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.pngbin471 -> 0 bytes
-rw-r--r--images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.pngbin600 -> 0 bytes
-rw-r--r--images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.pngbin3127 -> 0 bytes
-rw-r--r--images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.pngbin1674 -> 0 bytes
-rw-r--r--images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.pngbin1061 -> 0 bytes
-rw-r--r--images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.pngbin879 -> 0 bytes
-rw-r--r--images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.pngbin789 -> 0 bytes
-rw-r--r--images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.pngbin577 -> 0 bytes
-rw-r--r--images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.pngbin1033 -> 0 bytes
-rw-r--r--images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.pngbin984 -> 0 bytes
-rw-r--r--images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.pngbin11426 -> 0 bytes
-rw-r--r--images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.pngbin1517 -> 0 bytes
-rw-r--r--images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.pngbin24811 -> 0 bytes
-rw-r--r--images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.pngbin1293 -> 0 bytes
-rw-r--r--images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.pngbin814 -> 0 bytes
-rw-r--r--images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.pngbin3966 -> 0 bytes
-rw-r--r--images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.pngbin1363 -> 0 bytes
-rw-r--r--images/favicon.pngbin411 -> 0 bytes
-rw-r--r--images/logo.pngbin498 -> 0 bytes
-rw-r--r--images/me.jpegbin105079 -> 0 bytes
-rw-r--r--index.html1
-rw-r--r--manifest.json119
-rw-r--r--posts/2010-01-24-experiments/index.html1
-rw-r--r--posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html117
-rw-r--r--posts/2019-12-04-Google-Teachable-Machines/index.html1
-rw-r--r--posts/2019-12-08-Image-Classifier-Tensorflow/index.html101
-rw-r--r--posts/2019-12-08-Splitting-Zips/index.html4
-rw-r--r--posts/2019-12-10-TensorFlow-Model-Prediction/index.html9
-rw-r--r--posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html307
-rw-r--r--posts/2019-12-22-Fake-News-Detector/index.html141
-rw-r--r--posts/2020-01-14-Converting-between-PIL-NumPy/index.html15
-rw-r--r--posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html5
-rw-r--r--posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html189
-rw-r--r--posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html1
-rw-r--r--posts/2020-03-03-Playing-With-Android-TV/index.html1
-rw-r--r--posts/2020-03-08-Making-Vaporwave-Track/index.html1
-rw-r--r--posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html16
-rw-r--r--posts/2020-05-31-compiling-open-babel-on-ios/index.html44
-rw-r--r--posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html8
-rw-r--r--posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html29
-rw-r--r--posts/2020-07-01-Install-rdkit-colab/index.html87
-rw-r--r--posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html156
-rw-r--r--posts/hello-world/index.html1
-rw-r--r--posts/index.html1
-rw-r--r--publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index.html3
-rw-r--r--publications/2020-03-14-generating-vaporwave/index.html13
-rw-r--r--publications/2020-03-17-Possible-Drug-Candidates-COVID-19/index.html1
-rw-r--r--publications/index.html1
-rw-r--r--pwabuilder-sw-register.js19
-rw-r--r--pwabuilder-sw.js83
-rw-r--r--sitemap.xml1
-rw-r--r--styles.css401
-rw-r--r--tags/android/index.html1
-rw-r--r--tags/androidtv/index.html1
-rw-r--r--tags/anemone/index.html1
-rw-r--r--tags/arjs/index.html1
-rw-r--r--tags/augmentedreality/index.html1
-rw-r--r--tags/autodock-vina/index.html1
-rw-r--r--tags/cheminformatics/index.html1
-rw-r--r--tags/codesnippet/index.html1
-rw-r--r--tags/colab/index.html1
-rw-r--r--tags/designing/index.html1
-rw-r--r--tags/experiment/index.html1
-rw-r--r--tags/helloworld/index.html1
-rw-r--r--tags/index.html1
-rw-r--r--tags/ios/index.html1
-rw-r--r--tags/jailbreak/index.html1
-rw-r--r--tags/javascript/index.html1
-rw-r--r--tags/kaggle/index.html1
-rw-r--r--tags/linux/index.html1
-rw-r--r--tags/macos/index.html1
-rw-r--r--tags/moleculardocking/index.html1
-rw-r--r--tags/moleculardynamics/index.html1
-rw-r--r--tags/music/index.html1
-rw-r--r--tags/openbabel/index.html1
-rw-r--r--tags/preprint/index.html1
-rw-r--r--tags/publication/index.html1
-rw-r--r--tags/raspberrypi/index.html1
-rw-r--r--tags/snowboard/index.html1
-rw-r--r--tags/swiftui/index.html1
-rw-r--r--tags/tensorflow/index.html1
-rw-r--r--tags/turicreate/index.html1
-rw-r--r--tags/tutorial/index.html1
-rw-r--r--tags/vaporwave/index.html1
127 files changed, 0 insertions, 3547 deletions
diff --git a/.googlecb0897d479c87d97 2.html.icloud b/.googlecb0897d479c87d97 2.html.icloud
deleted file mode 100644
index facc468..0000000
--- a/.googlecb0897d479c87d97 2.html.icloud
+++ /dev/null
Binary files differ
diff --git a/.googlecb0897d479c87d97 3.html.icloud b/.googlecb0897d479c87d97 3.html.icloud
deleted file mode 100644
index 5d4a523..0000000
--- a/.googlecb0897d479c87d97 3.html.icloud
+++ /dev/null
Binary files differ
diff --git a/.googlecb0897d479c87d97 4.html.icloud b/.googlecb0897d479c87d97 4.html.icloud
deleted file mode 100644
index 1253f9c..0000000
--- a/.googlecb0897d479c87d97 4.html.icloud
+++ /dev/null
Binary files differ
diff --git a/.googlecb0897d479c87d97 5.html.icloud b/.googlecb0897d479c87d97 5.html.icloud
deleted file mode 100644
index 20e97ce..0000000
--- a/.googlecb0897d479c87d97 5.html.icloud
+++ /dev/null
Binary files differ
diff --git a/.googlecb0897d479c87d97 6.html.icloud b/.googlecb0897d479c87d97 6.html.icloud
deleted file mode 100644
index e65e0cd..0000000
--- a/.googlecb0897d479c87d97 6.html.icloud
+++ /dev/null
Binary files differ
diff --git a/.styles 3.css.icloud b/.styles 3.css.icloud
deleted file mode 100644
index 625f925..0000000
--- a/.styles 3.css.icloud
+++ /dev/null
Binary files differ
diff --git a/Themes/styles.css b/Themes/styles.css
deleted file mode 100644
index 4e658d7..0000000
--- a/Themes/styles.css
+++ /dev/null
@@ -1,401 +0,0 @@
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- font-size: 16px;
- -webkit-text-size-adjust: 100%;
-}
-
-body {
- background: #eee;
- color: #000;
- font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial;
- text-align: center;
-}
-
-.wrapper {
- max-width: 900px;
- margin-left: auto;
- margin-right: auto;
- padding: 40px;
- text-align: left;
-}
-
-header {
-
- background: #fff;
- position: relative;
- color: #ededed;
- line-height: 1.5em;
- padding: 0 20px;
-}
-
-/*
-
-header {
- background: #ededed;
- margin-bottom: 0em;
- padding-bottom: 2em;
- left: 0px;
- top: 0px;
- height: 8em;
- width: 100%;
-}
-.header-background {
- background-image: url(images/logo.png);
- background-size: 100% 100%;
- background-repeat: no-repeat;
- background-size: cover;
- background-position: center;
- height: 200px;
-}
-*/
-
-header .wrapper {
- padding-top: 20px;
- padding-bottom: 20px;
- text-align: left;
-}
-
-header a {
- text-decoration: none;
-}
-
-header .site-name {
- color: #000;
- margin: 0;
- cursor: pointer;
- font-weight: 50;
- font-size: 3.5em; /*#2.3em;*/
- line-height: 1em;
- letter-spacing: 1px;
-}
-
-nav {
- /*margin-top: 0.5em;*/
- text-align: left; /* right */
-}
-
-nav li {
- margin-top: 0.5em;
- display: inline-block;
- background-color: #000;
- color: #ddd;
- padding: 4px 6px;
- border-radius: 5px;
- margin-right: 5px;
-
-}
-
-nav li:hover {
- color: #000;
- background-color: #ddd;
-}
-h1 {
- margin-bottom: 20px;
- font-size: 2em;
-}
-
-h2 {
- margin: 20px 0;
- font-size: 1.5em;
-}
-
-p {
- margin-bottom: 10px;
- margin-top: 5px;
-}
-
-a {
- color: inherit;
-
-}
-
-.description {
- margin-bottom: 20px;
-}
-
-.item-list > li {
- display: block;
- padding: 20px;
- border-radius: 20px;
- background-color: #d3d3d3;
- margin-bottom: 20px
-}
-
-.item-list > li:last-child {
- margin-bottom: 0;
-}
-
-.item-list h1 {
- margin-bottom: 0px; /*15px*/
- font-size: 1.3em;
-}
-.item-list a {
- text-decoration: none;
-}
-
-.item-list p {
- margin-bottom: 0;
-}
-
-.reading-time {
- display: inline-block;
- border-radius: 5px;
- background-color: #ddd;
- color: #000;
- padding: 4px 4px;
- margin-bottom: 5px;
- margin-right: 5px;
-
-}
-
-.tag-list {
- margin-bottom: 5px; /* 15px */
-}
-
-.tag-list li,
-.tag {
- display: inline-block;
- background-color: #000;
- color: #ddd;
- padding: 4px 6px;
- border-radius: 5px;
- margin-right: 5px;
- margin-top: 0.5em;
-}
-
-.tag-list a,
-.tag a {
- text-decoration: none;
-}
-
-.item-page .tag-list {
- display: inline-block;
-}
-
-.content {
- margin-bottom: 40px;
-}
-
-.browse-all {
- display: block;
- margin-bottom: 30px;
-}
-
-.all-tags li {
- font-size: 1.4em;
- margin-right: 10px;
- padding: 6px 10px;
- margin-top: 1em;
-}
-
-img {
- max-width: 100%;
- margin-bottom: 1em;
- margin-top: 1em;
- width: auto\9;
- height: auto;
- vertical-align: middle;
- border: 0;
- -ms-interpolation-mode: bicubic;
-}
-
-footer {
- color: #000;
-}
-
-
-
-pre {
- overflow-x: auto;
- font-family: Monaco,Consolas,"Lucida Console",monospace;
- display: block;
- background-color: #fdf6e3;
- color: #586e75;
- margin-bottom: 1em;
- margin-top: 1em;
- border-radius: 4px;
-}
-
-.highlight { background-color: #fdf6e3; color: #586e75; }
-.highlight .c { color: #627272; }
-.highlight .err { color: #586e75; }
-.highlight .g { color: #586e75; }
-.highlight .k { color: #677600; }
-.highlight .l { color: #586e75; }
-.highlight .n { color: #586e75; }
-.highlight .o { color: #677600; }
-.highlight .x { color: #c14715; }
-.highlight .p { color: #586e75; }
-.highlight .cm { color: #627272; }
-.highlight .cp { color: #677600; }
-.highlight .c1 { color: #627272; }
-.highlight .cs { color: #677600; }
-.highlight .gd { color: #217d74; }
-.highlight .ge { color: #586e75; font-style: italic; }
-.highlight .gr { color: #d72825; }
-.highlight .gh { color: #c14715; }
-.highlight .gi { color: #677600; }
-.highlight .go { color: #586e75; }
-.highlight .gp { color: #586e75; }
-.highlight .gs { color: #586e75; font-weight: bold; }
-.highlight .gu { color: #c14715; }
-.highlight .gt { color: #586e75; }
-.highlight .kc { color: #c14715; }
-.highlight .kd { color: #1f76b6; }
-.highlight .kn { color: #677600; }
-.highlight .kp { color: #677600; }
-.highlight .kr { color: #1f76b6; }
-.highlight .kt { color: #d72825; }
-.highlight .ld { color: #586e75; }
-.highlight .m { color: #217d74; }
-.highlight .s { color: #217d74; }
-.highlight .na { color: #586e75; }
-.highlight .nb { color: #8d6900; }
-.highlight .nc { color: #1f76b6; }
-.highlight .no { color: #c14715; }
-.highlight .nd { color: #1f76b6; }
-.highlight .ni { color: #c14715; }
-.highlight .ne { color: #c14715; }
-.highlight .nf { color: #1f76b6; }
-.highlight .nl { color: #586e75; }
-.highlight .nn { color: #586e75; }
-.highlight .nx { color: #586e75; }
-.highlight .py { color: #586e75; }
-.highlight .nt { color: #1f76b6; }
-.highlight .nv { color: #1f76b6; }
-.highlight .ow { color: #677600; }
-.highlight .w { color: #586e75; }
-.highlight .mf { color: #217d74; }
-.highlight .mh { color: #217d74; }
-.highlight .mi { color: #217d74; }
-.highlight .mo { color: #217d74; }
-.highlight .sb { color: #627272; }
-.highlight .sc { color: #217d74; }
-.highlight .sd { color: #586e75; }
-.highlight .s2 { color: #217d74; }
-.highlight .se { color: #c14715; }
-.highlight .sh { color: #586e75; }
-.highlight .si { color: #217d74; }
-.highlight .sx { color: #217d74; }
-.highlight .sr { color: #d72825; }
-.highlight .s1 { color: #217d74; }
-.highlight .ss { color: #217d74; }
-.highlight .bp { color: #1f76b6; }
-.highlight .vc { color: #1f76b6; }
-.highlight .vg { color: #1f76b6; }
-.highlight .vi { color: #1f76b6; }
-.highlight .il { color: #217d74; }
-
-
-@media (prefers-color-scheme: dark) {
- .reading-time {
- background-color: #000;
- color: #ddd;
- }
- body {
- background-color: #222;
- }
-
- body,
- header .site-name {
- color: #ddd;
- }
- nav li {
- background-color: #ddd;
- color: #000;
-
- }
- nav li:hover {
- color: #ddd;
- background-color: #000;
- }
-
- .item-list > li {
- background-color: #333;
- }
-
- header {
- background-color: #000;
- }
- footer {
- color: #ddd;
- }
-
- pre {
- background-color: #002b36;
- color: #93a1a1;
- }
-
- .highlight { background-color: #002b36; color: #93a1a1; }
- .highlight .c { color: #759299; }
- .highlight .err { color: #93a1a1; }
- .highlight .g { color: #93a1a1; }
- .highlight .k { color: #859900; }
- .highlight .l { color: #93a1a1; }
- .highlight .n { color: #93a1a1; }
- .highlight .o { color: #859900; }
- .highlight .x { color: #e9662f; }
- .highlight .p { color: #93a1a1; }
- .highlight .cm { color: #759299; }
- .highlight .cp { color: #859900; }
- .highlight .c1 { color: #759299; }
- .highlight .cs { color: #859900; }
- .highlight .gd { color: #2aa198; }
- .highlight .ge { color: #93a1a1; font-style: italic; }
- .highlight .gr { color: #e8625f; }
- .highlight .gh { color: #e9662f; }
- .highlight .gi { color: #859900; }
- .highlight .go { color: #93a1a1; }
- .highlight .gp { color: #93a1a1; }
- .highlight .gs { color: #93a1a1; font-weight: bold; }
- .highlight .gu { color: #e9662f; }
- .highlight .gt { color: #93a1a1; }
- .highlight .kc { color: #e9662f; }
- .highlight .kd { color: #3294da; }
- .highlight .kn { color: #859900; }
- .highlight .kp { color: #859900; }
- .highlight .kr { color: #3294da; }
- .highlight .kt { color: #e8625f; }
- .highlight .ld { color: #93a1a1; }
- .highlight .m { color: #2aa198; }
- .highlight .s { color: #2aa198; }
- .highlight .na { color: #93a1a1; }
- .highlight .nb { color: #B58900; }
- .highlight .nc { color: #3294da; }
- .highlight .no { color: #e9662f; }
- .highlight .nd { color: #3294da; }
- .highlight .ni { color: #e9662f; }
- .highlight .ne { color: #e9662f; }
- .highlight .nf { color: #3294da; }
- .highlight .nl { color: #93a1a1; }
- .highlight .nn { color: #93a1a1; }
- .highlight .nx { color: #93a1a1; }
- .highlight .py { color: #93a1a1; }
- .highlight .nt { color: #3294da; }
- .highlight .nv { color: #3294da; }
- .highlight .ow { color: #859900; }
- .highlight .w { color: #93a1a1; }
- .highlight .mf { color: #2aa198; }
- .highlight .mh { color: #2aa198; }
- .highlight .mi { color: #2aa198; }
- .highlight .mo { color: #2aa198; }
- .highlight .sb { color: #759299; }
- .highlight .sc { color: #2aa198; }
- .highlight .sd { color: #93a1a1; }
- .highlight .s2 { color: #2aa198; }
- .highlight .se { color: #e9662f; }
- .highlight .sh { color: #93a1a1; }
- .highlight .si { color: #2aa198; }
- .highlight .sx { color: #2aa198; }
- .highlight .sr { color: #e8625f; }
- .highlight .s1 { color: #2aa198; }
- .highlight .ss { color: #2aa198; }
- .highlight .bp { color: #3294da; }
- .highlight .vc { color: #3294da; }
- .highlight .vg { color: #3294da; }
- .highlight .vi { color: #3294da; }
- .highlight .il { color: #2aa198; }
-}
-
diff --git a/about/index.html b/about/index.html
deleted file mode 100644
index 7a595e0..0000000
--- a/about/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/about"/><meta name="twitter:url" content="https://navanchauhan.github.io/about"/><meta name="og:url" content="https://navanchauhan.github.io/about"/><title>About Me | Navan Chauhan</title><meta name="twitter:title" content="About Me | Navan Chauhan"/><meta name="og:title" content="About Me | Navan Chauhan"/><meta name="description" content="About Me!"/><meta name="twitter:description" content="About Me!"/><meta name="og:description" content="About Me!"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a class="selected" href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>About Me</h1><p>Hi! My name is Navan Chauhan.</p><img src="/images/me.jpeg"/><h3>What do I like?</h3><ul><li>In my free time I like restoring and colourising photographs. <a href="https://www.behance.net/gallery/73508827/Restorations-and-Colourisation">My Behance Profile</a></li></ul><ul><li>I also like automating the mundane stuff using Python, and I have started dabbling in Swift.</li></ul><ul><li>I love creating weird machine learning models using Tensorflow ( I personally preffer Turicreate )</li></ul><ul><li>I have also recently picked up a few tricks related to in-silo drug screening.</li></ul><ul class="item-list"></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/assets/disqus.js b/assets/disqus.js
deleted file mode 100644
index 0c52381..0000000
--- a/assets/disqus.js
+++ /dev/null
@@ -1,5 +0,0 @@
-(function() {
- var t = document,
- e = t.createElement("script");
- e.src = "https://navan-chauhan.disqus.com/embed.js", e.setAttribute("data-timestamp", +new Date), (t.head || t.body).appendChild(e)
-})();
diff --git a/assets/gciTales/01-teachableMachines/01-collect.png b/assets/gciTales/01-teachableMachines/01-collect.png
deleted file mode 100644
index 58e0b54..0000000
--- a/assets/gciTales/01-teachableMachines/01-collect.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/02-train.png b/assets/gciTales/01-teachableMachines/02-train.png
deleted file mode 100644
index a69fd63..0000000
--- a/assets/gciTales/01-teachableMachines/02-train.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/03-label.png b/assets/gciTales/01-teachableMachines/03-label.png
deleted file mode 100644
index efe450d..0000000
--- a/assets/gciTales/01-teachableMachines/03-label.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/04-alert.png b/assets/gciTales/01-teachableMachines/04-alert.png
deleted file mode 100644
index f648bad..0000000
--- a/assets/gciTales/01-teachableMachines/04-alert.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/05-html.png b/assets/gciTales/01-teachableMachines/05-html.png
deleted file mode 100644
index f917c07..0000000
--- a/assets/gciTales/01-teachableMachines/05-html.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/06-js.png b/assets/gciTales/01-teachableMachines/06-js.png
deleted file mode 100644
index 173a8aa..0000000
--- a/assets/gciTales/01-teachableMachines/06-js.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/07-eg.png b/assets/gciTales/01-teachableMachines/07-eg.png
deleted file mode 100644
index cc8198e..0000000
--- a/assets/gciTales/01-teachableMachines/07-eg.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/01-teachableMachines/08-eg.png b/assets/gciTales/01-teachableMachines/08-eg.png
deleted file mode 100644
index b1261fa..0000000
--- a/assets/gciTales/01-teachableMachines/08-eg.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/03-regression/1.png b/assets/gciTales/03-regression/1.png
deleted file mode 100644
index b07d172..0000000
--- a/assets/gciTales/03-regression/1.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/03-regression/2.png b/assets/gciTales/03-regression/2.png
deleted file mode 100644
index 53531ad..0000000
--- a/assets/gciTales/03-regression/2.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/03-regression/3.png b/assets/gciTales/03-regression/3.png
deleted file mode 100644
index 542d76e..0000000
--- a/assets/gciTales/03-regression/3.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/03-regression/4.png b/assets/gciTales/03-regression/4.png
deleted file mode 100644
index 16101cd..0000000
--- a/assets/gciTales/03-regression/4.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/03-regression/5.png b/assets/gciTales/03-regression/5.png
deleted file mode 100644
index 36b9c26..0000000
--- a/assets/gciTales/03-regression/5.png
+++ /dev/null
Binary files differ
diff --git a/assets/gciTales/03-regression/6.png b/assets/gciTales/03-regression/6.png
deleted file mode 100644
index 479d0e5..0000000
--- a/assets/gciTales/03-regression/6.png
+++ /dev/null
Binary files differ
diff --git a/assets/manup.min.js b/assets/manup.min.js
deleted file mode 100644
index 20bc3a1..0000000
--- a/assets/manup.min.js
+++ /dev/null
@@ -1 +0,0 @@
-var manUpObject,tagArray=[],linkArray=[],validMetaValues=[{name:"mobile-web-app-capable",manifestName:"display"},{name:"apple-mobile-web-app-capable",manifestName:"display"},{name:"apple-mobile-web-app-title",manifestName:"short_name"},{name:"application-name",manifestName:"short_name"},{name:"msapplication-TileColor",manifestName:"ms_TileColor"},{name:"msapplication-square70x70logo",manifestName:"icons",imageSize:"70x70"},{name:"msapplication-square150x150logo",manifestName:"icons",imageSize:"150x150"},{name:"msapplication-wide310x150logo",manifestName:"icons",imageSize:"310x150"},{name:"msapplication-square310x310logo",manifestName:"icons",imageSize:"310x310"}],validLinkValues=[{name:"apple-touch-icon",manifestName:"icons",imageSize:"152x152"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"120x120"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"76x76"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"60x60"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"57x57"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"72x72"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"114x114"},{name:"icon",manifestName:"icons",imageSize:"128x128"},{name:"icon",manifestName:"icons",imageSize:"192x192"}],generateFullMetaData=function(){for(var e=0;e<validMetaValues.length;e++)if(manUpObject[validMetaValues[e].manifestName])if("icons"==validMetaValues[e].manifestName)for(var a=manUpObject.icons,n=0;n<a.length;n++)a[n].sizes==validMetaValues[e].imageSize&&(validMetaValues[e].content=a[n].src);else validMetaValues[e].content=manUpObject[validMetaValues[e].manifestName],"display"==validMetaValues[e].manifestName&&"standalone"==manUpObject.display&&(validMetaValues[e].content="yes");return validMetaValues},generateFullLinkData=function(){for(var e=0;e<validLinkValues.length;e++)if(manUpObject[validLinkValues[e].manifestName])if("icons"==validLinkValues[e].manifestName)for(var a=manUpObject.icons,n=0;n<a.length;n++)a[n].sizes==validLinkValues[e].imageSize&&(validLinkValues[e].content=a[n].src);else validLinkValues[e].content=manUpObject[validLinkValues[e].manifestName];return validLinkValues},generateMetaArray=function(){for(var e=generateFullMetaData(),a=document.getElementsByTagName("head")[0],n=0;n<e.length;n++){var i=document.createElement("meta");i.name=e[n].name,i.content=e[n].content,a.appendChild(i)}},generateLinkArray=function(){for(var e=generateFullLinkData(),a=document.getElementsByTagName("head")[0],n=0;n<e.length;n++){var i=document.createElement("link");i.setAttribute("rel",e[n].name),i.setAttribute("sizes",e[n].imageSize),i.setAttribute("href",e[n].content),a.appendChild(i)}},generateObj=function(e){manUpObject=JSON.parse(e),generateLinkArray(),generateMetaArray()},makeAjax=function(e){if(window.XMLHttpRequest){var a,n=/^https?:\/\//i;n.test(e)?fulURL=e:a=window.location.hostname+e;var i=new XMLHttpRequest;i.onreadystatechange=function(){4==i.readyState&&200==i.status&&generateObj(i.responseText)},i.open("GET",e,!0),i.send()}},collectManifestObj=function(){for(var e=document.getElementsByTagName("link"),a=0;a<e.length;a++)e[a].rel&&"manifest"==e[a].rel&&makeAjax(e[a].href)},testForManifest=function(){collectManifestObj()}();
diff --git a/assets/posts/arjs/01-ngrok.png b/assets/posts/arjs/01-ngrok.png
deleted file mode 100644
index 2759c5b..0000000
--- a/assets/posts/arjs/01-ngrok.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/arjs/02-box-demo.gif b/assets/posts/arjs/02-box-demo.gif
deleted file mode 100644
index b5ab73a..0000000
--- a/assets/posts/arjs/02-box-demo.gif
+++ /dev/null
Binary files differ
diff --git a/assets/posts/arjs/03-knot.png b/assets/posts/arjs/03-knot.png
deleted file mode 100644
index 0c7f0f0..0000000
--- a/assets/posts/arjs/03-knot.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/arjs/04-nyan.gif b/assets/posts/arjs/04-nyan.gif
deleted file mode 100644
index 2fe12ad..0000000
--- a/assets/posts/arjs/04-nyan.gif
+++ /dev/null
Binary files differ
diff --git a/assets/posts/arjs/05-GitHub.jpg b/assets/posts/arjs/05-GitHub.jpg
deleted file mode 100644
index 051169e..0000000
--- a/assets/posts/arjs/05-GitHub.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/posts/autodock-vina/s1.png b/assets/posts/autodock-vina/s1.png
deleted file mode 100644
index 332f726..0000000
--- a/assets/posts/autodock-vina/s1.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/kaggle-colab/ss1.png b/assets/posts/kaggle-colab/ss1.png
deleted file mode 100644
index b618236..0000000
--- a/assets/posts/kaggle-colab/ss1.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/kaggle-colab/ss2.png b/assets/posts/kaggle-colab/ss2.png
deleted file mode 100644
index 0777cdd..0000000
--- a/assets/posts/kaggle-colab/ss2.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/kaggle-colab/ss3.png b/assets/posts/kaggle-colab/ss3.png
deleted file mode 100644
index 186db99..0000000
--- a/assets/posts/kaggle-colab/ss3.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/kaggle-colab/ss4.png b/assets/posts/kaggle-colab/ss4.png
deleted file mode 100644
index 4d60648..0000000
--- a/assets/posts/kaggle-colab/ss4.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/open-babel/s1.png b/assets/posts/open-babel/s1.png
deleted file mode 100644
index ec988a4..0000000
--- a/assets/posts/open-babel/s1.png
+++ /dev/null
Binary files differ
diff --git a/assets/posts/open-babel/s2.jpg b/assets/posts/open-babel/s2.jpg
deleted file mode 100644
index 7ece652..0000000
--- a/assets/posts/open-babel/s2.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/posts/open-babel/s3.jpg b/assets/posts/open-babel/s3.jpg
deleted file mode 100644
index 5803e97..0000000
--- a/assets/posts/open-babel/s3.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/posts/open-peeps/ex-1.svg b/assets/posts/open-peeps/ex-1.svg
deleted file mode 100644
index 7831d9b..0000000
--- a/assets/posts/open-peeps/ex-1.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 299.18 804.02"><defs><style>.cls-1{fill:#fff;}.cls-1,.cls-2{fill-rule:evenodd;}</style></defs><title>Asset 1</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M295.4,792.78c.65-2.62-.41-6-1-9.43-.94-5.3-3.18-13-7.44-15.38-.76-2-21.71-18-32.64-26C248.68,737.8,244.08,730,243,730.09c-2.17-5.32-2.45-10.58-3.78-16.74,4.94-.65,13.38.52,17.27-2.29.7,0,.69-7.58.79-8.65-2.93-7.95-10.14-202.32-2.93-294.9.76-10.31,2.75-21.84.78-32.47,3.22-.71,5.15-4,5.16-4.17,7.69-15.1-4.11-66.45-11.5-80.67,5.87-.15,13.6-.95,17.24-5.85a6,6,0,0,0,3.64-3.14,50.63,50.63,0,0,0,2.66-4.72c3.91-8.13,6.33-17.16,5-26.11.25-.08,1.53-.09,1.6-.45a16.86,16.86,0,0,0-.94-6.22c-6.72-23.42-14.81-46.48-25.5-68.54-5.36-11.8-16.45-16.11-27.93-20.54-5.53-2.17-11.05-4.67-16.82-6.09-.07-.41.27-1.64-.48-1.54-.94.2-.75,1.7-1.1,2.54C192.8,138.63,201.25,133,193.21,127c-8.32-4.32-13.25-4.49-22.42-3.56-3.38.1-6.09,1.63-6.89,5-2.91,7-9.73,12.24-17.16,13.83-.62-1.09-2.3-4.23-3.25-3.24-10.74.37-31.49,8.85-41.54,11.8-10.09,2.58-10,5.32-12.61,16.29-4.79,19.54-3.89,92.92,8.61,108.38q6.8,4.54,10.21,5.66c-.07,7.23,1.14,18,0,25.07-2.55,12.82-5.66,25.7-8.51,38.59,0,1.43-11.39,22.72-6.05,18.78,1.1.54,3,2.82,4.22,3.32-5.67,12.92-4.63,28.77-4.22,44.73.1,9.5-2.12,19.92-4.26,29.65C73.57,523.8,62.88,617.42,57,700c-.24,3.39-.39,6-.51,8.37-.11.83,1,.81,1.41.39l.57-.55,2.3.63a50.33,50.33,0,0,1-.52,8c-.3,2.35-4.13,12.65-3.25,14.95-2.92-.16-8.4,4.63-11,9.82-1.34,1.2-5.63,3.17-6.61,5q-2,1.92-15.82,9.94c-5.09,4.07-21.47,20.25-20.14,23.53l-.2,1.37c-2.81,16.36,1.87,15.67,17,18.08,22.12,3.9,43.05-7.94,61.75-18,6.21-4.19,12.26-3.08,11.59-8.14-1.23-6.25-1.45-28.62-8.54-28.11,1.16-1.28.87-13,0-15.22-.56-5.65,4.56-10.92,4.28-16.74,3,.22,9,1.61,10.31-1.7-.05-.33-1.46-.33-1.7-.41l0-.18-.16,0c12.37-43.6,42.5-243.81,75.21-259.18.2,1.64,3.8-.31,6,0,10.12,78.95,21.71,153.37,27.89,237.82.62,2.5,2,20,2.65,22.87a9.54,9.54,0,0,0,3,1.88c.34,8.91-.8,27.5-.84,27.52l-.6,1.44c-3.44,7.78-6,18.18-1.57,25.79-3.29-.24-4.73,2.57-4.88,5.49-1.94,12.79,49.39,24.15,61.31,24.88C269.9,800.21,297.82,795.23,295.4,792.78Z"/><path class="cls-2" d="M290.71,793.83c-6.48,1.49-12.79,3.94-19.18,5.39-20.81-1.53-41.24-8.54-59.49-17.18-5.29-2.31-8.39-6.42-6-11.7,7.74,9.57,36.41,16.23,49.53,20.36,8.16,1.79,17.42,5.83,25.66,2.06,5.23-.9,11.17-3.4,13.18-8.1a38.73,38.73,0,0,1-.24,6c.2,2.45-1,2.79-3.43,3.18Zm-77.28-80.65a.51.51,0,0,0-.92,0c-.4,0-.82-.08-1.24-.09a15.45,15.45,0,0,0,.46-7c-.45-6.49-1-13-1.51-19.46-5.65-62.11-12.16-124.4-23.26-185.83a.44.44,0,0,0,.19-.43c-.55-4.35-1.73-8.59-2.55-12.9s-1.53-8.72-2.29-13.07c-.23-1.3-.46-2.61-.7-3.91.17-3.16-.59-6.48-1-9.54a53.21,53.21,0,0,0-1.26-6.5,2,2,0,0,0-.46-2.12l0,0a3.93,3.93,0,0,1,.14-.41c.4-1,1.27-1.43,1.89-2.13a16.09,16.09,0,0,1,5.45-.13c.27.05.47-.32.19-.47-7.27-4.25-16.33-.15-21.7,5.4-16.49,23.44-22.45,53.2-31.57,80.1C116.78,593.1,105.2,652.94,92,712.17c-10.48-.49-20.94-2-31.45-1.76a4.46,4.46,0,0,0-1.88-2.22A2399.1,2399.1,0,0,1,93.06,439c1.86-23.31-1-47.07,5.87-69.86C148,388.41,202.84,391.29,254.3,380.9c-9.62,109.13-14.71,219.4-1.49,328.51a52.68,52.68,0,0,1-13.25,2.91,169,169,0,0,1-26.13.86ZM82.9,738.9a2.41,2.41,0,0,0,1.68,3.51c-4.87,1.29-5.78,6.47-9.62,8.83-.36-.68-1.37-.79-2-1-2.06-7.63-4.42-16.6-14-19.41a3.76,3.76,0,0,0,.49-2.63c.72-3.63,3.29-11.73,1.7-15.9,8.83,2,17.89,2.84,26.84,4.14-1.82,6.63-3.36,16.63-5,22.45ZM89,771.17l.87-.25c1.4,6.18-8.14,8.2-12.85,10.39q-10.65,4.41-21.26,8.87c-14.32,7.18-27.76,9.2-43.68,4.08-10.13-1.94-8.2-3.87-9.69-11.69,10.16,13.66,31,7.8,43.88,1.89C58.05,780,69.87,775.65,82,771.87c2.43.61,4.74,0,7-.7ZM192.16,271.81c-6.12,1.66-12.32,2.51-18.54,3.74.54-4,1.34-8,1.35-12a102.6,102.6,0,0,0,17.19,8.28Zm-57.71-40.37a66.75,66.75,0,0,1,39.26,3.44c4.24,1.41,10,5.09,14.37,3.39-3.27,10.36.85,21,5.1,30.47-9.76-3.25-18.36-9-27.25-14,3.33-4.38-26.94-9.69-30.23-9.58-.93-4.53-2-9-3-13.55a3.6,3.6,0,0,0,1.77-.17Zm67.54,4.9a.34.34,0,0,1,.14.21c12.79,1.77,25.64,7.59,38.77,5.9,8.88-1.14,4.79,3.93-1.12,3.74-13.33,1.34-25.7-6.55-38.1-9.23Zm7-85.67-.09.42a1.33,1.33,0,0,1-.4-.05l-.25-.25a2.66,2.66,0,0,1,.74-.12Zm90.16,640.55a12.48,12.48,0,0,0-4.13-8.28c1.55-6.35-1.56-14.45-8.19-17.18-1.8-3-5.72-4.26-8.55-6.36,2.38-.15,4.55-1.84,2.73-3.66a107.51,107.51,0,0,0-11.25,4.33c-1,.21-3.35,2.17-3.53.42.69-1.39,6.07-2.8,7.83-3.77l-3.9-2.48c2.3,0,5.26-1.78,3-3.74-6.08,1.35-12.4,2.54-17.76,5.62-4.42-1.1,8.45-5,9.64-5.22a70.4,70.4,0,0,1-5.81-4.36c2,0,6.21-2.06,3.52-3.87-3.38-.87-8.07,1.92-11.42,2.81h0c-2.53.93-5,1.95-7.52,3-1,.42-1.42-1-.43-1.38,3.85-1.62,7.75-3.16,11.74-4.48C254,741.43,253,740.19,252,739c.27-1.94-1.73-3.65-2.47-5.4.16-.9-.29-2.31-1.36-2.49a3.75,3.75,0,0,0-3.3-.69,46.33,46.33,0,0,1-4.09-13.67c5-.66,10.72-.69,15-3.42a2.66,2.66,0,0,0,2.58-2.55,147.12,147.12,0,0,0-.91-16.52q-.75-8.28-1.39-16.55c-7.32-88.5-6-177.46,1-265.94.74-10.37,1.11-21-.61-31.28,2.14-.66,10.13-2,9.52-4.93,6.93-17.67-3.33-62.91-10.87-80.69,5.61-.32,12.35-1.53,16-6.16,3.55-1.25,4.79-5.41,6.56-8.41,3.81-8,6.28-17,5.31-25.89,3.93-1-.94-11.84-1.37-14.74-6.52-21.51-14-42.89-23.77-63.14A33.83,33.83,0,0,0,240.69,160c-9-3.93-18.06-8-27.48-10.87a1.85,1.85,0,0,0-2.76-1.65l-.23-.07a4.51,4.51,0,0,0-3.84,1.14c-3-4.47-3.84-10.13-5-15.39-4.54,4.76-.35,20.66,6.73,22-4.61,33.23-43.24,25.35-55,1.13-2.55-4.68-4.27-9.28-6.81-14a15.47,15.47,0,0,0,17.51-9.59,5.51,5.51,0,0,1,2-2.49c1.24-.88.92-3.11-.82-3.06-6.9,1.55-2.37,12.53-19.14,14.45a7.25,7.25,0,0,0-2.08-2.28,1.68,1.68,0,0,0-1.87,0c-12.61.76-24.92,3.95-37,7.38-10.4,2.56-21.3,8.11-23.87,19.42C76.14,184,84,273.41,97.57,284.47a21.64,21.64,0,0,0,7.82,4.7c-2.78,19.87-7.12,39.63-10.81,59.38-.27,3.41-6.19,22.31,1.32,19.2l.62.29c-.45.9-.87,1.82-1.27,2.74a35.73,35.73,0,0,0-2.8,9.2,100.45,100.45,0,0,0-.74,10.1c0,1.26-.1,2.49-.11,3.72-1.45,11.84-1.42,23.94-1.54,35.84-6.56,45-16,89.65-21.33,134.88C62.22,612.84,57.06,661.36,54.06,710c-.1,2.23,2.48,2.68,3.74,1.44l.54.15a47.76,47.76,0,0,1-.39,5.85c-.43,2.82-3.66,9.93-2.85,12.5-2.94-.41-7.69.19-8.54,2.6-3.38,4.3-3.16,10.15-7.16,14,3.85.85,7.68,2,11.42,3.16.77.42.3,1.55-.68,1.26-2.07-.62-4.15-1.26-6.24-1.84h0c-2-.57-4.06-1.07-6.12-1.45-.07,0,0,.18,0,.23A42.29,42.29,0,0,1,33,751.06c1.08.23,15.45,4.08,11.15,5.28a67.3,67.3,0,0,0-13-4.23c-1.95,1.1-3.86,2.25-5.79,3.39.93.19,16.42,3.55,11,4.53a98.17,98.17,0,0,0-12.82-3.48c-5.33,3.17-10.67,6.32-15.93,9.58-2.2,1.36-4.6,2.66-6,4.7A9.46,9.46,0,0,0,1,780c-3.76,16.21,2.88,16.83,18.37,20.24,22,5.62,41-7.86,60.08-15.18,4-1.87,8.39-3.27,12-5.73C94.82,777,97,771.9,94,768.44c2.14-4-.71-13.77-1.39-18.45-.57-3-1-7.71-5.33-7.86,1.17-.76,1.14-2.19.75-3.34-.52-5.66,1.24-15.72,1.67-22.12,3.35.24,8.32,1.22,10.06-2.49a1.6,1.6,0,0,0-1.3-2.37h0c.24,0,.17,0,0,0,17.76-73.31,29.21-148.42,54.85-219.6,5.86-13.75,8.48-31.49,21.59-40.36a6.54,6.54,0,0,0,1.06,3.18l.12.43c.46,1.79,1,3.56,1.43,5.35,10.25,78.93,22.1,157.7,27.79,237.16.86,3.68-.54,16.78,4.61,16.19a8.8,8.8,0,0,0,2.16.7c-1.06,4.73-.76,11.86-.73,16.16s-.79,8.76-.31,13c.55,2.8,5.79,1.12,4.94-1.7a203.41,203.41,0,0,0-2-27,103.6,103.6,0,0,0,24.43,1.57c-.43,4.73,1,10.65,2.6,14.53a38.65,38.65,0,0,0-13.42,7.19c-3.58,3.26-6.87,10.72-13.19,8.25-1.75-.78-3.67-2.13-4.27-3.87-.59-.43-.28.62-.17.87l-.24.08c-1.45-.93-4.12,8.68-4.34,9.88-1.12,5.15-2.41,11,.23,15.82-5.67,2.35-5.06,10-.85,13.23,16.7,10.82,44.56,19.65,65.3,21.13,3.67.25,7.53-.82,11-2,4.1-1.09,8.22-2.27,12.27-3.55,3.58-.82,6.26-3.89,5.82-7.23Z"/><path class="cls-1" d="M189.54,6.08c17,0,34.67,13.21,40.92,21.64,5.25,7.09,8.08,39.14,8.08,60.8,0,4.53,2.5,13.07,1.77,17.4-2.67,15.88-14.32,29.2-37.37,29.2s-39.58-9.14-56.72-33.67c-8.31,0-12.34-6.38-12.4-16.44q-.06-10.07,8-13.72-2.88-39.71,4.37-50C153.48,10.91,172.5,6.08,189.54,6.08Z"/><path class="cls-2" d="M182.37.47c10.76-1.09,21.3-.18,31.91,1.72a1.74,1.74,0,0,1,1.44,1.31c5,.23,10,.6,15,.87a2.36,2.36,0,0,1,2,3.51c-.16.32-.33.63-.51.94l.22-.07a5.89,5.89,0,0,1,4.59,0,4.6,4.6,0,0,1,2.18,5.1,8.35,8.35,0,0,1-.49,1.46,6.32,6.32,0,0,1,1.23,0,4.39,4.39,0,0,1,3.9,4.18c.17,3.34-2,6.74-4.53,9.14a4.27,4.27,0,0,1,.36,2.56,4.94,4.94,0,0,1-3.16,3.57,16.34,16.34,0,0,1,.76,6.31,1.73,1.73,0,0,1-1.36,1.46A99.23,99.23,0,0,1,240.56,64a131.45,131.45,0,0,1,1,15.36q0,3.48-.12,7l0,.87a58.79,58.79,0,0,1-.57,7.61,21.44,21.44,0,0,1,2.41,8.79,27,27,0,0,1-1.33,10.82c-4.32,13-17.34,21.26-30.43,23.39-12.11,2-26.13-.68-33.2-11.68-.11-.18.12-.32.26-.21,5.06,4.12,10.94,6,17.32,6.85,11,1.55,23.44-1.07,32.29-8a25.18,25.18,0,0,0,8.67-13.4,23.84,23.84,0,0,0,.65-8.2c-.28-2.79-1.51-5.16-2.29-7.8a2.37,2.37,0,0,1,.56-2.3c.15-2.14.51-4.29.65-6.42.16-2.42.25-4.85.28-7.27.06-5-.15-10.07-.57-15.08-.77-9.18-2.83-18.13-4-27.22a1.48,1.48,0,0,1-1.75.21l-.07,0-.37-.2h-.07a19.27,19.27,0,0,1-7.5-.85,22,22,0,0,1-6.93-3.58,31.78,31.78,0,0,0-.57,6.08,1.64,1.64,0,0,1-2.43,1.4,102.05,102.05,0,0,1-13.63-8.34c-.51,2.58-1,5.16-1.52,7.75a1.56,1.56,0,0,1-2.28.93,29,29,0,0,1-8.3-7.28c-.46.87-.91,1.74-1.37,2.6l-.69,1.3c-.68,1.28-1.59,2.69-3.09,3.1a2.87,2.87,0,0,1-3.42-2c-.17-.45-.32-.9-.45-1.36A80.75,80.75,0,0,1,173,45.66a117.85,117.85,0,0,1-8.75,12.05c-.94,1.19-2.54.06-2.67-1.1-.08-.68-.14-1.37-.2-2-1.79,3.63-3.67,7.22-5.71,10.7l.29,1.15h0c.85,3.38,1.55,6.79,2.31,10.2.24,1.09-.34,2.66-1.62,2.85-1.54.23-3,1-4.56.47s-2-2.07-2.85-3.47a6.39,6.39,0,0,0-.55-.78l-.06.07h0c-.12.16-.42,0-.35-.21l.09-.22h0a29.39,29.39,0,0,0-2.29-2,8.19,8.19,0,0,0-5.11.77c-2.85,1.68-4.15,5.14-4.18,8.33a21.9,21.9,0,0,0,3.07,11.1,7.73,7.73,0,0,0,3.59,3.29c1.55.62,3.22.43,4.79,1a1.79,1.79,0,0,1,1.05,2.59,2.43,2.43,0,0,1-.14.2l.47.62c.32.43.66.89,1,1.37.8.92,1.64,1.81,2.45,2.71,1.5,1.66,3,3.38,4.44,5.07s2.88,3.09,4.4,4.56,3.23,2.57,4.55,4.06,1.63,4-.48,4.83c-2.34.93-4.41-1.25-6-2.71l-.07-.06a43.91,43.91,0,0,1-7.56-9,6.46,6.46,0,0,1-7,.13,6.14,6.14,0,0,1-2.3-3.31,4.38,4.38,0,0,1-1.12.13c-.19.11-.38.22-.58.32a2.81,2.81,0,0,1-4.08-1.25c-.64-1.53,0-3.26.59-4.74l.11-.3c.33-.84.69-1.76,1.13-2.62a14.17,14.17,0,0,1-3.19-3.4,25.24,25.24,0,0,1-3.84-16.18,14,14,0,0,1,4.35-8.64l-.09-.24h0a35.24,35.24,0,0,1-1.72-5.33,56.13,56.13,0,0,1-.91-6.59,63,63,0,0,1,.26-14,55.26,55.26,0,0,1,8.93-24.45c-1.42-1.7-2.54-3.69-2-6a4.48,4.48,0,0,1,1.8-2.65,15.74,15.74,0,0,1,1.62-.66l.15-.09c.22-.13.05-.12-.08-.72C143.87,9,144.31,6.7,147,5.9c2.5-.75,4.86.85,6.34,2.76,3.87-2.75,9-4.19,13.46-5.41A97.13,97.13,0,0,1,182.37.47Zm-41.83,81a3,3,0,0,1,3.68-2.85,7.53,7.53,0,0,1,3.23,1.7l.47.38a11.48,11.48,0,0,1,3.22,3.22c1,1.93-1.14,4.52-3.17,3.17a12.53,12.53,0,0,1-3.19-3.81l-.1-.14a7.84,7.84,0,0,0-1.34-1.78l-.12-.11a1.62,1.62,0,0,0-.63-.37,1.35,1.35,0,0,0-1.53.6l0,.06A.26.26,0,0,1,140.54,81.42Z"/><path class="cls-2" d="M192,87.77c5-.61,9.84.92,14.72,1.69a67.61,67.61,0,0,0,7.76.82c.53,0,1.05,0,1.58,0a1.39,1.39,0,0,1,.87-1.14,6.7,6.7,0,0,1,3.32-.7,23.33,23.33,0,0,1,3.45.37,10.79,10.79,0,0,1,5.65,2.73c3.5,3.45,3,9,.26,12.76-5.57,7.77-15.76,8.13-24.48,8h-.8c-7.94-.11-19.3,1.07-22.91-8A12.7,12.7,0,0,1,181.88,94C183.81,90.24,187.89,88.26,192,87.77Zm24.81,12.94h-.08q-5.49.21-11,.3c.11.94.22,1.89.35,2.82.1.74.21,1.48.32,2.22a4.2,4.2,0,0,1,.17,1.1l0,.12h0a1.18,1.18,0,0,1,.49.43,1.28,1.28,0,0,1,.11.2,48.52,48.52,0,0,0,8.8-.55v-.06h0a1.16,1.16,0,0,1,.41-.79c.2-1.18.18-2.44.26-3.61C216.67,102.16,216.72,101.43,216.78,100.71Zm-13.86.35c-2.64,0-5.27.08-7.91,0l-1.2,0h0c.25,1.36.53,2.71.76,4.08a2,2,0,0,1-2.1,2.29l.36.06a72.84,72.84,0,0,0,10.35.34,22.29,22.29,0,0,1-.14-3.19v-.14C203,103.37,202.94,102.22,202.92,101.06ZM185,100.81a7.77,7.77,0,0,0,.54,2c1.12,2.72,3.71,4,6.44,4.52a1.42,1.42,0,0,1-.95-1.23,39.16,39.16,0,0,1-.33-5.08C188.8,101,186.88,101,185,100.81Zm41.7-.58a23.53,23.53,0,0,1-4.26.24c-1.24.06-2.49.1-3.74.15l.18,2.56a29.15,29.15,0,0,0,.3,3.35,13.28,13.28,0,0,0,6.44-4.42A8.23,8.23,0,0,0,226.7,100.23Zm-35.3-8A8.28,8.28,0,0,0,185.86,96a7.86,7.86,0,0,0-.92,4.11c1.91-.22,3.85-.31,5.78-.38,0-.34,0-.69,0-1l0-.88A21,21,0,0,1,191.4,92.22Zm11.68.21-1-.11a47,47,0,0,0-8.28-.46c-.4,0-.8.08-1.21.13a36.74,36.74,0,0,1,.65,5.57c.08.68.18,1.35.29,2l.48,0h0c3-.16,5.92-.26,8.89-.38,0-.55,0-1.11,0-1.67v-.56A38.25,38.25,0,0,1,203.08,92.43Zm13.86-.22a55.91,55.91,0,0,1-8.72.56c-1.13,0-2.27-.06-3.4-.16.08.6.11,1.21.17,1.8.11,1.21.24,2.41.38,3.6l.12,1h0c3.64-.16,7.29-.34,10.93-.53l.51,0h0l.14-2c.1-1.34.21-2.69.36-4l-.11,0h0A1.76,1.76,0,0,1,216.94,92.21Zm1.25.5c.16,1.9.25,3.8.37,5.71l2.4-.13,1.2-.07c1.55-.09,3.55-.56,5.09-.12a4,4,0,0,0-1.55-3.7C223.49,92.75,220.67,93.34,218.19,92.71Zm-8.2-17c3.57-2,12.54-4.14,13.11,2.29.26,3-1.94,5.41-4.51,6.51l-.09,0c-2.42,1-6.69,2.11-8.77,0-1.74-1.79.56-5,2.72-3.53,1.11.75,3.44.2,4.68-.16l.08,0c1.33-.4,3.11-1.65,2.56-3.3-.49-1.45-2.57-1.72-3.87-1.76a50.74,50.74,0,0,0-5.76.53A.3.3,0,0,1,210,75.72ZM224.8,65.37c4.85-.23,7.87,5.07,6.75,9.41a1.9,1.9,0,0,1-1.84,1.4l-.2,0a1.54,1.54,0,0,1-.31,0,1.94,1.94,0,0,1-1.4-1.84l0-.24c.11-2-.11-4.41-2.55-4.91-2.06-.42-3.22,1.57-3.24,3.4a.44.44,0,0,1-.66.38,3.44,3.44,0,0,1-1.18-4.27A5,5,0,0,1,224.8,65.37Zm-36,1.14a7.75,7.75,0,0,1,9,3.82A1.35,1.35,0,0,1,199,71.68a3.74,3.74,0,0,1-1,2.43,2.2,2.2,0,0,1-3.63-.9l0-.06a3.61,3.61,0,0,0-4.56-2.52c-2.25.78-2.19,3.16-3.77,4.55a.54.54,0,0,1-.63.08c-1.68-.81-1.38-3.25-.78-4.65A7.35,7.35,0,0,1,188.8,66.51ZM184,55.79c2.86-2.92,10.32-5.75,12.28-.36a2.16,2.16,0,0,1-1.49,2.63c-1.75.35-3.31-.41-5.05-.28a7.56,7.56,0,0,0-4,1.46c-3.12,2.41-3.8,6.5-6,9.57a.18.18,0,0,1-.33-.09A17,17,0,0,1,184,55.79Zm37.31-2.88a9.53,9.53,0,0,1,5.95,0,11.42,11.42,0,0,1,5.05,3.22A13.1,13.1,0,0,1,234,58.33c.24.42.49,1.29.77,1.81a2.68,2.68,0,0,1,.8,4.23l-.06.06-.18.18a2.91,2.91,0,0,1-2.79.74c-2.2-.64-2.47-2.37-3.23-4.21a7.56,7.56,0,0,0-2.4-3.08,11.6,11.6,0,0,0-9.49-1.58c-.16.05-.34-.15-.23-.3a8.78,8.78,0,0,1,1.64-1.91A8.91,8.91,0,0,1,221.3,52.91Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/résumé.pdf b/assets/résumé.pdf
deleted file mode 100644
index 8931b18..0000000
--- a/assets/résumé.pdf
+++ /dev/null
Binary files differ
diff --git a/feed.rss b/feed.rss
deleted file mode 100644
index 6637b94..0000000
--- a/feed.rss
+++ /dev/null
@@ -1,1228 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content"><channel><title>Navan Chauhan</title><description>Welcome to my personal fragment of the internet. Majority of the posts should be complete.</description><link>https://navanchauhan.github.io/</link><language>en</language><lastBuildDate>Tue, 15 Sep 2020 15:53:16 +0530</lastBuildDate><pubDate>Tue, 15 Sep 2020 15:53:16 +0530</pubDate><ttl>250</ttl><atom:link href="https://navanchauhan.github.io/feed.rss" rel="self" type="application/rss+xml"/><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-08-01-Natural-Feature-Tracking-ARJS</guid><title>Introduction to AR.js and Natural Feature Tracking</title><description>An introduction to AR.js and NFT</description><link>https://navanchauhan.github.io/posts/2020-08-01-Natural-Feature-Tracking-ARJS</link><pubDate>Sat, 1 Aug 2020 15:43:00 +0530</pubDate><content:encoded><![CDATA[<h1>Introduction to AR.js and Natural Feature Tracking</h1><h2>AR.js</h2><p>AR.js is a lightweight library for Augmented Reality on the Web, coming with features like Image Tracking, Location based AR and Marker tracking. It is the easiest option for cross-browser augmented reality.</p><p>The same code works for iOS, Android, Desktops and even VR Browsers!</p><p>It was initially created by Jerome Etienne and is now maintained by Nicolo Carpignoli and the AR-js Organisation</p><h2>NFT</h2><p>Usually for augmented reality you need specialised markers, like this Hiro marker (notice the thick non-aesthetic borders 🤢)</p><img src="https://upload.wikimedia.org/wikipedia/commons/4/48/Hiro_marker_ARjs.png"/><p>This is called marker based tracking where the code knows what to look for. NFT or Natural Feature Tracing converts normal images into markers by extracting 'features' from it, this way you can use any image of your liking!</p><p>I'll be using my GitHub profile picture</p><img src="https://navanchauhan.github.io//images/me.jpeg"/><h2>Creating the Marker!</h2><p>First we need to create the marker files required by AR.js for NFT. For this we use Carnaux's repository 'NFT-Marker-Creator'.</p><pre><code><div class="highlight"><span></span>$ git clone https://github.com/Carnaux/NFT-Marker-Creator
-
-Cloning into <span class="s1">&#39;NFT-Marker-Creator&#39;</span>...
-remote: Enumerating objects: <span class="m">79</span>, <span class="k">done</span>.
-remote: Counting objects: <span class="m">100</span>% <span class="o">(</span><span class="m">79</span>/79<span class="o">)</span>, <span class="k">done</span>.
-remote: Compressing objects: <span class="m">100</span>% <span class="o">(</span><span class="m">72</span>/72<span class="o">)</span>, <span class="k">done</span>.
-remote: Total <span class="m">580</span> <span class="o">(</span>delta <span class="m">10</span><span class="o">)</span>, reused <span class="m">59</span> <span class="o">(</span>delta <span class="m">7</span><span class="o">)</span>, pack-reused <span class="m">501</span>
-Receiving objects: <span class="m">100</span>% <span class="o">(</span><span class="m">580</span>/580<span class="o">)</span>, <span class="m">9</span>.88 MiB <span class="p">|</span> <span class="m">282</span>.00 KiB/s, <span class="k">done</span>.
-Resolving deltas: <span class="m">100</span>% <span class="o">(</span><span class="m">262</span>/262<span class="o">)</span>, <span class="k">done</span>.
-
-$ <span class="nb">cd</span> NFT-Makrer-Creator
-</div></code></pre><h3>Install the dependencies</h3><pre><code><div class="highlight"><span></span>$ npm install
-
-npm WARN nodegenerator@1.0.0 No repository field.
-
-added <span class="m">67</span> packages from <span class="m">56</span> contributors and audited <span class="m">67</span> packages in <span class="m">2</span>.96s
-
-<span class="m">1</span> package is looking <span class="k">for</span> funding
- run <span class="sb">`</span>npm fund<span class="sb">`</span> <span class="k">for</span> details
-
-found <span class="m">0</span> vulnerabilities
-
-
-
- ╭────────────────────────────────────────────────────────────────╮
- │ │
- │ New patch version of npm available! <span class="m">6</span>.14.5 → <span class="m">6</span>.14.7 │
- │ Changelog: https://github.com/npm/cli/releases/tag/v6.14.7 │
- │ Run npm install -g npm to update! │
- │ │
- ╰────────────────────────────────────────────────────────────────╯
-</div></code></pre><h3>Copy the target marker to the folder</h3><pre><code><div class="highlight"><span></span>$ cp ~/CodingAndStuff/ARjs/me.png .
-</div></code></pre><h3>Generate Marker</h3><pre><code><div class="highlight"><span></span>$ node app.js -i me.png
-
-Confidence level: <span class="o">[</span> * * * * * <span class="o">]</span> <span class="m">5</span>/5 <span class="o">||</span> Entropy: <span class="m">5</span>.24 <span class="o">||</span> Current max: <span class="m">5</span>.17 min: <span class="m">4</span>.6
-
-Do you want to <span class="k">continue</span>? <span class="o">(</span>Y/N<span class="o">)</span>
-y
-writeStringToMemory is deprecated and should not be called! Use stringToUTF8<span class="o">()</span> instead!
-<span class="o">[</span>info<span class="o">]</span>
-Commands:
-<span class="o">[</span>info<span class="o">]</span> --
-Generator started at <span class="m">2020</span>-08-01 <span class="m">16</span>:01:41 +0580
-<span class="o">[</span>info<span class="o">]</span> Tracking Extraction <span class="nv">Level</span> <span class="o">=</span> <span class="m">2</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">MAX_THRESH</span> <span class="o">=</span> <span class="m">0</span>.900000
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">MIN_THRESH</span> <span class="o">=</span> <span class="m">0</span>.550000
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">SD_THRESH</span> <span class="o">=</span> <span class="m">8</span>.000000
-<span class="o">[</span>info<span class="o">]</span> Initialization Extraction <span class="nv">Level</span> <span class="o">=</span> <span class="m">1</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">SURF_FEATURE</span> <span class="o">=</span> <span class="m">100</span>
-<span class="o">[</span>info<span class="o">]</span> min allow <span class="m">3</span>.699000.
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">1</span><span class="o">)</span>: <span class="m">3</span>.699000
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">2</span><span class="o">)</span>: <span class="m">4</span>.660448
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">3</span><span class="o">)</span>: <span class="m">5</span>.871797
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">4</span><span class="o">)</span>: <span class="m">7</span>.398000
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">5</span><span class="o">)</span>: <span class="m">9</span>.320896
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">6</span><span class="o">)</span>: <span class="m">11</span>.743593
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">7</span><span class="o">)</span>: <span class="m">14</span>.796000
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">8</span><span class="o">)</span>: <span class="m">18</span>.641792
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">9</span><span class="o">)</span>: <span class="m">23</span>.487186
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">10</span><span class="o">)</span>: <span class="m">29</span>.592001
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">11</span><span class="o">)</span>: <span class="m">37</span>.283585
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">12</span><span class="o">)</span>: <span class="m">46</span>.974373
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">13</span><span class="o">)</span>: <span class="m">59</span>.184002
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">14</span><span class="o">)</span>: <span class="m">72</span>.000000
-<span class="o">[</span>info<span class="o">]</span> Generating ImageSet...
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span>Source image <span class="nv">xsize</span><span class="o">=</span><span class="m">568</span>, <span class="nv">ysize</span><span class="o">=</span><span class="m">545</span>, <span class="nv">channels</span><span class="o">=</span><span class="m">3</span>, <span class="nv">dpi</span><span class="o">=</span><span class="m">72</span>.0<span class="o">)</span>.
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Saving to asa.iset...
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Generating FeatureList...
-
-...
-
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span><span class="m">46</span>, <span class="m">44</span><span class="o">)</span> <span class="m">5</span>.871797<span class="o">[</span>dpi<span class="o">]</span>
-<span class="o">[</span>info<span class="o">]</span> Freak features - <span class="m">23</span><span class="o">[</span>info<span class="o">]</span> <span class="o">=========</span> <span class="nv">23</span> <span class="o">===========</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span><span class="m">37</span>, <span class="m">35</span><span class="o">)</span> <span class="m">4</span>.660448<span class="o">[</span>dpi<span class="o">]</span>
-<span class="o">[</span>info<span class="o">]</span> Freak features - <span class="m">19</span><span class="o">[</span>info<span class="o">]</span> <span class="o">=========</span> <span class="nv">19</span> <span class="o">===========</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span><span class="m">29</span>, <span class="m">28</span><span class="o">)</span> <span class="m">3</span>.699000<span class="o">[</span>dpi<span class="o">]</span>
-<span class="o">[</span>info<span class="o">]</span> Freak features - <span class="m">9</span><span class="o">[</span>info<span class="o">]</span> <span class="o">=========</span> <span class="nv">9</span> <span class="o">===========</span>
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Saving FeatureSet3...
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Generator finished at <span class="m">2020</span>-08-01 <span class="m">16</span>:02:02 +0580
---
-
-Finished marker creation!
-Now configuring demo!
-
-Finished!
-To run demo use: <span class="s1">&#39;npm run demo&#39;</span>
-</div></code></pre><p>Now we have the required files in the output folder</p><pre><code><div class="highlight"><span></span>$ ls output
-
-me.fset me.fset3 me.iset
-</div></code></pre><h2>Creating the HTML Page</h2><p>Create a new file called <code>index.html</code> in your project folder. This is the basic template we are going to use. Replace <code>me</code> with the root filename of your image, for example <code>NeverGonnaGiveYouUp.png</code> will become <code>NeverGonnaGiveYouUp</code>. Make sure you have copied all three files from the output folder in the previous step to the root of your project folder.</p><pre><code><div class="highlight"><span></span><span class="p">&lt;</span><span class="nt">script</span> <span class="na">src</span><span class="o">=</span><span class="s">&quot;https://cdn.jsdelivr.net/gh/aframevr/aframe@1c2407b26c61958baa93967b5412487cd94b290b/dist/aframe-master.min.js&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
-<span class="p">&lt;</span><span class="nt">script</span> <span class="na">src</span><span class="o">=</span><span class="s">&quot;https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
-
-<span class="p">&lt;</span><span class="nt">style</span><span class="p">&gt;</span>
- <span class="p">.</span><span class="nc">arjs-loader</span> <span class="p">{</span>
- <span class="k">height</span><span class="p">:</span> <span class="mi">100</span><span class="kt">%</span><span class="p">;</span>
- <span class="k">width</span><span class="p">:</span> <span class="mi">100</span><span class="kt">%</span><span class="p">;</span>
- <span class="k">position</span><span class="p">:</span> <span class="kc">absolute</span><span class="p">;</span>
- <span class="k">top</span><span class="p">:</span> <span class="mi">0</span><span class="p">;</span>
- <span class="k">left</span><span class="p">:</span> <span class="mi">0</span><span class="p">;</span>
- <span class="k">background-color</span><span class="p">:</span> <span class="nb">rgba</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">);</span>
- <span class="k">z-index</span><span class="p">:</span> <span class="mi">9999</span><span class="p">;</span>
- <span class="k">display</span><span class="p">:</span> <span class="kc">flex</span><span class="p">;</span>
- <span class="k">justify-content</span><span class="p">:</span> <span class="kc">center</span><span class="p">;</span>
- <span class="k">align-items</span><span class="p">:</span> <span class="kc">center</span><span class="p">;</span>
- <span class="p">}</span>
-
- <span class="p">.</span><span class="nc">arjs-loader</span> <span class="nt">div</span> <span class="p">{</span>
- <span class="k">text-align</span><span class="p">:</span> <span class="kc">center</span><span class="p">;</span>
- <span class="k">font-size</span><span class="p">:</span> <span class="mf">1.25</span><span class="kt">em</span><span class="p">;</span>
- <span class="k">color</span><span class="p">:</span> <span class="kc">white</span><span class="p">;</span>
- <span class="p">}</span>
-<span class="p">&lt;/</span><span class="nt">style</span><span class="p">&gt;</span>
-
-<span class="p">&lt;</span><span class="nt">body</span> <span class="na">style</span><span class="o">=</span><span class="s">&quot;margin : 0px; overflow: hidden;&quot;</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;arjs-loader&quot;</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>Calculating Image Descriptors....<span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
- <span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-scene</span>
- <span class="na">vr-mode-ui</span><span class="o">=</span><span class="s">&quot;enabled: false;&quot;</span>
- <span class="na">renderer</span><span class="o">=</span><span class="s">&quot;logarithmicDepthBuffer: true;&quot;</span>
- <span class="na">embedded</span>
- <span class="na">arjs</span><span class="o">=</span><span class="s">&quot;trackingMethod: best; sourceType: webcam;debugUIEnabled: false;&quot;</span>
- <span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-nft</span>
- <span class="na">type</span><span class="o">=</span><span class="s">&quot;nft&quot;</span>
- <span class="na">url</span><span class="o">=</span><span class="s">&quot;./me&quot;</span>
- <span class="na">smooth</span><span class="o">=</span><span class="s">&quot;true&quot;</span>
- <span class="na">smoothCount</span><span class="o">=</span><span class="s">&quot;10&quot;</span>
- <span class="na">smoothTolerance</span><span class="o">=</span><span class="s">&quot;.01&quot;</span>
- <span class="na">smoothThreshold</span><span class="o">=</span><span class="s">&quot;5&quot;</span>
- <span class="p">&gt;</span>
-
- <span class="p">&lt;/</span><span class="nt">a-nft</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-entity</span> <span class="na">camera</span><span class="p">&gt;&lt;/</span><span class="nt">a-entity</span><span class="p">&gt;</span>
- <span class="p">&lt;/</span><span class="nt">a-scene</span><span class="p">&gt;</span>
-<span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;</span>
-</div></code></pre><p>In this we are creating a AFrame scene and we are telling it that we want to use NFT Tracking. The amazing part about using AFrame is that we are able to use all AFrame objects!</p><h2>Adding a simple box</h2><p>Let us add a simple box!</p><pre><code><div class="highlight"><span></span><span class="p">&lt;</span><span class="nt">a-nft</span> <span class="err">.....</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-box</span> <span class="na">position</span><span class="o">=</span><span class="s">&#39;100 0.5 -180&#39;</span> <span class="na">material</span><span class="o">=</span><span class="s">&#39;opacity: 0.5; side: double&#39;</span> <span class="na">scale</span><span class="o">=</span><span class="s">&quot;100 100 100&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">a-box</span><span class="p">&gt;</span>
-<span class="p">&lt;/</span><span class="nt">a-nft</span><span class="p">&gt;</span>
-</div></code></pre><p>Now to test it out we will need to create a simple server, I use Python's inbuilt <code>SimpleHTTPServer</code> alongside <code>ngrok</code></p><p>In one terminal window, <code>cd</code> to the project directory. Currently your project folder should have 4 files, <code>index.html</code>, <code>me.fset3</code>, <code>me.fset</code> and <code>me.iset</code></p><p>Open up two terminal windows and <code>cd</code> into your project folder then run the following commands to start up your server.</p><p>In the first terminal window start the Python Server</p><pre><code><div class="highlight"><span></span>$ <span class="nb">cd</span> ~/CodingAndStuff/ARjs
-$ python2 -m SimpleHTTPServer
-
-Serving HTTP on <span class="m">0</span>.0.0.0 port <span class="m">8000</span> ...
-</div></code></pre><p>In the other window run <code>ngrok</code> ( Make sure you have installed it prior to running this step )</p><pre><code><div class="highlight"><span></span>$ ngrok http <span class="m">8000</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/posts/arjs/01-ngrok.png"/><p>Now copy the url to your phone and try running the example</p><img src="https://navanchauhan.github.io//assets/posts/arjs/02-box-demo.gif"/><p>👏 Congratulations! You just built an Augmented Reality experience using AR.js and AFrame</p><h2>Adding a Torus-Knot in the box</h2><p>Edit your <code>index.html</code></p><pre><code><div class="highlight"><span></span><span class="p">&lt;</span><span class="nt">a-nft</span> <span class="err">..</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-box</span> <span class="err">..</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-torus-knot</span> <span class="na">radius</span><span class="o">=</span><span class="s">&#39;0.26&#39;</span> <span class="na">radius-tubular</span><span class="o">=</span><span class="s">&#39;0.05&#39;</span> <span class="p">&gt;&lt;/</span><span class="nt">a-torus-knot</span><span class="p">&gt;</span>
- <span class="p">&lt;/</span> <span class="nt">a-box</span><span class="p">&gt;</span>
-<span class="p">&lt;/</span> <span class="nt">a-nft</span><span class="p">&gt;</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/posts/arjs/03-knot.png"/><h2>Where are the GIFs?</h2><p>Now that we know how to place a box in the scene and add a torus knot in it, what do we do next? We bring the classic internet back!</p><p><code>AFrame GIF Shader</code> is a gif shader for A-Frame created by mayognaise.</p><h3>First things first</h3><p>Add <code>&lt;script src="https://rawgit.com/mayognaise/aframe-gif-shader/master/dist/aframe-gif-shader.min.js"&gt;&lt;/script&gt; </code> to <code>&lt;head&gt;</code></p><p>Change the box's material to add the GIF shader</p><pre><code><div class="highlight"><span></span>...
-<span class="p">&lt;</span><span class="nt">a-box</span> <span class="na">position</span><span class="o">=</span><span class="s">&#39;100 0.5 -180&#39;</span> <span class="na">material</span><span class="o">=</span><span class="s">&quot;shader:gif;src:url(https://media.tenor.com/images/412b1aa9149d98d561df62db221e0789/tenor.gif);opacity:.5&quot;</span> <span class="err">.....</span><span class="p">&gt;</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/posts/arjs/04-nyan.gif"/><h2>Bonus Idea: Integrate it with GitHub's new profile Readme Feature!</h2><h3>1) Host the code using GitHub Pages</h3><h3>2) Create a new repository ( the name should be your GitHub username )</h3><h3>3) Add QR Code to the page and tell the users to scan your profile picture</h3><h3>??) Profit 💸</h3><p>Here is a screenshot of me scanning a rounded version of my profile picture ( It still works! Even though the image is cropped and I haven't changed any line of code )</p><img src="https://navanchauhan.github.io//assets/posts/arjs/05-GitHub.jpg"/>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-07-01-Install-rdkit-colab</guid><title>Installing RDKit on Google Colab</title><description>Install RDKit on Google Colab with one code snippet.</description><link>https://navanchauhan.github.io/posts/2020-07-01-Install-rdkit-colab</link><pubDate>Wed, 1 Jul 2020 14:23:00 +0530</pubDate><content:encoded><![CDATA[<h1>Installing RDKit on Google Colab</h1><p>RDKit is one of the most integral part of any Cheminfomatic specialist's toolkit but it is notoriously difficult to install unless you already have <code>conda</code> installed. I originally found this in a GitHub Gist but I have not been able to find that gist again :/</p><p>Just copy and paste this in a Colab cell and it will install it 👍</p><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">sys</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">requests</span>
-<span class="kn">import</span> <span class="nn">subprocess</span>
-<span class="kn">import</span> <span class="nn">shutil</span>
-<span class="kn">from</span> <span class="nn">logging</span> <span class="kn">import</span> <span class="n">getLogger</span><span class="p">,</span> <span class="n">StreamHandler</span><span class="p">,</span> <span class="n">INFO</span>
-
-
-<span class="n">logger</span> <span class="o">=</span> <span class="n">getLogger</span><span class="p">(</span><span class="vm">__name__</span><span class="p">)</span>
-<span class="n">logger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">StreamHandler</span><span class="p">())</span>
-<span class="n">logger</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">INFO</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">install</span><span class="p">(</span>
- <span class="n">chunk_size</span><span class="o">=</span><span class="mi">4096</span><span class="p">,</span>
- <span class="n">file_name</span><span class="o">=</span><span class="s2">&quot;Miniconda3-latest-Linux-x86_64.sh&quot;</span><span class="p">,</span>
- <span class="n">url_base</span><span class="o">=</span><span class="s2">&quot;https://repo.continuum.io/miniconda/&quot;</span><span class="p">,</span>
- <span class="n">conda_path</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s2">&quot;~&quot;</span><span class="p">,</span> <span class="s2">&quot;miniconda&quot;</span><span class="p">)),</span>
- <span class="n">rdkit_version</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
- <span class="n">add_python_path</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
- <span class="n">force</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
- <span class="sd">&quot;&quot;&quot;install rdkit from miniconda</span>
-<span class="sd"> ```</span>
-<span class="sd"> import rdkit_installer</span>
-<span class="sd"> rdkit_installer.install()</span>
-<span class="sd"> ```</span>
-<span class="sd"> &quot;&quot;&quot;</span>
-
- <span class="n">python_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
- <span class="n">conda_path</span><span class="p">,</span>
- <span class="s2">&quot;lib&quot;</span><span class="p">,</span>
- <span class="s2">&quot;python</span><span class="si">{0}</span><span class="s2">.</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">),</span>
- <span class="s2">&quot;site-packages&quot;</span><span class="p">,</span>
- <span class="p">)</span>
-
- <span class="k">if</span> <span class="n">add_python_path</span> <span class="ow">and</span> <span class="n">python_path</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="p">:</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;add </span><span class="si">{}</span><span class="s2"> to PYTHONPATH&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">python_path</span><span class="p">))</span>
- <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">python_path</span><span class="p">)</span>
-
- <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">python_path</span><span class="p">,</span> <span class="s2">&quot;rdkit&quot;</span><span class="p">)):</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;rdkit is already installed&quot;</span><span class="p">)</span>
- <span class="k">if</span> <span class="ow">not</span> <span class="n">force</span><span class="p">:</span>
- <span class="k">return</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;force re-install&quot;</span><span class="p">)</span>
-
- <span class="n">url</span> <span class="o">=</span> <span class="n">url_base</span> <span class="o">+</span> <span class="n">file_name</span>
- <span class="n">python_version</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">.</span><span class="si">{1}</span><span class="s2">.</span><span class="si">{2}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;python version: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">python_version</span><span class="p">))</span>
-
- <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">conda_path</span><span class="p">):</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;remove current miniconda&quot;</span><span class="p">)</span>
- <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">conda_path</span><span class="p">)</span>
- <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">conda_path</span><span class="p">):</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;remove </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conda_path</span><span class="p">))</span>
- <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">conda_path</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;fetching installer from </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">url</span><span class="p">))</span>
- <span class="n">res</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">stream</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
- <span class="n">res</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
- <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
- <span class="k">for</span> <span class="n">chunk</span> <span class="ow">in</span> <span class="n">res</span><span class="o">.</span><span class="n">iter_content</span><span class="p">(</span><span class="n">chunk_size</span><span class="p">):</span>
- <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">chunk</span><span class="p">)</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;done&#39;</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;installing miniconda to </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conda_path</span><span class="p">))</span>
- <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s2">&quot;bash&quot;</span><span class="p">,</span> <span class="n">file_name</span><span class="p">,</span> <span class="s2">&quot;-b&quot;</span><span class="p">,</span> <span class="s2">&quot;-p&quot;</span><span class="p">,</span> <span class="n">conda_path</span><span class="p">])</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;done&#39;</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;installing rdkit&quot;</span><span class="p">)</span>
- <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span>
- <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">conda_path</span><span class="p">,</span> <span class="s2">&quot;bin&quot;</span><span class="p">,</span> <span class="s2">&quot;conda&quot;</span><span class="p">),</span>
- <span class="s2">&quot;install&quot;</span><span class="p">,</span>
- <span class="s2">&quot;--yes&quot;</span><span class="p">,</span>
- <span class="s2">&quot;-c&quot;</span><span class="p">,</span> <span class="s2">&quot;rdkit&quot;</span><span class="p">,</span>
- <span class="s2">&quot;python==</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">python_version</span><span class="p">),</span>
- <span class="s2">&quot;rdkit&quot;</span> <span class="k">if</span> <span class="n">rdkit_version</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="s2">&quot;rdkit==</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">rdkit_version</span><span class="p">)])</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;done&quot;</span><span class="p">)</span>
-
- <span class="kn">import</span> <span class="nn">rdkit</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;rdkit-</span><span class="si">{}</span><span class="s2"> installation finished!&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">rdkit</span><span class="o">.</span><span class="n">__version__</span><span class="p">))</span>
-
-
-<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
- <span class="n">install</span><span class="p">()</span>
-</div></code></pre>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS</guid><title>Compiling AutoDock Vina on iOS</title><description>Compiling AutoDock Vina on iOS</description><link>https://navanchauhan.github.io/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS</link><pubDate>Tue, 2 Jun 2020 23:23:00 +0530</pubDate><content:encoded><![CDATA[<h1>Compiling AutoDock Vina on iOS</h1><p>Why? Because I can.</p><h2>Installing makedepend</h2><p><code>makedepend</code> is a Unix tool used to generate dependencies of C source files. Most modern programs do not use this anymore, but then again AutoDock Vina's source code hasn't been changed since 2011. The first hurdle came when I saw that there was no makedepend command, neither was there any package on any development repository for iOS. So, I tracked down the original source code for <code>makedepend</code> (https://github.com/DerellLicht/makedepend). According to the repository this is actually the source code for the makedepend utility that came with some XWindows distribution back around Y2K. I am pretty sure there is a problem with my current compiler configuration because I had to manually edit the <code>Makefile</code> to provide the path to the iOS SDKs using the <code>-isysroot</code> flag.</p><h2>Editing the Makefile</h2><p>Original Makefile ( I used the provided mac Makefile base )</p><pre><code><div class="highlight"><span></span><span class="nv">BASE</span><span class="o">=</span>/usr/local
-<span class="nv">BOOST_VERSION</span><span class="o">=</span>1_41
-<span class="nv">BOOST_INCLUDE</span> <span class="o">=</span> <span class="k">$(</span>BASE<span class="k">)</span>/include
-<span class="nv">C_PLATFORM</span><span class="o">=</span>-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min<span class="o">=</span><span class="m">10</span>.4
-<span class="nv">GPP</span><span class="o">=</span>/usr/bin/g++
-<span class="nv">C_OPTIONS</span><span class="o">=</span> -O3 -DNDEBUG
-<span class="nv">BOOST_LIB_VERSION</span><span class="o">=</span>
-
-include ../../makefile_common
-</div></code></pre><p>I installed Boost 1.68.0-1 from Sam Bingner's repository. ( Otherwise I would have had to compile boost too 😫 )</p><p>Edited Makefile</p><pre><code><div class="highlight"><span></span><span class="nv">BASE</span><span class="o">=</span>/usr
-<span class="nv">BOOST_VERSION</span><span class="o">=</span>1_68
-<span class="nv">BOOST_INCLUDE</span> <span class="o">=</span> <span class="k">$(</span>BASE<span class="k">)</span>/include
-<span class="nv">C_PLATFORM</span><span class="o">=</span>-arch arm64 -isysroot /var/sdks/Latest.sdk
-<span class="nv">GPP</span><span class="o">=</span>/usr/bin/g++
-<span class="nv">C_OPTIONS</span><span class="o">=</span> -O3 -DNDEBUG
-<span class="nv">BOOST_LIB_VERSION</span><span class="o">=</span>
-
-include ../../makefile_common
-</div></code></pre><h2>Updating the Source Code</h2><p>Of course since Boost 1.41 many things have been added and deprecated, that is why I had to edit the source code to make it work with version 1.68</p><h3>Error 1 - No Matching Constructor</h3><pre><code><div class="highlight"><span></span>../../../src/main/main.cpp:50:9: error: no matching constructor <span class="k">for</span> initialization of <span class="s1">&#39;path&#39;</span> <span class="o">(</span>aka <span class="s1">&#39;boost::filesystem::path&#39;</span><span class="o">)</span>
-<span class="k">return</span> path<span class="o">(</span>str, boost::filesystem::native<span class="o">)</span><span class="p">;</span>
-</div></code></pre><p>This was an easy fix, I just commented this and added a return statement to return the path</p><pre><code><div class="highlight"><span></span><span class="k">return</span> path<span class="o">(</span>str<span class="o">)</span>
-</div></code></pre><h3>Error 2 - No Member Named 'native<em>file</em>string'</h3><pre><code><div class="highlight"><span></span>../../../src/main/main.cpp:665:57: error: no member named <span class="s1">&#39;native_file_string&#39;</span> in <span class="s1">&#39;boost::filesystem::path&#39;</span>
- std::cerr &lt;&lt; <span class="s2">&quot;\n\nError: could not open \&quot;&quot;</span> <span class="s">&lt;&lt; e.name</span>.native_file_string<span class="o">()</span> &lt;&lt; <span class="s2">&quot;\&quot; for &quot;</span> &lt;&lt; <span class="o">(</span>e.in ? <span class="s2">&quot;reading&quot;</span> : <span class="s2">&quot;writing&quot;</span><span class="o">)</span> &lt;&lt; <span class="s2">&quot;.\n&quot;</span><span class="p">;</span>
- ~~~~~~ ^
-../../../src/main/main.cpp:677:80: error: no member named <span class="s1">&#39;native_file_string&#39;</span> in <span class="s1">&#39;boost::filesystem::path&#39;</span>
- std::cerr &lt;&lt; <span class="s2">&quot;\n\nParse error on line &quot;</span> <span class="s">&lt;&lt; e.line</span> &lt;&lt; <span class="s2">&quot; in file \&quot;&quot;</span> <span class="s">&lt;&lt; e.file</span>.native_file_string<span class="o">()</span> &lt;&lt; <span class="s2">&quot;\&quot;: &quot;</span> <span class="s">&lt;&lt; e.re</span>ason <span class="s">&lt;&lt; &#39;\n&#39;;</span>
-<span class="s"> ~~~~~~ ^</span>
-<span class="s">2 errors gen</span>erated.
-</div></code></pre><p>Turns out <code>native_file_string</code> was deprecated in Boost 1.57 and replaced with just <code>string</code></p><h3>Error 3 - Library Not Found</h3><p>This one still boggles me because there was no reason for it to not work, as a workaround I downloaded the DEB, extracted it and used that path for compiling.</p><h3>Error 4 - No Member Named 'native<em>file</em>string' Again.</h3><p>But, this time in another file and I quickly fixed it</p><h2>Moment of Truth</h2><p>Obviously it was working on my iPad, but would it work on another device? I transferred the compiled binary and</p><img src="https://navanchauhan.github.io//assets/posts/autodock-vina/s1.png" alt=""AutoDock Vina running on my iPhone""/><p>The package is available on my repository and only depends on boost. ( Both, Vina and Vina-Split are part of the package)</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL</guid><title>Workflow for Lightning Fast Molecular Docking Part One</title><description>This is my workflow for lightning fast molecular docking.</description><link>https://navanchauhan.github.io/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL</link><pubDate>Mon, 1 Jun 2020 13:10:00 +0530</pubDate><content:encoded><![CDATA[<h1>Workflow for Lightning Fast Molecular Docking Part One</h1><h2>My Setup</h2><ul><li>macOS Catalina ( RIP 32bit app)</li><li>PyMOL</li><li>AutoDock Vina</li><li>Open Babel</li></ul><h2>One Command Docking</h2><pre><code><div class="highlight"><span></span>obabel -:<span class="s2">&quot;</span><span class="k">$(</span>pbpaste<span class="k">)</span><span class="s2">&quot;</span> --gen3d -opdbqt -Otest.pdbqt <span class="o">&amp;&amp;</span> vina --receptor lu.pdbqt --center_x -9.7 --center_y <span class="m">11</span>.4 --center_z <span class="m">68</span>.9 --size_x <span class="m">19</span>.3 --size_y <span class="m">29</span>.9 --size_z <span class="m">21</span>.3 --ligand test.pdbqt
-</div></code></pre><p>To run this command you simple copy the SMILES structure of the ligand you want an it automatically takes it from your clipboard, generates the 3D structure in the AutoDock PDBQT format using Open Babel and then docks it with your receptor using AutoDock Vina, all with just one command.</p><p>Let me break down the commands</p><pre><code><div class="highlight"><span></span>obabel -:<span class="s2">&quot;</span><span class="k">$(</span>pbpaste<span class="k">)</span><span class="s2">&quot;</span> --gen3d -opdbqt -Otest.pdbqt
-</div></code></pre><p><code>pbpaste</code> and <code>pbcopy</code> are macOS commands for pasting and copying from and to the clipboard. Linux users may install the <code>xclip</code> and <code>xsel</code> packages from their respective package managers and then insert these aliases into their bash_profile, zshrc e.t.c</p><pre><code><div class="highlight"><span></span><span class="nb">alias</span> <span class="nv">pbcopy</span><span class="o">=</span><span class="s1">&#39;xclip -selection clipboard&#39;</span>
-<span class="nb">alias</span> <span class="nv">pbpaste</span><span class="o">=</span><span class="s1">&#39;xclip -selection clipboard -o&#39;</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="k">$(</span>pbpaste<span class="k">)</span>
-</div></code></pre><p>This is used in bash to evaluate the results of a command. In this scenario we are using it to get the contents of the clipboard.</p><p>The rest of the command is a normal Open Babel command to generate a 3D structure in PDBQT format and then save it as <code>test.pdbqt</code></p><pre><code><div class="highlight"><span></span><span class="o">&amp;&amp;</span>
-</div></code></pre><p>This tells the terminal to only run the next part if the previous command runs successfully without any errors.</p><pre><code><div class="highlight"><span></span>vina --receptor lu.pdbqt --center_x -9.7 --center_y <span class="m">11</span>.4 --center_z <span class="m">68</span>.9 --size_x <span class="m">19</span>.3 --size_y <span class="m">29</span>.9 --size_z <span class="m">21</span>.3 --ligand test.pdbqt
-</div></code></pre><p>This is just the docking command for AutoDock Vina. In the next part I will tell how to use PyMOL and a plugin to directly generate the coordinates in Vina format <code> --center_x -9.7 --center_y 11.4 --center_z 68.9 --size_x 19.3 --size_y 29.9 --size_z 21.3</code> without needing to type them manually.</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-05-31-compiling-open-babel-on-ios</guid><title>Compiling Open Babel on iOS</title><description>Compiling Open Babel on iOS</description><link>https://navanchauhan.github.io/posts/2020-05-31-compiling-open-babel-on-ios</link><pubDate>Sun, 31 May 2020 23:30:00 +0530</pubDate><content:encoded><![CDATA[<h1>Compiling Open Babel on iOS</h1><p>Due to the fact that my summer vacations started today, I had the brilliant idea of trying to run open babel on my iPad. To give a little background, I had tried to compile AutoDock Vina using a cross-compiler but I had miserably failed.</p><p>I am running the Checkr1n jailbreak on my iPad and the Unc0ver jailbreak on my phone.</p><h2>But Why?</h2><p>Well, just because I can. This is literally the only reason I tried compiling it and also partially because in the long run I want to compile AutoDock Vina so I can do Molecular Docking on the go.</p><h2>Let's Go!</h2><p>How hard can it be to compile open babel right? It is just a simple software with clear and concise build instructions. I just need to use <code>cmake</code> to build and the <code>make</code> to install.</p><p>It is 11 AM in the morning. I install <code>clang, cmake and make</code> from the Sam Bingner's repository, fired up ssh, downloaded the source code and ran the build command.`clang</p><h3>Fail No. 1</h3><p>I couldn't even get cmake to run, I did a little digging around StackOverflow and founf that I needed the iOS SDK, sure no problem. I waited for Xcode to update and transferred the SDKs to my iPad</p><pre><code><div class="highlight"><span></span>scp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk root@192.168.1.8:/var/sdks/
-</div></code></pre><p>Them I told cmake that this is the location for my SDK 😠. Successful! Now I just needed to use make.</p><h3>Fail No. 2</h3><p>It was giving the error that thread-local-storage was not supported on this device.</p><pre><code><div class="highlight"><span></span><span class="o">[</span> <span class="m">0</span>%<span class="o">]</span> Building CXX object src/CMakeFiles/openbabel.dir/alias.cpp.o
-<span class="o">[</span> <span class="m">1</span>%<span class="o">]</span> Building CXX object src/CMakeFiles/openbabel.dir/atom.cpp.o
-In file included from /var/root/obabel/ob-src/src/atom.cpp:28:
-In file included from /var/root/obabel/ob-src/include/openbabel/ring.h:29:
-/var/root/obabel/ob-src/include/openbabel/typer.h:70:1: error: thread-local storage is not supported <span class="k">for</span> the current target
-THREAD_LOCAL OB_EXTERN OBAtomTyper atomtyper<span class="p">;</span>
-^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-In file included from /var/root/obabel/ob-src/src/atom.cpp:28:
-In file included from /var/root/obabel/ob-src/include/openbabel/ring.h:29:
-/var/root/obabel/ob-src/include/openbabel/typer.h:84:1: error: thread-local storage is not supported <span class="k">for</span> the current target
-THREAD_LOCAL OB_EXTERN OBAromaticTyper aromtyper<span class="p">;</span>
-^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-/var/root/obabel/ob-src/src/atom.cpp:107:10: error: thread-local storage is not supported <span class="k">for</span> the current target
- extern THREAD_LOCAL OBAromaticTyper aromtyper<span class="p">;</span>
- ^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-/var/root/obabel/ob-src/src/atom.cpp:108:10: error: thread-local storage is not supported <span class="k">for</span> the current target
- extern THREAD_LOCAL OBAtomTyper atomtyper<span class="p">;</span>
- ^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-/var/root/obabel/ob-src/src/atom.cpp:109:10: error: thread-local storage is not supported <span class="k">for</span> the current target
- extern THREAD_LOCAL OBPhModel phmodel<span class="p">;</span>
- ^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-<span class="m">5</span> errors generated.
-make<span class="o">[</span><span class="m">2</span><span class="o">]</span>: *** <span class="o">[</span>src/CMakeFiles/openbabel.dir/build.make:76: src/CMakeFiles/openbabel.dir/atom.cpp.o<span class="o">]</span> Error <span class="m">1</span>
-make<span class="o">[</span><span class="m">1</span><span class="o">]</span>: *** <span class="o">[</span>CMakeFiles/Makefile2:1085: src/CMakeFiles/openbabel.dir/all<span class="o">]</span> Error <span class="m">2</span>
-make: *** <span class="o">[</span>Makefile:129: all<span class="o">]</span> Error <span class="m">2</span>
-</div></code></pre><p>Strange but it is alright, there is nothing that hasn't been answered on the internet.</p><p>I did a little digging around and could not find a solution 😔</p><p>As a temporary fix, I disabled multithreading by going and commenting the lines in the source code.</p><img src="https://navanchauhan.github.io//assets/posts/open-babel/s1.png" alt=""Open-Babel running on my iPad""/><h2>Packaging as a deb</h2><p>This was pretty straight forward, I tried installing it on my iPad and it was working pretty smoothly.</p><h2>Moment of Truth</h2><p>So I airdropped the .deb to my phone and tried installing it, the installation was successful but when I tried <code>obabel</code> it just aborted.</p><img src="https://navanchauhan.github.io//assets/posts/open-babel/s2.jpg" alt=""Open Babel crashing""/><p>Turns out because I had created an install target of a separate folder while compiling, the binaries were referencing a non-existing dylib rather than those in the /usr/lib folder. As a quick workaround I transferred the deb folder to my laptop and used otool and install_name tool: <code>install_name_tool -change /var/root/obabel/ob-build/lib/libopenbabel.7.dylib /usr/lib/libopenbabel.7.dylib</code> for all the executables and then signed them using jtool</p><p>I then installed it and everything went smoothly, I even ran <code>obabel</code> and it executed perfectly, showing the version number 3.1.0 ✌️ Ahh, smooth victory.</p><p>Nope. When I tried converting from SMILES to pdbqt, it gave an error saying plugin not found. This was weird.</p><img src="https://navanchauhan.github.io//assets/posts/open-babel/s3.jpg" alt=""Open Babel Plugin Error""/><p>So I just copied the entire build folder from my iPad to my phone and tried running it. Oops, Apple Sandbox Error, Oh no!</p><p>I spent 2 hours around this problem, only to see the documentation and realise I hadn't setup the environment variable 🤦‍♂️</p><h2>The Final Fix ( For Now )</h2><pre><code><div class="highlight"><span></span><span class="nb">export</span> <span class="nv">BABEL_DATADIR</span><span class="o">=</span><span class="s2">&quot;/usr/share/openbabel/3.1.0&quot;</span>
-<span class="nb">export</span> <span class="nv">BABEL_LIBDIR</span><span class="o">=</span><span class="s2">&quot;/usr/lib/openbabel/3.1.0&quot;</span>
-</div></code></pre><p>This was the tragedy of trying to compile something without knowing enough about compiling. It is 11:30 as of writing this. Something as trivial as this should not have taken me so long. Am I going to try to compile AutoDock Vina next? 🤔 Maybe.</p><p>Also, if you want to try Open Babel on you jailbroken iDevice, install the package from my repository ( You, need to run the above mentioned final fix :p ). This was tested on iOS 13.5, I cannot tell if it will work on others or not.</p><p>Hopefully, I add some more screenshots to this post.</p><p>Edit 1: Added Screenshots, had to replicate the errors.</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS</guid><title>Fixing X11 Error on macOS Catalina for AmberTools 18/19</title><description>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</description><link>https://navanchauhan.github.io/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS</link><pubDate>Mon, 13 Apr 2020 11:41:00 +0530</pubDate><content:encoded><![CDATA[<h1>Fixing X11 Error on macOS Catalina for AmberTools 18/19</h1><p>I was trying to install AmberTools on my macOS Catalina Installation. Running <code>./configure -macAccelerate clang</code> gave me an error that it could not find X11 libraries, even though <code>locate libXt</code> showed that my installation was correct.</p><p>Error:</p><pre><code><div class="highlight"><span></span>Could not find the X11 libraries<span class="p">;</span> you may need to edit config.h
- to <span class="nb">set</span> the XHOME and XLIBS variables.
-Error: The X11 libraries are not in the usual location !
- To search <span class="k">for</span> them try the command: locate libXt
- On new Fedora OS<span class="s1">&#39;s install the libXt-devel libXext-devel</span>
-<span class="s1"> libX11-devel libICE-devel libSM-devel packages.</span>
-<span class="s1"> On old Fedora OS&#39;</span>s install the xorg-x11-devel package.
- On RedHat OS<span class="s1">&#39;s install the XFree86-devel package.</span>
-<span class="s1"> On Ubuntu OS&#39;</span>s install the xorg-dev and xserver-xorg packages.
-
- ...more info <span class="k">for</span> various linuxes at ambermd.org/ubuntu.html
-
- To build Amber without XLEaP, re-run configure with <span class="err">&#39;</span>-noX11:
- ./configure -noX11 --with-python /usr/local/bin/python3 -macAccelerate clang
-Configure failed due to the errors above!
-</div></code></pre><p>I searched on Google for a solution. Sadly, there was not even a single thread which had a solution about this error.</p><h2>The Fix</h2><p>Simply reinstalling XQuartz using homebrew fixed the error <code>brew cask reinstall xquartz</code></p><p>If you do not have XQuartz installed, you need to run <code>brew cask install xquartz</code></p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/publications/2020-03-17-Possible-Drug-Candidates-COVID-19</guid><title>Possible Drug Candidates for COVID-19</title><description>COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered.</description><link>https://navanchauhan.github.io/publications/2020-03-17-Possible-Drug-Candidates-COVID-19</link><pubDate>Tue, 17 Mar 2020 17:40:00 +0530</pubDate><content:encoded><![CDATA[<h1>Possible Drug Candidates for COVID-19</h1><p>This is still a pre-print.</p><p><a href="https://chemrxiv.org/articles/Possible_Drug_Candidates_for_COVID-19/11985231">Download paper here</a></p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/publications/2020-03-14-generating-vaporwave</guid><title>Is it possible to programmatically generate Vaporwave?</title><description>This paper is about programmaticaly generating Vaporwave.</description><link>https://navanchauhan.github.io/publications/2020-03-14-generating-vaporwave</link><pubDate>Sat, 14 Mar 2020 22:23:00 +0530</pubDate><content:encoded><![CDATA[<h1>Is it possible to programmatically generate Vaporwave?</h1><p>This is still a pre-print.</p><p><a href="https://indiarxiv.org/9um2r/">Download paper here</a></p><p>Recommended citation:</p><h3>APA</h3><pre><code><div class="highlight"><span></span>Chauhan, N. <span class="o">(</span><span class="m">2020</span>, March <span class="m">15</span><span class="o">)</span>. Is it possible to programmatically generate Vaporwave?. https://doi.org/10.35543/osf.io/9um2r
-</div></code></pre><h3>MLA</h3><pre><code><div class="highlight"><span></span>Chauhan, Navan. “Is It Possible to Programmatically Generate Vaporwave?.” IndiaRxiv, <span class="m">15</span> Mar. <span class="m">2020</span>. Web.
-</div></code></pre><h3>Chicago</h3><pre><code><div class="highlight"><span></span>Chauhan, Navan. <span class="m">2020</span>. “Is It Possible to Programmatically Generate Vaporwave?.” IndiaRxiv. March <span class="m">15</span>. doi:10.35543/osf.io/9um2r.
-</div></code></pre><h3>Bibtex</h3><pre><code><div class="highlight"><span></span>@misc<span class="o">{</span>chauhan_2020,
- <span class="nv">title</span><span class="o">={</span>Is it possible to programmatically generate Vaporwave?<span class="o">}</span>,
- <span class="nv">url</span><span class="o">={</span>indiarxiv.org/9um2r<span class="o">}</span>,
- <span class="nv">DOI</span><span class="o">={</span><span class="m">10</span>.35543/osf.io/9um2r<span class="o">}</span>,
- <span class="nv">publisher</span><span class="o">={</span>IndiaRxiv<span class="o">}</span>,
- <span class="nv">author</span><span class="o">={</span>Chauhan, Navan<span class="o">}</span>,
- <span class="nv">year</span><span class="o">={</span><span class="m">2020</span><span class="o">}</span>,
- <span class="nv">month</span><span class="o">={</span>Mar<span class="o">}</span>
-<span class="o">}</span>
-</div></code></pre>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-03-08-Making-Vaporwave-Track</guid><title>Making My First Vaporwave Track (Remix)</title><description>I made my first vaporwave remix</description><link>https://navanchauhan.github.io/posts/2020-03-08-Making-Vaporwave-Track</link><pubDate>Sun, 8 Mar 2020 23:17:00 +0530</pubDate><content:encoded><![CDATA[<h1>Making My First Vaporwave Track (Remix)</h1><p>I finally completed my first quick and dirty vaporwave remix of "I Want It That Way" by the Backstreet Boys</p><h1>V A P O R W A V E</h1><p>Vaporwave is all about A E S T H E T I C S. Vaporwave is a type of music genre that emerged as a parody of Chillwave, shared more as a meme rather than a proper musical genre. Of course this changed as the genre become mature</p><h1>How to Vaporwave</h1><p>The first track which is considered to be actual Vaporwave is Ramona Xavier's Macintosh Plus, this set the the guidelines for making Vaporwave</p><ul><li>Take a 1980s RnB song</li><li>Slow it down</li><li>Add Bass and Treble</li><li>Add again</li><li>Add Reverb ( make sure its wet )</li></ul><p>There you have your very own Vaporwave track.</p><p>( Now, there are some tracks being produced which are not remixes and are original )</p><h1>My Remix</h1><iframe width="300" height="202" src="https://www.bandlab.com/embed/?id=aa91e786-6361-ea11-a94c-0003ffd1cad8&blur=false" frameborder="0" allowfullscreen></iframe><h1>Where is the Programming?</h1><p>The fact that there are steps on producing Vaporwave, this gave me the idea that Vaporwave can actually be made using programming, stay tuned for when I publish the program which I am working on ( Generating A E S T H E T I C artwork and remixes)</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-03-03-Playing-With-Android-TV</guid><title>Tinkering with an Android TV</title><description>Tinkering with an Android TV</description><link>https://navanchauhan.github.io/posts/2020-03-03-Playing-With-Android-TV</link><pubDate>Tue, 3 Mar 2020 18:37:00 +0530</pubDate><content:encoded><![CDATA[<h1>Tinkering with an Android TV</h1><p>So I have an Android TV, this posts covers everything I have tried on it</p><h2>Contents</h2><ol><li><a href="#IP-Address">Getting TV's IP Address</a></li><li><a href="#Developer-Settings">Enable Developer Settings</a></li><li><a href="#Enable-ADB">Enable ADB</a></li><li><a href="#Connect-ADB">Connect ADB</a></li><li><a href="#">Manipulating Packages</a></li></ol><h2>IP-Address</h2><p><em>These steps should be similar for all Android-TVs</em></p><ul><li>Go To Settings</li><li>Go to Network</li><li>Advanced Settings</li><li>Network Status</li><li>Note Down IP-Address</li></ul><p>The other option is to go to your router's server page and get connected devices</p><h2>Developer-Settings</h2><ul><li>Go To Settings</li><li>About</li><li>Continously click on the "Build" option until it says "You are a Developer"</li></ul><h2>Enable-ADB</h2><ul><li>Go to Settings</li><li>Go to Developer Options</li><li>Scroll untill you find ADB Debugging and enable that option</li></ul><h2>Connect-ADB</h2><ul><li>Open Terminal (Make sure you have ADB installed)</li><li>Enter the following command <code>adb connect &lt;IP_ADDRESS&gt;</code></li><li>To test the connection run <code>adb logcat</code></li></ul><h2>Manipulating Apps / Packages</h2><h3>Listing Packages</h3><ul><li><code>adb shell</code></li><li><code>pm list packages</code></li></ul><h3>Installing Packages</h3><ul><li><code>adb install -r package.apk</code></li></ul><h3>Uninstalling Packages</h3><ul><li><code>adb uninstall com.company.yourpackagename</code></li></ul>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal</guid><title>How to setup Bluetooth on a Raspberry Pi</title><description>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</description><link>https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal</link><pubDate>Sun, 19 Jan 2020 15:27:00 +0530</pubDate><content:encoded><![CDATA[<h1>How to setup Bluetooth on a Raspberry Pi</h1><p><em>This was tested on a Raspberry Pi Zero W</em></p><h2>Enter in the Bluetooth Mode</h2><p><code>pi@raspberrypi:~ $ bluetoothctl</code></p><p><code>[bluetooth]# agent on</code></p><p><code>[bluetooth]# default-agent</code></p><p><code>[bluetooth]# scan on</code></p><h2>To Pair</h2><p>While being in bluetooth mode</p><p><code>[bluetooth]# pair XX:XX:XX:XX:XX:XX</code></p><p>To Exit out of bluetoothctl anytime, just type exit</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreate</guid><title>Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</title><description>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</description><link>https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreate</link><pubDate>Thu, 16 Jan 2020 10:36:00 +0530</pubDate><content:encoded><![CDATA[<h1>Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</h1><p><em>For setting up Kaggle with Google Colab, please refer to <a href="https://navanchauhan.github.io//posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/"> my previous post</a></em></p><h2>Dataset</h2><h3>Mounting Google Drive</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">from</span> <span class="nn">google.colab</span> <span class="kn">import</span> <span class="n">drive</span>
-<span class="n">drive</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="s1">&#39;/content/drive&#39;</span><span class="p">)</span>
-</div></code></pre><h3>Downloading Dataset from Kaggle</h3><pre><code><div class="highlight"><span></span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">&#39;KAGGLE_CONFIG_DIR&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;/content/drive/My Drive/&quot;</span>
-<span class="err">!</span><span class="n">kaggle</span> <span class="n">datasets</span> <span class="n">download</span> <span class="n">ashutosh69</span><span class="o">/</span><span class="n">fire</span><span class="o">-</span><span class="ow">and</span><span class="o">-</span><span class="n">smoke</span><span class="o">-</span><span class="n">dataset</span>
-<span class="err">!</span><span class="n">unzip</span> <span class="s2">&quot;fire-and-smoke-dataset.zip&quot;</span>
-</div></code></pre><h2>Pre-Processing</h2><pre><code><div class="highlight"><span></span><span class="nt">!mkdir</span><span class="na"> default smoke fire</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">!ls</span><span class="na"> data/data/img_data/train/default/*.jpg</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">img_1002.jpg</span><span class="na"> img_20.jpg img_519.jpg img_604.jpg img_80.jpg</span>
-<span class="na">img_1003.jpg img_21.jpg img_51.jpg img_60.jpg img_8.jpg</span>
-<span class="na">img_1007.jpg img_22.jpg img_520.jpg img_61.jpg img_900.jpg</span>
-<span class="na">img_100.jpg img_23.jpg img_521.jpg &#39;img_62 (2).jpg&#39; img_920.jpg</span>
-<span class="na">img_1014.jpg img_24.jpg &#39;img_52 (2).jpg&#39; img_62.jpg img_921.jpg</span>
-<span class="na">img_1018.jpg img_29.jpg img_522.jpg &#39;img_63 (2).jpg&#39; img_922.jpg</span>
-<span class="na">img_101.jpg img_3000.jpg img_523.jpg img_63.jpg img_923.jpg</span>
-<span class="na">img_1027.jpg img_335.jpg img_524.jpg img_66.jpg img_924.jpg</span>
-<span class="na">img_102.jpg img_336.jpg img_52.jpg img_67.jpg img_925.jpg</span>
-<span class="na">img_1042.jpg img_337.jpg img_530.jpg img_68.jpg img_926.jpg</span>
-<span class="na">img_1043.jpg img_338.jpg img_531.jpg img_700.jpg img_927.jpg</span>
-<span class="na">img_1046.jpg img_339.jpg &#39;img_53 (2).jpg&#39; img_701.jpg img_928.jpg</span>
-<span class="na">img_1052.jpg img_340.jpg img_532.jpg img_702.jpg img_929.jpg</span>
-<span class="na">img_107.jpg img_341.jpg img_533.jpg img_703.jpg img_930.jpg</span>
-<span class="na">img_108.jpg img_3.jpg img_537.jpg img_704.jpg img_931.jpg</span>
-<span class="na">img_109.jpg img_400.jpg img_538.jpg img_705.jpg img_932.jpg</span>
-<span class="na">img_10.jpg img_471.jpg img_539.jpg img_706.jpg img_933.jpg</span>
-<span class="na">img_118.jpg img_472.jpg img_53.jpg img_707.jpg img_934.jpg</span>
-<span class="na">img_12.jpg img_473.jpg img_540.jpg img_708.jpg img_935.jpg</span>
-<span class="na">img_14.jpg img_488.jpg img_541.jpg img_709.jpg img_938.jpg</span>
-<span class="na">img_15.jpg img_489.jpg &#39;img_54 (2).jpg&#39; img_70.jpg img_958.jpg</span>
-<span class="na">img_16.jpg img_490.jpg img_542.jpg img_710.jpg img_971.jpg</span>
-<span class="na">img_17.jpg img_491.jpg img_543.jpg &#39;img_71 (2).jpg&#39; img_972.jpg</span>
-<span class="na">img_18.jpg img_492.jpg img_54.jpg img_71.jpg img_973.jpg</span>
-<span class="na">img_19.jpg img_493.jpg &#39;img_55 (2).jpg&#39; img_72.jpg img_974.jpg</span>
-<span class="na">img_1.jpg img_494.jpg img_55.jpg img_73.jpg img_975.jpg</span>
-<span class="na">img_200.jpg img_495.jpg img_56.jpg img_74.jpg img_980.jpg</span>
-<span class="na">img_201.jpg img_496.jpg img_57.jpg img_75.jpg img_988.jpg</span>
-<span class="na">img_202.jpg img_497.jpg img_58.jpg img_76.jpg img_9.jpg</span>
-<span class="na">img_203.jpg img_4.jpg img_59.jpg img_77.jpg</span>
-<span class="na">img_204.jpg img_501.jpg img_601.jpg img_78.jpg</span>
-<span class="na">img_205.jpg img_502.jpg img_602.jpg img_79.jpg</span>
-<span class="na">img_206.jpg img_50.jpg img_603.jpg img_7.jpg</span>
-</div></code></pre><p>The image files are not actually JPEG, thus we first need to save them in the correct format for Turicreate</p><pre><code><div class="highlight"><span></span><span class="kn">from</span> <span class="nn">PIL</span> <span class="kn">import</span> <span class="n">Image</span>
-<span class="kn">import</span> <span class="nn">glob</span>
-
-
-<span class="n">folders</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;default&quot;</span><span class="p">,</span><span class="s2">&quot;smoke&quot;</span><span class="p">,</span><span class="s2">&quot;fire&quot;</span><span class="p">]</span>
-<span class="k">for</span> <span class="n">folder</span> <span class="ow">in</span> <span class="n">folders</span><span class="p">:</span>
- <span class="n">n</span> <span class="o">=</span> <span class="mi">1</span>
- <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s2">&quot;./data/data/img_data/train/&quot;</span> <span class="o">+</span> <span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/*.jpg&quot;</span><span class="p">):</span>
- <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
- <span class="n">rgb_im</span> <span class="o">=</span> <span class="n">im</span><span class="o">.</span><span class="n">convert</span><span class="p">(</span><span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">rgb_im</span><span class="o">.</span><span class="n">save</span><span class="p">((</span><span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.jpg&quot;</span><span class="p">),</span> <span class="n">quality</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
- <span class="n">n</span> <span class="o">+=</span><span class="mi">1</span>
- <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s2">&quot;./data/data/img_data/train/&quot;</span> <span class="o">+</span> <span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/*.jpg&quot;</span><span class="p">):</span>
- <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
- <span class="n">rgb_im</span> <span class="o">=</span> <span class="n">im</span><span class="o">.</span><span class="n">convert</span><span class="p">(</span><span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">rgb_im</span><span class="o">.</span><span class="n">save</span><span class="p">((</span><span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.jpg&quot;</span><span class="p">),</span> <span class="n">quality</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
- <span class="n">n</span> <span class="o">+=</span><span class="mi">1</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">!mkdir</span><span class="na"> train</span>
-<span class="na">!mv default ./train</span>
-<span class="na">!mv smoke ./train</span>
-<span class="na">!mv fire ./train</span>
-</div></code></pre><h2>Making the Image Classifier</h2><h3>Making an SFrame</h3><pre><code><div class="highlight"><span></span><span class="nt">!pip</span><span class="na"> install turicreate</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">turicreate</span> <span class="k">as</span> <span class="nn">tc</span>
-<span class="kn">import</span> <span class="nn">os</span>
-
-<span class="n">data</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">image_analysis</span><span class="o">.</span><span class="n">load_images</span><span class="p">(</span><span class="s2">&quot;./train&quot;</span><span class="p">,</span> <span class="n">with_path</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-<span class="n">data</span><span class="p">[</span><span class="s2">&quot;label&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s2">&quot;path&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">path</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">path</span><span class="p">)))</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">&#39;fire-smoke.sframe&#39;</span><span class="p">)</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">+-------------------------+------------------------+</span>
-<span class="err">| path | image |</span>
-<span class="nt">+-------------------------+------------------------+</span>
-<span class="err">| ./train/default/1.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/10.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/100.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/101.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/102.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/103.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/104.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/105.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/106.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/107.jpg | Height: 224 Width: 224 |</span>
-<span class="nt">+-------------------------+------------------------+</span>
-<span class="nt">[2028</span><span class="na"> rows x 2 columns]</span>
-<span class="na">Note</span><span class="p">:</span><span class="err"> </span><span class="nc">Only</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">head</span><span class="err"> </span><span class="nc">of</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">SFrame</span><span class="err"> </span><span class="nc">is</span><span class="err"> </span><span class="nc">printed.</span>
-<span class="nt">You</span><span class="na"> can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.</span>
-<span class="na">+-------------------------+------------------------+---------+</span>
-<span class="p">|</span><span class="na"> path </span><span class="p">|</span><span class="na"> image </span><span class="p">|</span><span class="na"> label </span><span class="p">|</span>
-<span class="nt">+-------------------------+------------------------+---------+</span>
-<span class="err">| ./train/default/1.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/10.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/100.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/101.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/102.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/103.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/104.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/105.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/106.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/107.jpg | Height: 224 Width: 224 | default |</span>
-<span class="nt">+-------------------------+------------------------+---------+</span>
-<span class="nt">[2028</span><span class="na"> rows x 3 columns]</span>
-<span class="na">Note</span><span class="p">:</span><span class="err"> </span><span class="nc">Only</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">head</span><span class="err"> </span><span class="nc">of</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">SFrame</span><span class="err"> </span><span class="nc">is</span><span class="err"> </span><span class="nc">printed.</span>
-<span class="nt">You</span><span class="na"> can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.</span>
-</div></code></pre><h3>Making the Model</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">turicreate</span> <span class="k">as</span> <span class="nn">tc</span>
-
-<span class="c1"># Load the data</span>
-<span class="n">data</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">SFrame</span><span class="p">(</span><span class="s1">&#39;fire-smoke.sframe&#39;</span><span class="p">)</span>
-
-<span class="c1"># Make a train-test split</span>
-<span class="n">train_data</span><span class="p">,</span> <span class="n">test_data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">random_split</span><span class="p">(</span><span class="mf">0.8</span><span class="p">)</span>
-
-<span class="c1"># Create the model</span>
-<span class="n">model</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">image_classifier</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">train_data</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s1">&#39;label&#39;</span><span class="p">)</span>
-
-<span class="c1"># Save predictions to an SArray</span>
-<span class="n">predictions</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">test_data</span><span class="p">)</span>
-
-<span class="c1"># Evaluate the model and print the results</span>
-<span class="n">metrics</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">evaluate</span><span class="p">(</span><span class="n">test_data</span><span class="p">)</span>
-<span class="nb">print</span><span class="p">(</span><span class="n">metrics</span><span class="p">[</span><span class="s1">&#39;accuracy&#39;</span><span class="p">])</span>
-
-<span class="c1"># Save the model for later use in Turi Create</span>
-<span class="n">model</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">&#39;fire-smoke.model&#39;</span><span class="p">)</span>
-
-<span class="c1"># Export for use in Core ML</span>
-<span class="n">model</span><span class="o">.</span><span class="n">export_coreml</span><span class="p">(</span><span class="s1">&#39;fire-smoke.mlmodel&#39;</span><span class="p">)</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">Performing</span><span class="na"> feature extraction on resized images...</span>
-<span class="na">Completed 64/1633</span>
-<span class="na">Completed 128/1633</span>
-<span class="na">Completed 192/1633</span>
-<span class="na">Completed 256/1633</span>
-<span class="na">Completed 320/1633</span>
-<span class="na">Completed 384/1633</span>
-<span class="na">Completed 448/1633</span>
-<span class="na">Completed 512/1633</span>
-<span class="na">Completed 576/1633</span>
-<span class="na">Completed 640/1633</span>
-<span class="na">Completed 704/1633</span>
-<span class="na">Completed 768/1633</span>
-<span class="na">Completed 832/1633</span>
-<span class="na">Completed 896/1633</span>
-<span class="na">Completed 960/1633</span>
-<span class="na">Completed 1024/1633</span>
-<span class="na">Completed 1088/1633</span>
-<span class="na">Completed 1152/1633</span>
-<span class="na">Completed 1216/1633</span>
-<span class="na">Completed 1280/1633</span>
-<span class="na">Completed 1344/1633</span>
-<span class="na">Completed 1408/1633</span>
-<span class="na">Completed 1472/1633</span>
-<span class="na">Completed 1536/1633</span>
-<span class="na">Completed 1600/1633</span>
-<span class="na">Completed 1633/1633</span>
-<span class="na">PROGRESS</span><span class="p">:</span><span class="err"> </span><span class="nc">Creating</span><span class="err"> </span><span class="nc">a</span><span class="err"> </span><span class="nc">validation</span><span class="err"> </span><span class="nc">set</span><span class="err"> </span><span class="nc">from</span><span class="err"> </span><span class="nc">5</span><span class="err"> </span><span class="nc">percent</span><span class="err"> </span><span class="nc">of</span><span class="err"> </span><span class="nc">training</span><span class="err"> </span><span class="nc">data.</span><span class="err"> </span><span class="nc">This</span><span class="err"> </span><span class="nc">may</span><span class="err"> </span><span class="nc">take</span><span class="err"> </span><span class="nc">a</span><span class="err"> </span><span class="nc">while.</span>
- <span class="err">You can set ``validation_set=None`` to disable validation tracking.</span>
-
-<span class="nt">Logistic</span><span class="na"> regression</span><span class="p">:</span>
-<span class="nt">--------------------------------------------------------</span>
-<span class="nt">Number</span><span class="na"> of examples </span><span class="p">:</span><span class="err"> </span><span class="nc">1551</span>
-<span class="nt">Number</span><span class="na"> of classes </span><span class="p">:</span><span class="err"> </span><span class="nc">3</span>
-<span class="nt">Number</span><span class="na"> of feature columns </span><span class="p">:</span><span class="err"> </span><span class="nc">1</span>
-<span class="nt">Number</span><span class="na"> of unpacked features </span><span class="p">:</span><span class="err"> </span><span class="nc">2048</span>
-<span class="nt">Number</span><span class="na"> of coefficients </span><span class="p">:</span><span class="err"> </span><span class="nc">4098</span>
-<span class="nt">Starting</span><span class="na"> L-BFGS</span>
-<span class="na">--------------------------------------------------------</span>
-<span class="na">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="p">|</span><span class="na"> Iteration </span><span class="p">|</span><span class="na"> Passes </span><span class="p">|</span><span class="na"> Step size </span><span class="p">|</span><span class="na"> Elapsed Time </span><span class="p">|</span><span class="na"> Training Accuracy </span><span class="p">|</span><span class="na"> Validation Accuracy </span><span class="p">|</span>
-<span class="nt">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="err">| 0 | 6 | 0.018611 | 0.891830 | 0.553836 | 0.560976 |</span>
-<span class="err">| 1 | 10 | 0.390832 | 1.622383 | 0.744681 | 0.792683 |</span>
-<span class="err">| 2 | 11 | 0.488541 | 1.943987 | 0.733075 | 0.804878 |</span>
-<span class="err">| 3 | 14 | 2.442703 | 2.512545 | 0.727917 | 0.841463 |</span>
-<span class="err">| 4 | 15 | 2.442703 | 2.826964 | 0.861380 | 0.853659 |</span>
-<span class="err">| 9 | 28 | 2.340435 | 5.492035 | 0.941328 | 0.975610 |</span>
-<span class="nt">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="nt">Performing</span><span class="na"> feature extraction on resized images...</span>
-<span class="na">Completed 64/395</span>
-<span class="na">Completed 128/395</span>
-<span class="na">Completed 192/395</span>
-<span class="na">Completed 256/395</span>
-<span class="na">Completed 320/395</span>
-<span class="na">Completed 384/395</span>
-<span class="na">Completed 395/395</span>
-<span class="na">0.9316455696202531</span>
-</div></code></pre><p>We just got an accuracy of 94% on Training Data and 97% on Validation Data!</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab</guid><title>Setting up Kaggle to use with Google Colab</title><description>Tutorial on setting up kaggle, to use with Google Colab</description><link>https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab</link><pubDate>Wed, 15 Jan 2020 23:36:00 +0530</pubDate><content:encoded><![CDATA[<h1>Setting up Kaggle to use with Google Colab</h1><p><em>In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)</em></p><h2>Grabbing Our Tokens</h2><h3>Go to Kaggle</h3><img src="https://navanchauhan.github.io//assets/posts/kaggle-colab/ss1.png" alt=""Homepage""/><h3>Click on your User Profile and Click on My Account</h3><img src="https://navanchauhan.github.io//assets/posts/kaggle-colab/ss2.png" alt=""Account""/><h3>Scroll Down until you see Create New API Token</h3><img src="https://navanchauhan.github.io//assets/posts/kaggle-colab/ss3.png"/><h3>This will download your token as a JSON file</h3><img src="https://navanchauhan.github.io//assets/posts/kaggle-colab/ss4.png"/><p>Copy the File to the root folder of your Google Drive</p><h2>Setting up Colab</h2><h3>Mounting Google Drive</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">from</span> <span class="nn">google.colab</span> <span class="kn">import</span> <span class="n">drive</span>
-<span class="n">drive</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="s1">&#39;/content/drive&#39;</span><span class="p">)</span>
-</div></code></pre><p>After this click on the URL in the output section, login and then paste the Auth Code</p><h3>Configuring Kaggle</h3><pre><code><div class="highlight"><span></span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">&#39;KAGGLE_CONFIG_DIR&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;/content/drive/My Drive/&quot;</span>
-</div></code></pre><p>Voila! You can now download Kaggle datasets</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPy</guid><title>Converting between image and NumPy array</title><description>Short code snippet for converting between PIL image and NumPy arrays.</description><link>https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPy</link><pubDate>Tue, 14 Jan 2020 00:10:00 +0530</pubDate><content:encoded><![CDATA[<h1>Converting between image and NumPy array</h1><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">numpy</span>
-<span class="kn">import</span> <span class="nn">PIL</span>
-
-<span class="c1"># Convert PIL Image to NumPy array</span>
-<span class="n">img</span> <span class="o">=</span> <span class="n">PIL</span><span class="o">.</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">&quot;foo.jpg&quot;</span><span class="p">)</span>
-<span class="n">arr</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">img</span><span class="p">)</span>
-
-<span class="c1"># Convert array to Image</span>
-<span class="n">img</span> <span class="o">=</span> <span class="n">PIL</span><span class="o">.</span><span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span>
-</div></code></pre><h2>Saving an Image</h2><pre><code><div class="highlight"><span></span><span class="k">try</span><span class="p">:</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">destination</span><span class="p">,</span> <span class="s2">&quot;JPEG&quot;</span><span class="p">,</span> <span class="n">quality</span><span class="o">=</span><span class="mi">80</span><span class="p">,</span> <span class="n">optimize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">progressive</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span>
- <span class="n">PIL</span><span class="o">.</span><span class="n">ImageFile</span><span class="o">.</span><span class="n">MAXBLOCK</span> <span class="o">=</span> <span class="n">img</span><span class="o">.</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">img</span><span class="o">.</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">destination</span><span class="p">,</span> <span class="s2">&quot;JPEG&quot;</span><span class="p">,</span> <span class="n">quality</span><span class="o">=</span><span class="mi">80</span><span class="p">,</span> <span class="n">optimize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">progressive</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</div></code></pre>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detector</guid><title>Building a Fake News Detector with Turicreate</title><description>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</description><link>https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detector</link><pubDate>Sun, 22 Dec 2019 11:10:00 +0530</pubDate><content:encoded><![CDATA[<h1>Building a Fake News Detector with Turicreate</h1><p><strong>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</strong></p><p>Note: These commands are written as if you are running a jupyter notebook.</p><h2>Building the Machine Learning Model</h2><h3>Data Gathering</h3><p>To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and whether it is fake or real. Whenever you are looking for a dataset, always try searching on Kaggle and GitHub before you start building your own</p><h3>Dependencies</h3><p>I used a Google Colab instance for training my model. If you also plan on using Google Colab then I recommend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreate is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.</p><pre><code><div class="highlight"><span></span><span class="nt">!pip</span><span class="na"> install turicreate</span>
-<span class="na">!pip uninstall -y mxnet</span>
-<span class="na">!pip install mxnet-cu100==1.4.0.post0</span>
-</div></code></pre><p>If you do not wish to train on GPU or are running it on your computer, you can ignore the last two lines</p><h3>Downloading the Dataset</h3><pre><code><div class="highlight"><span></span><span class="nt">!wget</span><span class="na"> -q &quot;https</span><span class="p">:</span><span class="nc">//github.com/joolsa/fake_real_news_dataset/raw/master/fake_or_real_news.csv.zip&quot;</span>
-<span class="nt">!unzip</span><span class="na"> fake_or_real_news.csv.zip</span>
-</div></code></pre><h3>Model Creation</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">turicreate</span> <span class="k">as</span> <span class="nn">tc</span>
-<span class="n">tc</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">set_num_gpus</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="c1"># If you do not wish to use GPUs, set it to 0</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">dataSFrame</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">SFrame</span><span class="p">(</span><span class="s1">&#39;fake_or_real_news.csv&#39;</span><span class="p">)</span>
-</div></code></pre><p>The dataset contains a column named "X1", which is of no use to us. Therefore, we simply drop it</p><pre><code><div class="highlight"><span></span><span class="n">dataSFrame</span><span class="o">.</span><span class="n">remove_column</span><span class="p">(</span><span class="s1">&#39;X1&#39;</span><span class="p">)</span>
-</div></code></pre><h4>Splitting Dataset</h4><pre><code><div class="highlight"><span></span><span class="n">train</span><span class="p">,</span> <span class="n">test</span> <span class="o">=</span> <span class="n">dataSFrame</span><span class="o">.</span><span class="n">random_split</span><span class="p">(</span><span class="o">.</span><span class="mi">9</span><span class="p">)</span>
-</div></code></pre><h4>Training</h4><pre><code><div class="highlight"><span></span><span class="n">model</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">text_classifier</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
- <span class="n">dataset</span><span class="o">=</span><span class="n">train</span><span class="p">,</span>
- <span class="n">target</span><span class="o">=</span><span class="s1">&#39;label&#39;</span><span class="p">,</span>
- <span class="n">features</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">,</span><span class="s1">&#39;text&#39;</span><span class="p">]</span>
-<span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="o">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="o">|</span> <span class="n">Iteration</span> <span class="o">|</span> <span class="n">Passes</span> <span class="o">|</span> <span class="n">Step</span> <span class="n">size</span> <span class="o">|</span> <span class="n">Elapsed</span> <span class="n">Time</span> <span class="o">|</span> <span class="n">Training</span> <span class="n">Accuracy</span> <span class="o">|</span> <span class="n">Validation</span> <span class="n">Accuracy</span> <span class="o">|</span>
-<span class="o">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="o">|</span> <span class="mi">0</span> <span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.156349</span> <span class="o">|</span> <span class="mf">0.889680</span> <span class="o">|</span> <span class="mf">0.790036</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span> <span class="mi">4</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.359196</span> <span class="o">|</span> <span class="mf">0.985952</span> <span class="o">|</span> <span class="mf">0.918149</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="mi">6</span> <span class="o">|</span> <span class="mf">0.820091</span> <span class="o">|</span> <span class="mf">1.557205</span> <span class="o">|</span> <span class="mf">0.990260</span> <span class="o">|</span> <span class="mf">0.914591</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">3</span> <span class="o">|</span> <span class="mi">7</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.684872</span> <span class="o">|</span> <span class="mf">0.998689</span> <span class="o">|</span> <span class="mf">0.925267</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span> <span class="mi">8</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.814194</span> <span class="o">|</span> <span class="mf">0.999063</span> <span class="o">|</span> <span class="mf">0.925267</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">9</span> <span class="o">|</span> <span class="mi">14</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">2.507072</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">0.911032</span> <span class="o">|</span>
-<span class="o">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-</div></code></pre><h3>Testing the Model</h3><pre><code><div class="highlight"><span></span><span class="n">est_predictions</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">test</span><span class="p">)</span>
-<span class="n">accuracy</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">evaluation</span><span class="o">.</span><span class="n">accuracy</span><span class="p">(</span><span class="n">test</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">],</span> <span class="n">test_predictions</span><span class="p">)</span>
-<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Topic classifier model has a testing accuracy of </span><span class="si">{</span><span class="n">accuracy</span><span class="o">*</span><span class="mi">100</span><span class="si">}</span><span class="s1">% &#39;</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">Topic</span> <span class="n">classifier</span> <span class="n">model</span> <span class="n">has</span> <span class="n">a</span> <span class="n">testing</span> <span class="n">accuracy</span> <span class="n">of</span> <span class="mf">92.3076923076923</span><span class="o">%</span>
-</div></code></pre><p>We have just created our own Fake News Detection Model which has an accuracy of 92%!</p><pre><code><div class="highlight"><span></span><span class="n">example_text</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;title&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;Middling ‘Rise Of Skywalker’ Review Leaves Fan On Fence About Whether To Threaten To Kill Critic&quot;</span><span class="p">],</span> <span class="s2">&quot;text&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;Expressing ambivalence toward the relatively balanced appraisal of the film, Star Wars fan Miles Ariely admitted Thursday that an online publication’s middling review of The Rise Of Skywalker had left him on the fence about whether he would still threaten to kill the critic who wrote it. “I’m really of two minds about this, because on the one hand, he said the new movie fails to live up to the original trilogy, which makes me at least want to throw a brick through his window with a note telling him to watch his back,” said Ariely, confirming he had already drafted an eight-page-long death threat to Stan Corimer of the website Screen-On Time, but had not yet decided whether to post it to the reviewer’s Facebook page. “On the other hand, though, he commended J.J. Abrams’ skillful pacing and faithfulness to George Lucas’ vision, which makes me wonder if I should just call the whole thing off. Now, I really don’t feel like camping outside his house for hours. Maybe I could go with a response that’s somewhere in between, like, threatening to kill his dog but not everyone in his whole family? I don’t know. This is a tough one.” At press time, sources reported that Ariely had resolved to wear his Ewok costume while he murdered the critic in his sleep.&quot;</span><span class="p">]}</span>
-<span class="n">example_prediction</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">classify</span><span class="p">(</span><span class="n">tc</span><span class="o">.</span><span class="n">SFrame</span><span class="p">(</span><span class="n">example_text</span><span class="p">))</span>
-<span class="nb">print</span><span class="p">(</span><span class="n">example_prediction</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="o">+-------+--------------------+</span>
-<span class="o">|</span> <span class="k">class</span> <span class="err">| </span><span class="nc">probability</span> <span class="o">|</span>
-<span class="o">+-------+--------------------+</span>
-<span class="o">|</span> <span class="n">FAKE</span> <span class="o">|</span> <span class="mf">0.9245648658345308</span> <span class="o">|</span>
-<span class="o">+-------+--------------------+</span>
-<span class="p">[</span><span class="mi">1</span> <span class="n">rows</span> <span class="n">x</span> <span class="mi">2</span> <span class="n">columns</span><span class="p">]</span>
-</div></code></pre><h3>Exporting the Model</h3><pre><code><div class="highlight"><span></span><span class="n">model_name</span> <span class="o">=</span> <span class="s1">&#39;FakeNews&#39;</span>
-<span class="n">coreml_model_name</span> <span class="o">=</span> <span class="n">model_name</span> <span class="o">+</span> <span class="s1">&#39;.mlmodel&#39;</span>
-<span class="n">exportedModel</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">export_coreml</span><span class="p">(</span><span class="n">coreml_model_name</span><span class="p">)</span>
-</div></code></pre><p><strong>Note: To download files from Google Colab, simply click on the files section in the sidebar, right click on filename and then click on download</strong></p><p><a href="https://colab.research.google.com/drive/1onMXGkhA__X2aOFdsoVL-6HQBsWQhOP4">Link to Colab Notebook</a></p><h2>Building the App using SwiftUI</h2><h3>Initial Setup</h3><p>First we create a single view app (make sure you check the use SwiftUI button)</p><p>Then we copy our .mlmodel file to our project (Just drag and drop the file in the XCode Files Sidebar)</p><p>Our ML Model does not take a string directly as an input, rather it takes bag of words as an input. DescriptionThe bag-of-words model is a simplifying representation used in NLP, in this text is represented as a bag of words, without any regard for grammar or order, but noting multiplicity</p><p>We define our bag of words function</p><pre><code><div class="highlight"><span></span><span class="kd">func</span> <span class="nf">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="nb">String</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]</span> <span class="p">{</span>
- <span class="kd">var</span> <span class="nv">bagOfWords</span> <span class="p">=</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]()</span>
-
- <span class="kd">let</span> <span class="nv">tagger</span> <span class="p">=</span> <span class="bp">NSLinguisticTagger</span><span class="p">(</span><span class="n">tagSchemes</span><span class="p">:</span> <span class="p">[.</span><span class="n">tokenType</span><span class="p">],</span> <span class="n">options</span><span class="p">:</span> <span class="mi">0</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">range</span> <span class="p">=</span> <span class="n">NSRange</span><span class="p">(</span><span class="n">location</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">length</span><span class="p">:</span> <span class="n">text</span><span class="p">.</span><span class="n">utf16</span><span class="p">.</span><span class="bp">count</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">options</span><span class="p">:</span> <span class="bp">NSLinguisticTagger</span><span class="p">.</span><span class="n">Options</span> <span class="p">=</span> <span class="p">[.</span><span class="n">omitPunctuation</span><span class="p">,</span> <span class="p">.</span><span class="n">omitWhitespace</span><span class="p">]</span>
- <span class="n">tagger</span><span class="p">.</span><span class="n">string</span> <span class="p">=</span> <span class="n">text</span>
-
- <span class="n">tagger</span><span class="p">.</span><span class="n">enumerateTags</span><span class="p">(</span><span class="k">in</span><span class="p">:</span> <span class="n">range</span><span class="p">,</span> <span class="n">unit</span><span class="p">:</span> <span class="p">.</span><span class="n">word</span><span class="p">,</span> <span class="n">scheme</span><span class="p">:</span> <span class="p">.</span><span class="n">tokenType</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">options</span><span class="p">)</span> <span class="p">{</span> <span class="kc">_</span><span class="p">,</span> <span class="n">tokenRange</span><span class="p">,</span> <span class="kc">_</span> <span class="k">in</span>
- <span class="kd">let</span> <span class="nv">word</span> <span class="p">=</span> <span class="p">(</span><span class="n">text</span> <span class="k">as</span> <span class="bp">NSString</span><span class="p">).</span><span class="n">substring</span><span class="p">(</span><span class="n">with</span><span class="p">:</span> <span class="n">tokenRange</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span><span class="o">!</span> <span class="o">+=</span> <span class="mi">1</span>
- <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="p">=</span> <span class="mi">1</span>
- <span class="p">}</span>
- <span class="p">}</span>
-
- <span class="k">return</span> <span class="n">bagOfWords</span>
- <span class="p">}</span>
-</div></code></pre><p>We also declare our variables</p><pre><code><div class="highlight"><span></span><span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">title</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">headline</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertTitle</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertText</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">showingAlert</span> <span class="p">=</span> <span class="kc">false</span>
-</div></code></pre><p>Finally, we implement a simple function which reads the two text fields, creates their bag of words representation and displays an alert with the appropriate result</p><p><strong>Complete Code</strong></p><pre><code><div class="highlight"><span></span><span class="kd">import</span> <span class="nc">SwiftUI</span>
-
-<span class="kd">struct</span> <span class="nc">ContentView</span><span class="p">:</span> <span class="n">View</span> <span class="p">{</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">title</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">headline</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertTitle</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertText</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">showingAlert</span> <span class="p">=</span> <span class="kc">false</span>
-
- <span class="kd">var</span> <span class="nv">body</span><span class="p">:</span> <span class="n">some</span> <span class="n">View</span> <span class="p">{</span>
- <span class="n">NavigationView</span> <span class="p">{</span>
- <span class="n">VStack</span><span class="p">(</span><span class="n">alignment</span><span class="p">:</span> <span class="p">.</span><span class="n">leading</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">Text</span><span class="p">(</span><span class="s">&quot;Headline&quot;</span><span class="p">).</span><span class="n">font</span><span class="p">(.</span><span class="n">headline</span><span class="p">)</span>
- <span class="n">TextField</span><span class="p">(</span><span class="s">&quot;Please Enter Headline&quot;</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="err">$</span><span class="n">title</span><span class="p">)</span>
- <span class="p">.</span><span class="n">lineLimit</span><span class="p">(</span><span class="kc">nil</span><span class="p">)</span>
- <span class="n">Text</span><span class="p">(</span><span class="s">&quot;Body&quot;</span><span class="p">).</span><span class="n">font</span><span class="p">(.</span><span class="n">headline</span><span class="p">)</span>
- <span class="n">TextField</span><span class="p">(</span><span class="s">&quot;Please Enter the content&quot;</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="err">$</span><span class="n">headline</span><span class="p">)</span>
- <span class="p">.</span><span class="n">lineLimit</span><span class="p">(</span><span class="kc">nil</span><span class="p">)</span>
- <span class="p">}</span>
- <span class="p">.</span><span class="n">navigationBarTitle</span><span class="p">(</span><span class="s">&quot;Fake News Checker&quot;</span><span class="p">)</span>
- <span class="p">.</span><span class="n">navigationBarItems</span><span class="p">(</span><span class="n">trailing</span><span class="p">:</span>
- <span class="n">Button</span><span class="p">(</span><span class="n">action</span><span class="p">:</span> <span class="n">classifyFakeNews</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">Text</span><span class="p">(</span><span class="s">&quot;Check&quot;</span><span class="p">)</span>
- <span class="p">})</span>
- <span class="p">.</span><span class="n">padding</span><span class="p">()</span>
- <span class="p">.</span><span class="n">alert</span><span class="p">(</span><span class="n">isPresented</span><span class="p">:</span> <span class="err">$</span><span class="n">showingAlert</span><span class="p">){</span>
- <span class="n">Alert</span><span class="p">(</span><span class="n">title</span><span class="p">:</span> <span class="n">Text</span><span class="p">(</span><span class="n">alertTitle</span><span class="p">),</span> <span class="n">message</span><span class="p">:</span> <span class="n">Text</span><span class="p">(</span><span class="n">alertText</span><span class="p">),</span> <span class="n">dismissButton</span><span class="p">:</span> <span class="p">.</span><span class="k">default</span><span class="p">(</span><span class="n">Text</span><span class="p">(</span><span class="s">&quot;OK&quot;</span><span class="p">)))</span>
- <span class="p">}</span>
- <span class="p">}</span>
-
- <span class="p">}</span>
-
- <span class="kd">func</span> <span class="nf">classifyFakeNews</span><span class="p">(){</span>
- <span class="kd">let</span> <span class="nv">model</span> <span class="p">=</span> <span class="n">FakeNews</span><span class="p">()</span>
- <span class="kd">let</span> <span class="nv">myTitle</span> <span class="p">=</span> <span class="n">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="n">title</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">myText</span> <span class="p">=</span> <span class="n">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="n">headline</span><span class="p">)</span>
- <span class="k">do</span> <span class="p">{</span>
- <span class="kd">let</span> <span class="nv">prediction</span> <span class="p">=</span> <span class="k">try</span> <span class="n">model</span><span class="p">.</span><span class="n">prediction</span><span class="p">(</span><span class="n">title</span><span class="p">:</span> <span class="n">myTitle</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="n">myText</span><span class="p">)</span>
- <span class="n">alertTitle</span> <span class="p">=</span> <span class="n">prediction</span><span class="p">.</span><span class="n">label</span>
- <span class="n">alertText</span> <span class="p">=</span> <span class="s">&quot;It is likely that this piece of news is </span><span class="si">\(</span><span class="n">prediction</span><span class="p">.</span><span class="n">label</span><span class="p">.</span><span class="n">lowercased</span><span class="si">())</span><span class="s">.&quot;</span>
- <span class="bp">print</span><span class="p">(</span><span class="n">alertText</span><span class="p">)</span>
- <span class="p">}</span> <span class="k">catch</span> <span class="p">{</span>
- <span class="n">alertTitle</span> <span class="p">=</span> <span class="s">&quot;Error&quot;</span>
- <span class="n">alertText</span> <span class="p">=</span> <span class="s">&quot;Sorry, could not classify if the input news was fake or not.&quot;</span>
- <span class="p">}</span>
-
- <span class="n">showingAlert</span> <span class="p">=</span> <span class="kc">true</span>
- <span class="p">}</span>
- <span class="kd">func</span> <span class="nf">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="nb">String</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]</span> <span class="p">{</span>
- <span class="kd">var</span> <span class="nv">bagOfWords</span> <span class="p">=</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]()</span>
-
- <span class="kd">let</span> <span class="nv">tagger</span> <span class="p">=</span> <span class="bp">NSLinguisticTagger</span><span class="p">(</span><span class="n">tagSchemes</span><span class="p">:</span> <span class="p">[.</span><span class="n">tokenType</span><span class="p">],</span> <span class="n">options</span><span class="p">:</span> <span class="mi">0</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">range</span> <span class="p">=</span> <span class="n">NSRange</span><span class="p">(</span><span class="n">location</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">length</span><span class="p">:</span> <span class="n">text</span><span class="p">.</span><span class="n">utf16</span><span class="p">.</span><span class="bp">count</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">options</span><span class="p">:</span> <span class="bp">NSLinguisticTagger</span><span class="p">.</span><span class="n">Options</span> <span class="p">=</span> <span class="p">[.</span><span class="n">omitPunctuation</span><span class="p">,</span> <span class="p">.</span><span class="n">omitWhitespace</span><span class="p">]</span>
- <span class="n">tagger</span><span class="p">.</span><span class="n">string</span> <span class="p">=</span> <span class="n">text</span>
-
- <span class="n">tagger</span><span class="p">.</span><span class="n">enumerateTags</span><span class="p">(</span><span class="k">in</span><span class="p">:</span> <span class="n">range</span><span class="p">,</span> <span class="n">unit</span><span class="p">:</span> <span class="p">.</span><span class="n">word</span><span class="p">,</span> <span class="n">scheme</span><span class="p">:</span> <span class="p">.</span><span class="n">tokenType</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">options</span><span class="p">)</span> <span class="p">{</span> <span class="kc">_</span><span class="p">,</span> <span class="n">tokenRange</span><span class="p">,</span> <span class="kc">_</span> <span class="k">in</span>
- <span class="kd">let</span> <span class="nv">word</span> <span class="p">=</span> <span class="p">(</span><span class="n">text</span> <span class="k">as</span> <span class="bp">NSString</span><span class="p">).</span><span class="n">substring</span><span class="p">(</span><span class="n">with</span><span class="p">:</span> <span class="n">tokenRange</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span><span class="o">!</span> <span class="o">+=</span> <span class="mi">1</span>
- <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="p">=</span> <span class="mi">1</span>
- <span class="p">}</span>
- <span class="p">}</span>
-
- <span class="k">return</span> <span class="n">bagOfWords</span>
- <span class="p">}</span>
-<span class="p">}</span>
-
-<span class="kd">struct</span> <span class="nc">ContentView_Previews</span><span class="p">:</span> <span class="n">PreviewProvider</span> <span class="p">{</span>
- <span class="kd">static</span> <span class="kd">var</span> <span class="nv">previews</span><span class="p">:</span> <span class="n">some</span> <span class="n">View</span> <span class="p">{</span>
- <span class="n">ContentView</span><span class="p">()</span>
- <span class="p">}</span>
-<span class="p">}</span>
-</div></code></pre>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regression</guid><title>Polynomial Regression Using TensorFlow</title><description>Polynomial regression using TensorFlow</description><link>https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regression</link><pubDate>Mon, 16 Dec 2019 14:16:00 +0530</pubDate><content:encoded><![CDATA[<h1>Polynomial Regression Using TensorFlow</h1><p><strong>In this tutorial you will learn about polynomial regression and how you can implement it in Tensorflow.</strong></p><p>In this, we will be performing polynomial regression using 5 types of equations -</p><ul><li>Linear</li><li>Quadratic</li><li>Cubic</li><li>Quartic</li><li>Quintic</li></ul><h2>Regression</h2><h3>What is Regression?</h3><p>Regression is a statistical measurement that is used to try to determine the relationship between a dependent variable (often denoted by Y), and series of varying variables (called independent variables, often denoted by X ).</p><h3>What is Polynomial Regression</h3><p>This is a form of Regression Analysis where the relationship between Y and X is denoted as the nth degree/power of X. Polynomial regression even fits a non-linear relationship (e.g when the points don't form a straight line).</p><h2>Imports</h2><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">tensorflow.compat.v1</span> <span class="k">as</span> <span class="nn">tf</span>
-<span class="n">tf</span><span class="o">.</span><span class="n">disable_v2_behavior</span><span class="p">()</span>
-<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
-</div></code></pre><h2>Dataset</h2><h3>Creating Random Data</h3><p>Even though in this tutorial we will use a Position Vs Salary dataset, it is important to know how to create synthetic data</p><p>To create 50 values spaced evenly between 0 and 50, we use NumPy's linspace function</p><p><code>linspace(lower_limit, upper_limit, no_of_observations)</code></p><pre><code><div class="highlight"><span></span><span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-<span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-</div></code></pre><p>We use the following function to add noise to the data, so that our values</p><pre><code><div class="highlight"><span></span><span class="n">x</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-<span class="n">y</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-</div></code></pre><h3>Position vs Salary Dataset</h3><p>We will be using https://drive.google.com/file/d/1tNL4jxZEfpaP4oflfSn6pIHJX7Pachm9/view (Salary vs Position Dataset)</p><pre><code><div class="highlight"><span></span><span class="nt">!wget</span><span class="na"> --no-check-certificate &#39;https</span><span class="p">:</span><span class="nc">//docs.google.com/uc?export</span><span class="o">=</span><span class="l">download&amp;id=1tNL4jxZEfpaP4oflfSn6pIHJX7Pachm9&#39; -O data.csv</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">&quot;data.csv&quot;</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">df</span> <span class="c1"># this gives us a preview of the dataset we are working with</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="o">|</span> <span class="n">Position</span> <span class="o">|</span> <span class="n">Level</span> <span class="o">|</span> <span class="n">Salary</span> <span class="o">|</span>
-<span class="o">|-------------------|-------|---------|</span>
-<span class="o">|</span> <span class="n">Business</span> <span class="n">Analyst</span> <span class="o">|</span> <span class="mi">1</span> <span class="o">|</span> <span class="mi">45000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Junior</span> <span class="n">Consultant</span> <span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="mi">50000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Senior</span> <span class="n">Consultant</span> <span class="o">|</span> <span class="mi">3</span> <span class="o">|</span> <span class="mi">60000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Manager</span> <span class="o">|</span> <span class="mi">4</span> <span class="o">|</span> <span class="mi">80000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Country</span> <span class="n">Manager</span> <span class="o">|</span> <span class="mi">5</span> <span class="o">|</span> <span class="mi">110000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Region</span> <span class="n">Manager</span> <span class="o">|</span> <span class="mi">6</span> <span class="o">|</span> <span class="mi">150000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Partner</span> <span class="o">|</span> <span class="mi">7</span> <span class="o">|</span> <span class="mi">200000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Senior</span> <span class="n">Partner</span> <span class="o">|</span> <span class="mi">8</span> <span class="o">|</span> <span class="mi">300000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">C</span><span class="o">-</span><span class="n">level</span> <span class="o">|</span> <span class="mi">9</span> <span class="o">|</span> <span class="mi">500000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">CEO</span> <span class="o">|</span> <span class="mi">10</span> <span class="o">|</span> <span class="mi">1000000</span> <span class="o">|</span>
-</div></code></pre><p>We convert the salary column as the ordinate (y-coordinate) and level column as the abscissa</p><pre><code><div class="highlight"><span></span><span class="n">abscissa</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s2">&quot;Level&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span> <span class="c1"># abscissa = [1,2,3,4,5,6,7,8,9,10]</span>
-<span class="n">ordinate</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s2">&quot;Salary&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span> <span class="c1"># ordinate = [45000,50000,60000,80000,110000,150000,200000,300000,500000,1000000]</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">abscissa</span><span class="p">)</span> <span class="c1"># no of observations</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Salary&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Position&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">&quot;Salary vs Position&quot;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/gciTales/03-regression/1.png"/><h2>Defining Stuff</h2><pre><code><div class="highlight"><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">placeholder</span><span class="p">(</span><span class="s2">&quot;float&quot;</span><span class="p">)</span>
-<span class="n">Y</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">placeholder</span><span class="p">(</span><span class="s2">&quot;float&quot;</span><span class="p">)</span>
-</div></code></pre><h3>Defining Variables</h3><p>We first define all the coefficients and constant as tensorflow variables having a random initial value</p><pre><code><div class="highlight"><span></span><span class="n">a</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;a&quot;</span><span class="p">)</span>
-<span class="n">b</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;b&quot;</span><span class="p">)</span>
-<span class="n">c</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;c&quot;</span><span class="p">)</span>
-<span class="n">d</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;d&quot;</span><span class="p">)</span>
-<span class="n">e</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;e&quot;</span><span class="p">)</span>
-<span class="n">f</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;f&quot;</span><span class="p">)</span>
-</div></code></pre><h3>Model Configuration</h3><pre><code><div class="highlight"><span></span><span class="n">learning_rate</span> <span class="o">=</span> <span class="mf">0.2</span>
-<span class="n">no_of_epochs</span> <span class="o">=</span> <span class="mi">25000</span>
-</div></code></pre><h3>Equations</h3><pre><code><div class="highlight"><span></span><span class="n">deg1</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">b</span>
-<span class="n">deg2</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">c</span>
-<span class="n">deg3</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">c</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">d</span>
-<span class="n">deg4</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">c</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">d</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">e</span>
-<span class="n">deg5</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">c</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">d</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">e</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">f</span>
-</div></code></pre><h3>Cost Function</h3><p>We use the Mean Squared Error Function</p><pre><code><div class="highlight"><span></span><span class="n">mse1</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg1</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse2</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg2</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse3</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg3</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse4</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg4</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse5</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg5</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-</div></code></pre><h3>Optimizer</h3><p>We use the AdamOptimizer for the polynomial functions and GradientDescentOptimizer for the linear function</p><pre><code><div class="highlight"><span></span><span class="n">optimizer1</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">GradientDescentOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse1</span><span class="p">)</span>
-<span class="n">optimizer2</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse2</span><span class="p">)</span>
-<span class="n">optimizer3</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse3</span><span class="p">)</span>
-<span class="n">optimizer4</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse4</span><span class="p">)</span>
-<span class="n">optimizer5</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse5</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">init</span><span class="o">=</span><span class="n">tf</span><span class="o">.</span><span class="n">global_variables_initializer</span><span class="p">()</span>
-</div></code></pre><h2>Model Predictions</h2><p>For each type of equation first we make the model predict the values of the coefficient(s) and constant, once we get these values we use it to predict the Y values using the X values. We then plot it to compare the actual data and predicted line.</p><h3>Linear Equation</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer1</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse1</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse1</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">88999125000.0</span><span class="na"> 180396.42 -478869.12</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Linear Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/gciTales/03-regression/2.png"/><h3>Quadratic Equation</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer2</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse2</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse2</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">coefficient2</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">52571360000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">1002.4456</span><span class="err"> </span><span class="nc">1097.0197</span><span class="err"> </span><span class="nc">1276.6921</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">37798890000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">1952.4263</span><span class="err"> </span><span class="nc">2130.2825</span><span class="err"> </span><span class="nc">2469.7756</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">26751185000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">2839.5825</span><span class="err"> </span><span class="nc">3081.6118</span><span class="err"> </span><span class="nc">3554.351</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">19020106000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">3644.56</span><span class="err"> </span><span class="nc">3922.9563</span><span class="err"> </span><span class="nc">4486.3135</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">14060446000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">4345.042</span><span class="err"> </span><span class="nc">4621.4233</span><span class="err"> </span><span class="nc">5212.693</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">11201084000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">4921.1855</span><span class="err"> </span><span class="nc">5148.1504</span><span class="err"> </span><span class="nc">5689.0713</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">9732740000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">5364.764</span><span class="err"> </span><span class="nc">5493.0156</span><span class="err"> </span><span class="nc">5906.754</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">9050918000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">5685.4067</span><span class="err"> </span><span class="nc">5673.182</span><span class="err"> </span><span class="nc">5902.0728</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8750394000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">5906.9814</span><span class="err"> </span><span class="nc">5724.8906</span><span class="err"> </span><span class="nc">5734.746</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8613128000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6057.3677</span><span class="err"> </span><span class="nc">5687.3364</span><span class="err"> </span><span class="nc">5461.167</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8540034600.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6160.547</span><span class="err"> </span><span class="nc">5592.3022</span><span class="err"> </span><span class="nc">5122.8633</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8490983000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6233.9175</span><span class="err"> </span><span class="nc">5462.025</span><span class="err"> </span><span class="nc">4747.111</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8450816500.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6289.048</span><span class="err"> </span><span class="nc">5310.7583</span><span class="err"> </span><span class="nc">4350.6997</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8414082000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6333.199</span><span class="err"> </span><span class="nc">5147.394</span><span class="err"> </span><span class="nc">3943.9294</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8378841600.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6370.7944</span><span class="err"> </span><span class="nc">4977.1704</span><span class="err"> </span><span class="nc">3532.476</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8344471000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6404.468</span><span class="err"> </span><span class="nc">4803.542</span><span class="err"> </span><span class="nc">3120.2087</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8310785500.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6435.365</span><span class="err"> </span><span class="nc">4628.1523</span><span class="err"> </span><span class="nc">2709.1445</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8277482000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6465.5493</span><span class="err"> </span><span class="nc">4451.833</span><span class="err"> </span><span class="nc">2300.2783</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8244650000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6494.609</span><span class="err"> </span><span class="nc">4274.826</span><span class="err"> </span><span class="nc">1894.3738</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8212349000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6522.8247</span><span class="err"> </span><span class="nc">4098.1733</span><span class="err"> </span><span class="nc">1491.9915</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8180598300.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6550.6567</span><span class="err"> </span><span class="nc">3922.7405</span><span class="err"> </span><span class="nc">1093.3868</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8149257700.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6578.489</span><span class="err"> </span><span class="nc">3747.8362</span><span class="err"> </span><span class="nc">698.53357</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8118325000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6606.1973</span><span class="err"> </span><span class="nc">3573.2742</span><span class="err"> </span><span class="nc">307.3541</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8088001000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6632.96</span><span class="err"> </span><span class="nc">3399.878</span><span class="err"> </span><span class="nc">-79.89219</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8058094600.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6659.793</span><span class="err"> </span><span class="nc">3227.2517</span><span class="err"> </span><span class="nc">-463.03156</span>
-<span class="nt">8058094600.0</span><span class="na"> 6659.793 3227.2517 -463.03156</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Quadratic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/gciTales/03-regression/3.png"/><h3>Cubic</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer3</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse3</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c,d:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse3</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">coefficient3</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">coefficient2</span><span class="p">,</span> <span class="n">coefficient3</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">4279814000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">670.1527</span><span class="err"> </span><span class="nc">694.4212</span><span class="err"> </span><span class="nc">751.4653</span><span class="err"> </span><span class="nc">903.9527</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3770950400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">742.6414</span><span class="err"> </span><span class="nc">666.3489</span><span class="err"> </span><span class="nc">636.94525</span><span class="err"> </span><span class="nc">859.2088</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3717708300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">756.2582</span><span class="err"> </span><span class="nc">569.3339</span><span class="err"> </span><span class="nc">448.105</span><span class="err"> </span><span class="nc">748.23956</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3667464000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">769.4476</span><span class="err"> </span><span class="nc">474.0318</span><span class="err"> </span><span class="nc">265.5761</span><span class="err"> </span><span class="nc">654.75525</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3620040700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">782.32324</span><span class="err"> </span><span class="nc">380.54272</span><span class="err"> </span><span class="nc">89.39888</span><span class="err"> </span><span class="nc">578.5136</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3575265800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">794.8898</span><span class="err"> </span><span class="nc">288.83356</span><span class="err"> </span><span class="nc">-80.5215</span><span class="err"> </span><span class="nc">519.13654</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3532972000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">807.1608</span><span class="err"> </span><span class="nc">198.87044</span><span class="err"> </span><span class="nc">-244.31102</span><span class="err"> </span><span class="nc">476.2061</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3493009200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">819.13513</span><span class="err"> </span><span class="nc">110.64169</span><span class="err"> </span><span class="nc">-402.0677</span><span class="err"> </span><span class="nc">449.3291</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3455228400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">830.80255</span><span class="err"> </span><span class="nc">24.0964</span><span class="err"> </span><span class="nc">-553.92804</span><span class="err"> </span><span class="nc">438.0652</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3419475500.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">842.21594</span><span class="err"> </span><span class="nc">-60.797424</span><span class="err"> </span><span class="nc">-700.0123</span><span class="err"> </span><span class="nc">441.983</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3385625300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">853.3363</span><span class="err"> </span><span class="nc">-144.08699</span><span class="err"> </span><span class="nc">-840.467</span><span class="err"> </span><span class="nc">460.6356</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3353544700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">864.19135</span><span class="err"> </span><span class="nc">-225.8125</span><span class="err"> </span><span class="nc">-975.4196</span><span class="err"> </span><span class="nc">493.57703</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3323125000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">874.778</span><span class="err"> </span><span class="nc">-305.98932</span><span class="err"> </span><span class="nc">-1104.9867</span><span class="err"> </span><span class="nc">540.39465</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3294257000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">885.1007</span><span class="err"> </span><span class="nc">-384.63474</span><span class="err"> </span><span class="nc">-1229.277</span><span class="err"> </span><span class="nc">600.65607</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3266820000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">895.18823</span><span class="err"> </span><span class="nc">-461.819</span><span class="err"> </span><span class="nc">-1348.4417</span><span class="err"> </span><span class="nc">673.9051</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3240736000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">905.0128</span><span class="err"> </span><span class="nc">-537.541</span><span class="err"> </span><span class="nc">-1462.6171</span><span class="err"> </span><span class="nc">759.7118</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3215895000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">914.60065</span><span class="err"> </span><span class="nc">-611.8676</span><span class="err"> </span><span class="nc">-1571.9058</span><span class="err"> </span><span class="nc">857.6638</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3192216800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">923.9603</span><span class="err"> </span><span class="nc">-684.8093</span><span class="err"> </span><span class="nc">-1676.4642</span><span class="err"> </span><span class="nc">967.30475</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3169632300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">933.08594</span><span class="err"> </span><span class="nc">-756.3582</span><span class="err"> </span><span class="nc">-1776.4275</span><span class="err"> </span><span class="nc">1088.2198</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3148046300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">941.9928</span><span class="err"> </span><span class="nc">-826.6257</span><span class="err"> </span><span class="nc">-1871.9355</span><span class="err"> </span><span class="nc">1219.9702</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3127394800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">950.67896</span><span class="err"> </span><span class="nc">-895.6205</span><span class="err"> </span><span class="nc">-1963.0989</span><span class="err"> </span><span class="nc">1362.1665</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3107608600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">959.1487</span><span class="err"> </span><span class="nc">-963.38116</span><span class="err"> </span><span class="nc">-2050.0586</span><span class="err"> </span><span class="nc">1514.4026</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3088618200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">967.4355</span><span class="err"> </span><span class="nc">-1029.9625</span><span class="err"> </span><span class="nc">-2132.961</span><span class="err"> </span><span class="nc">1676.2717</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3070361300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">975.52875</span><span class="err"> </span><span class="nc">-1095.4292</span><span class="err"> </span><span class="nc">-2211.854</span><span class="err"> </span><span class="nc">1847.4485</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3052791300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">983.4346</span><span class="err"> </span><span class="nc">-1159.7922</span><span class="err"> </span><span class="nc">-2286.9412</span><span class="err"> </span><span class="nc">2027.4857</span>
-<span class="nt">3052791300.0</span><span class="na"> 983.4346 -1159.7922 -2286.9412 2027.4857</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient3</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Cubic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/gciTales/03-regression/4.png"/><h3>Quartic</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer4</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse4</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c,d:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse4</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">coefficient3</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
- <span class="n">coefficient4</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">coefficient2</span><span class="p">,</span> <span class="n">coefficient3</span><span class="p">,</span> <span class="n">coefficient4</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1902632600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">84.48304</span><span class="err"> </span><span class="nc">52.210594</span><span class="err"> </span><span class="nc">54.791424</span><span class="err"> </span><span class="nc">142.51952</span><span class="err"> </span><span class="nc">512.0343</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1854316200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">88.998955</span><span class="err"> </span><span class="nc">13.073557</span><span class="err"> </span><span class="nc">14.276088</span><span class="err"> </span><span class="nc">223.55667</span><span class="err"> </span><span class="nc">1056.4655</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1812812400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">92.9462</span><span class="err"> </span><span class="nc">-22.331177</span><span class="err"> </span><span class="nc">-15.262934</span><span class="err"> </span><span class="nc">327.41858</span><span class="err"> </span><span class="nc">1634.9054</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1775716000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">96.42522</span><span class="err"> </span><span class="nc">-54.64535</span><span class="err"> </span><span class="nc">-35.829437</span><span class="err"> </span><span class="nc">449.5028</span><span class="err"> </span><span class="nc">2239.1392</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1741494100.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">99.524734</span><span class="err"> </span><span class="nc">-84.43976</span><span class="err"> </span><span class="nc">-49.181057</span><span class="err"> </span><span class="nc">585.85876</span><span class="err"> </span><span class="nc">2862.4915</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1709199600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">102.31984</span><span class="err"> </span><span class="nc">-112.19895</span><span class="err"> </span><span class="nc">-56.808075</span><span class="err"> </span><span class="nc">733.1876</span><span class="err"> </span><span class="nc">3499.6199</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1678261800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">104.87324</span><span class="err"> </span><span class="nc">-138.32709</span><span class="err"> </span><span class="nc">-59.9442</span><span class="err"> </span><span class="nc">888.79626</span><span class="err"> </span><span class="nc">4146.2944</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1648340600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">107.23536</span><span class="err"> </span><span class="nc">-163.15173</span><span class="err"> </span><span class="nc">-59.58964</span><span class="err"> </span><span class="nc">1050.524</span><span class="err"> </span><span class="nc">4798.979</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1619243400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">109.44742</span><span class="err"> </span><span class="nc">-186.9409</span><span class="err"> </span><span class="nc">-56.53944</span><span class="err"> </span><span class="nc">1216.6432</span><span class="err"> </span><span class="nc">5454.9463</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1590821900.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">111.54233</span><span class="err"> </span><span class="nc">-209.91287</span><span class="err"> </span><span class="nc">-51.423084</span><span class="err"> </span><span class="nc">1385.8513</span><span class="err"> </span><span class="nc">6113.5137</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1563042200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">113.54405</span><span class="err"> </span><span class="nc">-232.21953</span><span class="err"> </span><span class="nc">-44.73371</span><span class="err"> </span><span class="nc">1557.1084</span><span class="err"> </span><span class="nc">6771.7046</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1535855600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">115.471565</span><span class="err"> </span><span class="nc">-253.9838</span><span class="err"> </span><span class="nc">-36.851135</span><span class="err"> </span><span class="nc">1729.535</span><span class="err"> </span><span class="nc">7429.069</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1509255300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">117.33939</span><span class="err"> </span><span class="nc">-275.29697</span><span class="err"> </span><span class="nc">-28.0714</span><span class="err"> </span><span class="nc">1902.5308</span><span class="err"> </span><span class="nc">8083.9634</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1483227000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">119.1605</span><span class="err"> </span><span class="nc">-296.2472</span><span class="err"> </span><span class="nc">-18.618649</span><span class="err"> </span><span class="nc">2075.6094</span><span class="err"> </span><span class="nc">8735.381</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1457726700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">120.94584</span><span class="err"> </span><span class="nc">-316.915</span><span class="err"> </span><span class="nc">-8.650095</span><span class="err"> </span><span class="nc">2248.3247</span><span class="err"> </span><span class="nc">9384.197</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1432777300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">122.69806</span><span class="err"> </span><span class="nc">-337.30704</span><span class="err"> </span><span class="nc">1.7027153</span><span class="err"> </span><span class="nc">2420.5771</span><span class="err"> </span><span class="nc">10028.871</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1408365000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">124.42179</span><span class="err"> </span><span class="nc">-357.45245</span><span class="err"> </span><span class="nc">12.33499</span><span class="err"> </span><span class="nc">2592.2983</span><span class="err"> </span><span class="nc">10669.157</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1384480000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">126.12332</span><span class="err"> </span><span class="nc">-377.39734</span><span class="err"> </span><span class="nc">23.168756</span><span class="err"> </span><span class="nc">2763.0933</span><span class="err"> </span><span class="nc">11305.027</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1361116800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">127.80568</span><span class="err"> </span><span class="nc">-397.16415</span><span class="err"> </span><span class="nc">34.160156</span><span class="err"> </span><span class="nc">2933.0452</span><span class="err"> </span><span class="nc">11935.669</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1338288100.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">129.4674</span><span class="err"> </span><span class="nc">-416.72803</span><span class="err"> </span><span class="nc">45.259155</span><span class="err"> </span><span class="nc">3101.7727</span><span class="err"> </span><span class="nc">12561.179</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1315959700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">131.11403</span><span class="err"> </span><span class="nc">-436.14285</span><span class="err"> </span><span class="nc">56.4436</span><span class="err"> </span><span class="nc">3269.3142</span><span class="err"> </span><span class="nc">13182.058</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1294164700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">132.74377</span><span class="err"> </span><span class="nc">-455.3779</span><span class="err"> </span><span class="nc">67.6757</span><span class="err"> </span><span class="nc">3435.3833</span><span class="err"> </span><span class="nc">13796.807</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1272863600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">134.35779</span><span class="err"> </span><span class="nc">-474.45316</span><span class="err"> </span><span class="nc">78.96117</span><span class="err"> </span><span class="nc">3600.264</span><span class="err"> </span><span class="nc">14406.58</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1252052600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">135.9583</span><span class="err"> </span><span class="nc">-493.38254</span><span class="err"> </span><span class="nc">90.268616</span><span class="err"> </span><span class="nc">3764.0078</span><span class="err"> </span><span class="nc">15010.481</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1231713700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">137.54753</span><span class="err"> </span><span class="nc">-512.1876</span><span class="err"> </span><span class="nc">101.59372</span><span class="err"> </span><span class="nc">3926.4897</span><span class="err"> </span><span class="nc">15609.368</span>
-<span class="nt">1231713700.0</span><span class="na"> 137.54753 -512.1876 101.59372 3926.4897 15609.368</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient3</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient4</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Quartic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/gciTales/03-regression/5.png"/><h3>Quintic</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer5</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse5</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c,d,e,f:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse5</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">coefficient3</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
- <span class="n">coefficient4</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
- <span class="n">coefficient5</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1409200100.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">7.949472</span><span class="err"> </span><span class="nc">7.46219</span><span class="err"> </span><span class="nc">55.626034</span><span class="err"> </span><span class="nc">184.29028</span><span class="err"> </span><span class="nc">484.00223</span><span class="err"> </span><span class="nc">1024.0083</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1306882400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">8.732181</span><span class="err"> </span><span class="nc">-4.0085897</span><span class="err"> </span><span class="nc">73.25298</span><span class="err"> </span><span class="nc">315.90103</span><span class="err"> </span><span class="nc">904.08887</span><span class="err"> </span><span class="nc">2004.9749</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1212606000.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">9.732249</span><span class="err"> </span><span class="nc">-16.90125</span><span class="err"> </span><span class="nc">86.28379</span><span class="err"> </span><span class="nc">437.06552</span><span class="err"> </span><span class="nc">1305.055</span><span class="err"> </span><span class="nc">2966.2188</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1123640400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">10.74851</span><span class="err"> </span><span class="nc">-29.82692</span><span class="err"> </span><span class="nc">98.59997</span><span class="err"> </span><span class="nc">555.331</span><span class="err"> </span><span class="nc">1698.4631</span><span class="err"> </span><span class="nc">3917.9155</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1039694300.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">11.75426</span><span class="err"> </span><span class="nc">-42.598194</span><span class="err"> </span><span class="nc">110.698326</span><span class="err"> </span><span class="nc">671.64355</span><span class="err"> </span><span class="nc">2085.5513</span><span class="err"> </span><span class="nc">4860.8535</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">960663550.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">12.745439</span><span class="err"> </span><span class="nc">-55.18337</span><span class="err"> </span><span class="nc">122.644936</span><span class="err"> </span><span class="nc">786.00214</span><span class="err"> </span><span class="nc">2466.1638</span><span class="err"> </span><span class="nc">5794.3735</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">886438340.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">13.721028</span><span class="err"> </span><span class="nc">-67.57168</span><span class="err"> </span><span class="nc">134.43822</span><span class="err"> </span><span class="nc">898.3691</span><span class="err"> </span><span class="nc">2839.9958</span><span class="err"> </span><span class="nc">6717.659</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">816913100.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">14.679965</span><span class="err"> </span><span class="nc">-79.75113</span><span class="err"> </span><span class="nc">146.07385</span><span class="err"> </span><span class="nc">1008.66895</span><span class="err"> </span><span class="nc">3206.6692</span><span class="err"> </span><span class="nc">7629.812</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">751971500.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">15.62181</span><span class="err"> </span><span class="nc">-91.71608</span><span class="err"> </span><span class="nc">157.55713</span><span class="err"> </span><span class="nc">1116.7715</span><span class="err"> </span><span class="nc">3565.8323</span><span class="err"> </span><span class="nc">8529.976</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">691508740.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">16.545347</span><span class="err"> </span><span class="nc">-103.4531</span><span class="err"> </span><span class="nc">168.88321</span><span class="err"> </span><span class="nc">1222.6348</span><span class="err"> </span><span class="nc">3916.9785</span><span class="err"> </span><span class="nc">9416.236</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">635382000.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">17.450052</span><span class="err"> </span><span class="nc">-114.954254</span><span class="err"> </span><span class="nc">180.03932</span><span class="err"> </span><span class="nc">1326.1565</span><span class="err"> </span><span class="nc">4259.842</span><span class="err"> </span><span class="nc">10287.99</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">583477250.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">18.334944</span><span class="err"> </span><span class="nc">-126.20821</span><span class="err"> </span><span class="nc">191.02948</span><span class="err"> </span><span class="nc">1427.2095</span><span class="err"> </span><span class="nc">4593.8</span><span class="err"> </span><span class="nc">11143.449</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">535640400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">19.198917</span><span class="err"> </span><span class="nc">-137.20206</span><span class="err"> </span><span class="nc">201.84718</span><span class="err"> </span><span class="nc">1525.6926</span><span class="err"> </span><span class="nc">4918.5327</span><span class="err"> </span><span class="nc">11981.633</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">491722240.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">20.041153</span><span class="err"> </span><span class="nc">-147.92719</span><span class="err"> </span><span class="nc">212.49709</span><span class="err"> </span><span class="nc">1621.5496</span><span class="err"> </span><span class="nc">5233.627</span><span class="err"> </span><span class="nc">12800.468</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">451559520.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">20.860966</span><span class="err"> </span><span class="nc">-158.37456</span><span class="err"> </span><span class="nc">222.97133</span><span class="err"> </span><span class="nc">1714.7141</span><span class="err"> </span><span class="nc">5538.676</span><span class="err"> </span><span class="nc">13598.337</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">414988960.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">21.657421</span><span class="err"> </span><span class="nc">-168.53406</span><span class="err"> </span><span class="nc">233.27422</span><span class="err"> </span><span class="nc">1805.0874</span><span class="err"> </span><span class="nc">5833.1978</span><span class="err"> </span><span class="nc">14373.658</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">381837920.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">22.429693</span><span class="err"> </span><span class="nc">-178.39536</span><span class="err"> </span><span class="nc">243.39914</span><span class="err"> </span><span class="nc">1892.5883</span><span class="err"> </span><span class="nc">6116.847</span><span class="err"> </span><span class="nc">15124.394</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">351931300.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">23.176882</span><span class="err"> </span><span class="nc">-187.94789</span><span class="err"> </span><span class="nc">253.3445</span><span class="err"> </span><span class="nc">1977.137</span><span class="err"> </span><span class="nc">6389.117</span><span class="err"> </span><span class="nc">15848.417</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">325074400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">23.898485</span><span class="err"> </span><span class="nc">-197.18741</span><span class="err"> </span><span class="nc">263.12512</span><span class="err"> </span><span class="nc">2058.6716</span><span class="err"> </span><span class="nc">6649.8037</span><span class="err"> </span><span class="nc">16543.95</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">301073570.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">24.593851</span><span class="err"> </span><span class="nc">-206.10497</span><span class="err"> </span><span class="nc">272.72385</span><span class="err"> </span><span class="nc">2137.1797</span><span class="err"> </span><span class="nc">6898.544</span><span class="err"> </span><span class="nc">17209.367</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">279727000.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">25.262104</span><span class="err"> </span><span class="nc">-214.69217</span><span class="err"> </span><span class="nc">282.14642</span><span class="err"> </span><span class="nc">2212.6372</span><span class="err"> </span><span class="nc">7135.217</span><span class="err"> </span><span class="nc">17842.854</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">260845550.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">25.903376</span><span class="err"> </span><span class="nc">-222.94969</span><span class="err"> </span><span class="nc">291.4003</span><span class="err"> </span><span class="nc">2284.9844</span><span class="err"> </span><span class="nc">7359.4644</span><span class="err"> </span><span class="nc">18442.408</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">244218030.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">26.517094</span><span class="err"> </span><span class="nc">-230.8697</span><span class="err"> </span><span class="nc">300.45532</span><span class="err"> </span><span class="nc">2354.3003</span><span class="err"> </span><span class="nc">7571.261</span><span class="err"> </span><span class="nc">19007.49</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">229660080.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">27.102589</span><span class="err"> </span><span class="nc">-238.44817</span><span class="err"> </span><span class="nc">309.35342</span><span class="err"> </span><span class="nc">2420.4185</span><span class="err"> </span><span class="nc">7770.5728</span><span class="err"> </span><span class="nc">19536.19</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">216972400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">27.660324</span><span class="err"> </span><span class="nc">-245.69016</span><span class="err"> </span><span class="nc">318.10062</span><span class="err"> </span><span class="nc">2483.3608</span><span class="err"> </span><span class="nc">7957.354</span><span class="err"> </span><span class="nc">20027.707</span>
-<span class="nt">216972400.0</span><span class="na"> 27.660324 -245.69016 318.10062 2483.3608 7957.354 20027.707</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient3</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient4</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient5</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Quintic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="https://navanchauhan.github.io//assets/gciTales/03-regression/6.png"/><h2>Results and Conclusion</h2><p>You just learnt Polynomial Regression using TensorFlow!</p><h2>Notes</h2><h3>Overfitting</h3><blockquote><p>&gt; Overfitting refers to a model that models the training data too well.Overfitting happens when a model learns the detail and noise in the training data to the extent that it negatively impacts the performance of the model on new data. This means that the noise or random fluctuations in the training data is picked up and learned as concepts by the model. The problem is that these concepts do not apply to new data and negatively impact the models ability to generalise.</p></blockquote><blockquote><p>Source: Machine Learning Mastery</p></blockquote><p>Basically if you train your machine learning model on a small dataset for a really large number of epochs, the model will learn all the deformities/noise in the data and will actually think that it is a normal part. Therefore when it will see some new data, it will discard that new data as noise and will impact the accuracy of the model in a negative manner</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Prediction</guid><title>Making Predictions using Image Classifier (TensorFlow)</title><description>Making predictions for image classification models built using TensorFlow</description><link>https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Prediction</link><pubDate>Tue, 10 Dec 2019 11:10:00 +0530</pubDate><content:encoded><![CDATA[<h1>Making Predictions using Image Classifier (TensorFlow)</h1><p><em>This was tested on TF 2.x and works as of 2019-12-10</em></p><p>If you want to understand how to make your own custom image classifier, please refer to my previous post.</p><p>If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.</p><p>First we import the following if we have not imported these before</p><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">cv2</span>
-<span class="kn">import</span> <span class="nn">os</span>
-</div></code></pre><p>Then we read the file using OpenCV.</p><pre><code><div class="highlight"><span></span><span class="n">image</span><span class="o">=</span><span class="n">cv2</span><span class="o">.</span><span class="n">imread</span><span class="p">(</span><span class="n">imagePath</span><span class="p">)</span>
-</div></code></pre><p>The cv2. imread() function returns a NumPy array representing the image. Therefore, we need to convert it before we can use it.</p><pre><code><div class="highlight"><span></span><span class="n">image_from_array</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
-</div></code></pre><p>Then we resize the image</p><pre><code><div class="highlight"><span></span><span class="n">size_image</span> <span class="o">=</span> <span class="n">image_from_array</span><span class="o">.</span><span class="n">resize</span><span class="p">((</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">))</span>
-</div></code></pre><p>After this we create a batch consisting of only one image</p><pre><code><div class="highlight"><span></span><span class="n">p</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">expand_dims</span><span class="p">(</span><span class="n">size_image</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-</div></code></pre><p>We then convert this uint8 datatype to a float32 datatype</p><pre><code><div class="highlight"><span></span><span class="n">img</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">tf</span><span class="o">.</span><span class="n">float32</span><span class="p">)</span>
-</div></code></pre><p>Finally we make the prediction</p><pre><code><div class="highlight"><span></span><span class="nb">print</span><span class="p">([</span><span class="s1">&#39;Infected&#39;</span><span class="p">,</span><span class="s1">&#39;Uninfected&#39;</span><span class="p">][</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">img</span><span class="p">))])</span>
-</div></code></pre><p><code>Infected</code></p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflow</guid><title>Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</title><description>Tutorial on creating an image classifier model using TensorFlow which detects malaria</description><link>https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflow</link><pubDate>Sun, 8 Dec 2019 14:16:00 +0530</pubDate><content:encoded><![CDATA[<h1>Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</h1><p><strong>Done during Google Code-In. Org: Tensorflow.</strong></p><h2>Imports</h2><pre><code><div class="highlight"><span></span><span class="o">%</span><span class="n">tensorflow_version</span> <span class="mf">2.</span><span class="n">x</span> <span class="c1">#This is for telling Colab that you want to use TF 2.0, ignore if running on local machine</span>
-
-<span class="kn">from</span> <span class="nn">PIL</span> <span class="kn">import</span> <span class="n">Image</span> <span class="c1"># We use the PIL Library to resize images</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">cv2</span>
-<span class="kn">import</span> <span class="nn">tensorflow</span> <span class="k">as</span> <span class="nn">tf</span>
-<span class="kn">from</span> <span class="nn">tensorflow.keras</span> <span class="kn">import</span> <span class="n">datasets</span><span class="p">,</span> <span class="n">layers</span><span class="p">,</span> <span class="n">models</span>
-<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
-<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
-<span class="kn">from</span> <span class="nn">keras.models</span> <span class="kn">import</span> <span class="n">Sequential</span>
-<span class="kn">from</span> <span class="nn">keras.layers</span> <span class="kn">import</span> <span class="n">Conv2D</span><span class="p">,</span><span class="n">MaxPooling2D</span><span class="p">,</span><span class="n">Dense</span><span class="p">,</span><span class="n">Flatten</span><span class="p">,</span><span class="n">Dropout</span>
-</div></code></pre><h2>Dataset</h2><h3>Fetching the Data</h3><pre><code><div class="highlight"><span></span><span class="err">!</span><span class="n">wget</span> <span class="n">ftp</span><span class="p">:</span><span class="o">//</span><span class="n">lhcftp</span><span class="o">.</span><span class="n">nlm</span><span class="o">.</span><span class="n">nih</span><span class="o">.</span><span class="n">gov</span><span class="o">/</span><span class="n">Open</span><span class="o">-</span><span class="n">Access</span><span class="o">-</span><span class="n">Datasets</span><span class="o">/</span><span class="n">Malaria</span><span class="o">/</span><span class="n">cell_images</span><span class="o">.</span><span class="n">zip</span>
-<span class="err">!</span><span class="n">unzip</span> <span class="n">cell_images</span><span class="o">.</span><span class="n">zip</span>
-</div></code></pre><h3>Processing the Data</h3><p>We resize all the images as 50x50 and add the numpy array of that image as well as their label names (Infected or Not) to common arrays.</p><pre><code><div class="highlight"><span></span><span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="n">labels</span> <span class="o">=</span> <span class="p">[]</span>
-
-<span class="n">Parasitized</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="s2">&quot;./cell_images/Parasitized/&quot;</span><span class="p">)</span>
-<span class="k">for</span> <span class="n">parasite</span> <span class="ow">in</span> <span class="n">Parasitized</span><span class="p">:</span>
- <span class="k">try</span><span class="p">:</span>
- <span class="n">image</span><span class="o">=</span><span class="n">cv2</span><span class="o">.</span><span class="n">imread</span><span class="p">(</span><span class="s2">&quot;./cell_images/Parasitized/&quot;</span><span class="o">+</span><span class="n">parasite</span><span class="p">)</span>
- <span class="n">image_from_array</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">size_image</span> <span class="o">=</span> <span class="n">image_from_array</span><span class="o">.</span><span class="n">resize</span><span class="p">((</span><span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">))</span>
- <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">size_image</span><span class="p">))</span>
- <span class="n">labels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
- <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
-
-<span class="n">Uninfected</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="s2">&quot;./cell_images/Uninfected/&quot;</span><span class="p">)</span>
-<span class="k">for</span> <span class="n">uninfect</span> <span class="ow">in</span> <span class="n">Uninfected</span><span class="p">:</span>
- <span class="k">try</span><span class="p">:</span>
- <span class="n">image</span><span class="o">=</span><span class="n">cv2</span><span class="o">.</span><span class="n">imread</span><span class="p">(</span><span class="s2">&quot;./cell_images/Uninfected/&quot;</span><span class="o">+</span><span class="n">uninfect</span><span class="p">)</span>
- <span class="n">image_from_array</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">size_image</span> <span class="o">=</span> <span class="n">image_from_array</span><span class="o">.</span><span class="n">resize</span><span class="p">((</span><span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">))</span>
- <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">size_image</span><span class="p">))</span>
- <span class="n">labels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
- <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
-</div></code></pre><h3>Splitting Data</h3><pre><code><div class="highlight"><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
-<span class="n">labels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">labels</span><span class="p">)</span>
-<span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">)</span> <span class="o">=</span> <span class="n">df</span><span class="p">[(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">)):],</span><span class="n">df</span><span class="p">[:(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">))]</span>
-<span class="p">(</span><span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span><span class="p">)</span> <span class="o">=</span> <span class="n">labels</span><span class="p">[(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">labels</span><span class="p">)):],</span><span class="n">labels</span><span class="p">[:(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">labels</span><span class="p">))]</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nv">s</span><span class="o">=</span>np.arange<span class="o">(</span>X_train.shape<span class="o">[</span><span class="m">0</span><span class="o">])</span>
-np.random.shuffle<span class="o">(</span>s<span class="o">)</span>
-<span class="nv">X_train</span><span class="o">=</span>X_train<span class="o">[</span>s<span class="o">]</span>
-<span class="nv">y_train</span><span class="o">=</span>y_train<span class="o">[</span>s<span class="o">]</span>
-<span class="nv">X_train</span> <span class="o">=</span> X_train/255.0
-</div></code></pre><h2>Model</h2><h3>Creating Model</h3><p>By creating a sequential model, we create a linear stack of layers.</p><p><em>Note: The input shape for the first layer is 50,50 which corresponds with the sizes of the resized images</em></p><pre><code><div class="highlight"><span></span><span class="n">model</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">Sequential</span><span class="p">()</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="n">filters</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">kernel_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="s1">&#39;same&#39;</span><span class="p">,</span> <span class="n">activation</span><span class="o">=</span><span class="s1">&#39;relu&#39;</span><span class="p">,</span> <span class="n">input_shape</span><span class="o">=</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">3</span><span class="p">)))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">MaxPooling2D</span><span class="p">(</span><span class="n">pool_size</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="n">filters</span><span class="o">=</span><span class="mi">32</span><span class="p">,</span><span class="n">kernel_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="n">padding</span><span class="o">=</span><span class="s1">&#39;same&#39;</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s1">&#39;relu&#39;</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">MaxPooling2D</span><span class="p">(</span><span class="n">pool_size</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="n">filters</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span><span class="n">kernel_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="n">padding</span><span class="o">=</span><span class="s2">&quot;same&quot;</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s2">&quot;relu&quot;</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">MaxPooling2D</span><span class="p">(</span><span class="n">pool_size</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dropout</span><span class="p">(</span><span class="mf">0.2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Flatten</span><span class="p">())</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dense</span><span class="p">(</span><span class="mi">500</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s2">&quot;relu&quot;</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dropout</span><span class="p">(</span><span class="mf">0.2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dense</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s2">&quot;softmax&quot;</span><span class="p">))</span><span class="c1">#2 represent output layer neurons </span>
-<span class="n">model</span><span class="o">.</span><span class="n">summary</span><span class="p">()</span>
-</div></code></pre><h3>Compiling Model</h3><p>We use the Adam optimiser as it is an adaptive learning rate optimisation algorithm that's been designed specifically for <em>training</em> deep neural networks, which means it changes its learning rate automatically to get the best results</p><pre><code><div class="highlight"><span></span><span class="n">model</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">optimizer</span><span class="o">=</span><span class="s2">&quot;adam&quot;</span><span class="p">,</span>
- <span class="n">loss</span><span class="o">=</span><span class="s2">&quot;sparse_categorical_crossentropy&quot;</span><span class="p">,</span>
- <span class="n">metrics</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;accuracy&quot;</span><span class="p">])</span>
-</div></code></pre><h3>Training Model</h3><p>We train the model for 10 epochs on the training data and then validate it using the testing data</p><pre><code><div class="highlight"><span></span><span class="n">history</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span><span class="n">y_train</span><span class="p">,</span> <span class="n">epochs</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">validation_data</span><span class="o">=</span><span class="p">(</span><span class="n">X_test</span><span class="p">,</span><span class="n">y_test</span><span class="p">))</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">Train</span> <span class="n">on</span> <span class="mi">24803</span> <span class="n">samples</span><span class="p">,</span> <span class="n">validate</span> <span class="n">on</span> <span class="mi">2755</span> <span class="n">samples</span>
-<span class="n">Epoch</span> <span class="mi">1</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">57</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0786</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9729</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">2</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0746</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9731</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0290</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">0.9996</span>
-<span class="n">Epoch</span> <span class="mi">3</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0672</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9764</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">4</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0601</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9789</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">5</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0558</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9804</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">6</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">57</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0513</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9819</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">7</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0452</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9849</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.3190</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">0.9985</span>
-<span class="n">Epoch</span> <span class="mi">8</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0404</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9858</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">9</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0352</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9878</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">10</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0373</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9865</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-</div></code></pre><h3>Results</h3><pre><code><div class="highlight"><span></span><span class="n">accuracy</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;accuracy&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-<span class="n">loss</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;loss&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-<span class="n">val_accuracy</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;val_accuracy&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-<span class="n">val_loss</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;val_loss&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-
-<span class="nb">print</span><span class="p">(</span>
- <span class="s1">&#39;Accuracy:&#39;</span><span class="p">,</span> <span class="n">accuracy</span><span class="p">,</span>
- <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Loss:&#39;</span><span class="p">,</span> <span class="n">loss</span><span class="p">,</span>
- <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Validation Accuracy:&#39;</span><span class="p">,</span> <span class="n">val_accuracy</span><span class="p">,</span>
- <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Validation Loss:&#39;</span><span class="p">,</span> <span class="n">val_loss</span>
-<span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">Accuracy</span><span class="p">:</span> <span class="mf">98.64532351493835</span>
-<span class="n">Loss</span><span class="p">:</span> <span class="mf">3.732407123270176</span>
-<span class="n">Validation</span> <span class="n">Accuracy</span><span class="p">:</span> <span class="mf">100.0</span>
-<span class="n">Validation</span> <span class="n">Loss</span><span class="p">:</span> <span class="mf">0.0</span>
-</div></code></pre><p>We have achieved 98% Accuracy!</p><p><a href="https://colab.research.google.com/drive/1ZswDsxLwYZEnev89MzlL5Lwt6ut7iwp- "Colab Notebook"">Link to Colab Notebook</a></p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zips</guid><title>Splitting ZIPs into Multiple Parts</title><description>Short code snippet for splitting zips.</description><link>https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zips</link><pubDate>Sun, 8 Dec 2019 13:27:00 +0530</pubDate><content:encoded><![CDATA[<h1>Splitting ZIPs into Multiple Parts</h1><p><strong>Tested on macOS</strong></p><p>Creating the archive:</p><pre><code><div class="highlight"><span></span><span class="nt">zip</span><span class="na"> -r -s 5 oodlesofnoodles.zip website/</span>
-</div></code></pre><p>5 stands for each split files' size (in mb, kb and gb can also be specified)</p><p>For encrypting the zip:</p><pre><code><div class="highlight"><span></span><span class="nt">zip</span><span class="na"> -er -s 5 oodlesofnoodles.zip website</span>
-</div></code></pre><p>Extracting Files</p><p>First we need to collect all parts, then</p><pre><code><div class="highlight"><span></span><span class="nt">zip</span><span class="na"> -F oodlesofnoodles.zip --out merged.zip</span>
-</div></code></pre>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-12-04-Google-Teachable-Machines</guid><title>Image Classifier With Teachable Machines</title><description>Tutorial on creating a custom image classifier quickly with Google Teachable Machines</description><link>https://navanchauhan.github.io/posts/2019-12-04-Google-Teachable-Machines</link><pubDate>Wed, 4 Dec 2019 18:23:00 +0530</pubDate><content:encoded><![CDATA[<h1>Image Classifier With Teachable Machines</h1><p>Made for Google Code-In</p><p><strong>Task Description</strong></p><p>Using Glitch and the Teachable Machines, build a Book Detector with Tensorflow.js. When a book is recognized, the code would randomly suggest a book/tell a famous quote from a book. Here is an example Project to get you started: https://glitch.com/~voltaic-acorn</p><h3>Details</h3><ol><li>Collecting Data</li></ol><p>Teachable Machine allows you to create your dataset just by using your webcam! I created a database consisting of three classes ( Three Books ) and approximately grabbed 100 pictures for each book/class</p><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/01-collect.png"/><ol start="2"><li>Training</li></ol><p>Training on teachable machines is as simple as clicking the train button. I did not even have to modify any configurations.</p><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/02-train.png"/><ol start="3"><li>Finding Labels</li></ol><p>Because I originally entered the entire name of the book and it's author's name as the label, the class name got truncated (Note to self, use shorter class names :p ). I then modified the code to print the modified label names in an alert box.</p><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/03-label.png"/><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/04-alert.png"/><ol start="4"><li>Adding a suggestions function</li></ol><p>I first added a text field on the main page and then modified the JavaScript file to suggest a similar book whenever the model predicted with an accuracy &gt;= 98%</p><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/05-html.png"/><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/06-js.png"/><ol start="5"><li>Running!</li></ol><p>Here it is running!</p><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/07-eg.png"/><img src="https://navanchauhan.github.io//assets/gciTales/01-teachableMachines/08-eg.png"/><p>Remix this project:-</p><p>https://luminous-opinion.glitch.me</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response</guid><title>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response</title><description>This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.</description><link>https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response</link><pubDate>Tue, 14 May 2019 02:42:00 +0530</pubDate><content:encoded><![CDATA[<h1>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response</h1><blockquote><p>Based on the project showcased at Toyota Hackathon, IITD - 17/18th December 2018</p></blockquote><p>Edit: It seems like I haven't mentioned Adrian Rosebrock of PyImageSearch anywhere. I apologize for this mistake.</p><p><a href="https://www.irjet.net/archives/V6/i5/IRJET-V6I5318.pdf">Download paper here</a></p><p>Recommended citation:</p><h3>ATP</h3><pre><code><div class="highlight"><span></span>Chauhan, N. <span class="o">(</span><span class="m">2019</span><span class="o">)</span>. <span class="p">&amp;</span>quot<span class="p">;</span>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.<span class="p">&amp;</span>quot<span class="p">;</span> &lt;i&gt;International Research Journal of Engineering and Technology <span class="o">(</span>IRJET<span class="o">)</span>, <span class="m">6</span><span class="o">(</span><span class="m">5</span><span class="o">)</span>&lt;/i&gt;.
-</div></code></pre><h3>BibTeX</h3><pre><code><div class="highlight"><span></span>@article<span class="o">{</span>chauhan_2019, <span class="nv">title</span><span class="o">={</span>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response<span class="o">}</span>, <span class="nv">volume</span><span class="o">={</span><span class="m">6</span><span class="o">}</span>, <span class="nv">url</span><span class="o">={</span>https://www.irjet.net/archives/V6/i5/IRJET-V6I5318.pdf<span class="o">}</span>, <span class="nv">number</span><span class="o">={</span><span class="m">5</span><span class="o">}</span>, <span class="nv">journal</span><span class="o">={</span>International Research Journal of Engineering and Technology <span class="o">(</span>IRJET<span class="o">)}</span>, <span class="nv">author</span><span class="o">={</span>Chauhan, Navan<span class="o">}</span>, <span class="nv">year</span><span class="o">={</span><span class="m">2019</span><span class="o">}}</span>
-</div></code></pre>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2019-05-05-Custom-Snowboard-Anemone-Theme</guid><title>Creating your own custom theme for Snowboard or Anemone</title><description>Tutorial on creating your own custom theme for Snowboard or Anemone</description><link>https://navanchauhan.github.io/posts/2019-05-05-Custom-Snowboard-Anemone-Theme</link><pubDate>Sun, 5 May 2019 12:34:00 +0530</pubDate><content:encoded><![CDATA[<h1>Creating your own custom theme for Snowboard or Anemone</h1><h3>Contents</h3><ul><li>Getting Started</li><li>Theme Configuration</li><li>Creating Icons</li><li>Exporting Icons</li><li>Icon Masks</li><li>Packaging</li><li>Building the DEB</li></ul><h2>Getting Started</h2><p><strong>Note: Without the proper folder structure, your theme may not show up!</strong></p><ul><li>Create a new folder called <code>themeName.theme</code> (Replace themeName with your desired theme name)</li><li>Within <code>themeName.theme</code> folder, create another folder called <code>IconBundles</code> (<strong>You cannot change this name</strong>)</li></ul><h2>Theme Configuration</h2><ul><li>Now, inside the <code>themeName.theme</code> folder, create a file called <code>Info.plist</code> and paste the following</li></ul><pre><code><div class="highlight"><span></span>&lt;?xml <span class="nv">version</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span> <span class="nv">encoding</span><span class="o">=</span><span class="s2">&quot;UTF-8&quot;</span>?&gt;
-&lt;!DOCTYPE plist PUBLIC <span class="s2">&quot;-//Apple//DTD PLIST 1.0//EN&quot;</span> <span class="s2">&quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;</span>&gt;
- &lt;plist <span class="nv">version</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span>&gt;
- &lt;dict&gt;
- &lt;key&gt;PackageName&lt;/key&gt;
- &lt;string&gt;ThemeName&lt;/string&gt;
- &lt;key&gt;ThemeType&lt;/key&gt;
- &lt;string&gt;Icons&lt;/string&gt;
- &lt;/dict&gt;
-&lt;/plist&gt;
-</div></code></pre><ul><li>Replace <code>PackageName</code> with the name of the Package and replace <code>ThemeName</code> with the Theme Name</li></ul><p>Now, you might ask what is the difference between <code>PackageName</code> and <code>ThemeName</code>?</p><p>Well, if for example you want to publish two variants of your icons, one dark and one white but you do not want the user to seperately install them. Then, you would name the package <code>MyTheme</code> and include two themes <code>Blackie</code> and <code>White</code> thus creating two entries. More about this in the end</p><h2>Creating Icons</h2><ul><li>Open up the Image Editor of your choice and create a new file having a resolution of 512x512</li></ul><p><strong>Note: Due to IconBundles, we just need to create the icons in one size and they get resized automatically</strong> :ghost:</p><p><strong>Want to create rounded icons?</strong> Create them squared only, we will learn how to apply masks!</p><h2>Exporting Icons</h2><p><strong>Note: All icons must be saved as <code>*.png</code> (Tip: This means you can even create partially transparent icons!)</strong></p><ul><li>All Icons must be saved in <code>themeName.theme&gt;IconBundles</code> as <code>bundleID-large.png</code></li></ul><h5>Finding BundleIDs</h5><p><strong>Stock Application BundleIDs</strong></p><table><thead><tr><th>Name</th><th>BundleID</th></tr></thead><tbody><tr><td>App Store</td><td>com.apple.AppStore</td></tr><tr><td>Apple Watch</td><td>com.apple.Bridge</td></tr><tr><td>Calculator</td><td>com.apple.calculator</td></tr><tr><td>Calendar</td><td>com.apple.mobilecal</td></tr><tr><td>Camera</td><td>com.apple.camera</td></tr><tr><td>Classroom</td><td>com.apple.classroom</td></tr><tr><td>Clock</td><td>com.apple.mobiletimer</td></tr><tr><td>Compass</td><td>com.apple.compass</td></tr><tr><td>FaceTime</td><td>com.apple.facetime</td></tr><tr><td>Files</td><td>com.apple.DocumentsApp</td></tr><tr><td>Game Center</td><td>com.apple.gamecenter</td></tr><tr><td>Health</td><td>com.apple.Health</td></tr><tr><td>Home</td><td>com.apple.Home</td></tr><tr><td>iBooks</td><td>com.apple.iBooks</td></tr><tr><td>iTunes Store</td><td>com.apple.MobileStore</td></tr><tr><td>Mail</td><td>com.apple.mobilemail</td></tr><tr><td>Maps</td><td>com.apple.Maps</td></tr><tr><td>Measure</td><td>com.apple.measure</td></tr><tr><td>Messages</td><td>com.apple.MobileSMS</td></tr><tr><td>Music</td><td>com.apple.Music</td></tr><tr><td>News</td><td>com.apple.news</td></tr><tr><td>Notes</td><td>com.apple.mobilenotes</td></tr><tr><td>Phone</td><td>com.apple.mobilephone</td></tr><tr><td>Photo Booth</td><td>com.apple.Photo-Booth</td></tr><tr><td>Photos</td><td>com.apple.mobileslideshow</td></tr><tr><td>Playgrounds</td><td>come.apple.Playgrounds</td></tr><tr><td>Podcasts</td><td>com.apple.podcasts</td></tr><tr><td>Reminders</td><td>com.apple.reminders</td></tr><tr><td>Safari</td><td>com.apple.mobilesafari</td></tr><tr><td>Settings</td><td>com.apple.Preferences</td></tr><tr><td>Stocks</td><td>com.apple.stocks</td></tr><tr><td>Tips</td><td>com.apple.tips</td></tr><tr><td>TV</td><td>com.apple.tv</td></tr><tr><td>Videos</td><td>com.apple.videos</td></tr><tr><td>Voice Memos</td><td>com.apple.VoiceMemos</td></tr><tr><td>Wallet</td><td>com.apple.Passbook</td></tr><tr><td>Weather</td><td>com.apple.weather</td></tr></tbody></table><p><strong>3rd Party Applications BundleID</strong> Click <a href="http://offcornerdev.com/bundleid.html">here</a></p><h3>Icon Masks</h3><ul><li>Getting the Classic Rounded Rectangle Masks</li></ul><p>In your <code>Info.plist</code> file add the following value between <code>&lt;dict&gt;</code> and </dict>
-
-```
-<key>IB-MaskIcons</key>
- <true/>
-```
-
-* Custom Icon Masks
-
-**NOTE: This is an optional step, if you do not want Icon Masks, skip this step**
-
-* Inside your `themeName.theme` folder, create another folder called 'Bundles'
- * Inside `Bundles` create another folder called `com.apple.mobileicons.framework`
-
-#### Designing Masks
-
-**Masking does not support IconBundles, therefore you need to save the masks for each of the following**
-
-| File | Resolution |
-|------|------------|
-| AppIconMask@2x~ipad.png | 152x512 |
-| AppIconMask@2x~iphone.png | 120x120 |
-| AppIconMask@3x~ipad.png | 180x180 |
-| AppIconMask@3x~iphone.png | 180x180 |
-| AppIconMask~ipad.png | 76x76 |
-| DocumentBadgeMask-20@2x.png | 40x40 |
-| DocumentBadgeMask-145@2x.png | 145x145 |
-| GameAppIconMask@2x.png | 84x84 |
-| NotificationAppIconMask@2x.png | 40x40 |
-| NotificationAppIconMask@3x.png | 60x60 |
-| SpotlightAppIconMask@2x.png | 80x80 |
-| SpotlightAppIconMask@3x.png | 120x120 |
-| TableIconMask@2x.png | 58x58 |
-| TableIconOutline@2x.png | 58x58 |
-
-* While creating the mask, make sure that the background is not a solid colour and is transparent
-* Whichever area you want to make visible, it should be coloured in black
-
-Example (Credits: Pinpal):
-
-![Credit: Pinpal](https://pinpal.github.io/assets/theme-guide/mask-demo.png)
-
-would result in
-
-![Credit: Pinpal](https://pinpal.github.io/assets/theme-guide/mask-result.png)
-
-### Packaging
-
-* Create a new folder outside `themeName.theme` with the name you want to be shown on Cydia, e.g `themeNameForCydia`
-* Create another folder called `DEBIAN` in `themeNameForCydia` (It needs to be uppercase)
-* In `DEBIAN` create an extension-less file called `control` and edit it using your favourite text editor
-
-Paste the following in it, replacing `yourname`, `themename`, `Theme Name`, `A theme with beautiful icons!` and `Your Name` with your details:
-
-```
-Package: com.yourname.themename
-Name: Theme Name
-Version: 1.0
-Architecture: iphoneos-arm
-Description: A theme with beautiful icons!
-Author: Your Name
-Maintainer: Your Name
-Section: Themes
-```
-
-* Important Notes:
- * The package field **MUST** be lower case!
- * The version field **MUST** be changed every-time you update your theme!
- * The control file **MUST** have an extra blank line at the bottom!
-
-* Now, Create another folder called `Library` in `themeNameForCydia`
-* In `Library` create another folder called `Themes`
-* Finally, copy `themeName.theme` to the `Themes` folder (**Copy the entire folder, not just the contents**)
-
-### Building the DEB
-
-**For building the deb you need a `*nix` system, otherwise you can build it using your iPhones**
-
-##### Pre-Requisite for MacOS users
-1) Install Homenbrew `/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` (Run this in the terminal)
-2) Install dpkg, by running `brew install dpkg`
-
-**There is a terrible thing called .DS_Store which if not removed, will cause a problem during either build or installation**
-
-* To remove this we first need to open the folder in the terminal
-
-* Launch the Terminal and then drag-and-drop the 'themeNameForCydia' folder on the Terminal icon in the dock
-* Now, run `find . -name "*.DS_Store" -type f -delete`
-
-##### Pre-Requisite for Windows Users
-* SSH into your iPhone and drag and drop the `themeNameForCyia` folder on the terminal
-
-##### Common Instructions
-
-* You should be at the root of the folder in the terminal, i.e Inside `themeNameForCydia`
-* running `ls` should show the following output
-
-```
-DEBIAN Library
-```
-
-* Now, in the terminal enter the following `cd .. && dpkg -b themeNameForCydia `
-
-**Now you will have the `themeNameForCydia.deb` in the same directory**
-
-You can share this with your friends :+1:
-</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/hello-world</guid><title>Hello World</title><description>My first post.</description><link>https://navanchauhan.github.io/posts/hello-world</link><pubDate>Tue, 16 Apr 2019 17:39:00 +0530</pubDate><content:encoded><![CDATA[<h1>Hello World</h1><p><strong>Why a Hello World post?</strong></p><p>Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)</p>]]></content:encoded></item><item><guid isPermaLink="true">https://navanchauhan.github.io/posts/2010-01-24-experiments</guid><title>Experiments</title><description>Just a markdown file for all experiments related to the website</description><link>https://navanchauhan.github.io/posts/2010-01-24-experiments</link><pubDate>Sun, 24 Jan 2010 23:43:00 +0530</pubDate><content:encoded><![CDATA[<h1>Experiments</h1><p>https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-original.jpg</p><iframe frameborder="0" class="juxtapose" width="100%" height="675" src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=c600ff8c-3edc-11ea-b9b8-0edaf8f81e27"></iframe>]]></content:encoded></item></channel></rss> \ No newline at end of file
diff --git a/googlecb0897d479c87d97.html b/googlecb0897d479c87d97.html
deleted file mode 100644
index 5907da5..0000000
--- a/googlecb0897d479c87d97.html
+++ /dev/null
@@ -1 +0,0 @@
-google-site-verification: googlecb0897d479c87d97.html \ No newline at end of file
diff --git a/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png b/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png
deleted file mode 100644
index c277bbc..0000000
--- a/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png b/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png
deleted file mode 100644
index 643a2bd..0000000
--- a/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png b/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png
deleted file mode 100644
index 1dcb03d..0000000
--- a/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png b/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png
deleted file mode 100644
index 02e58c4..0000000
--- a/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png b/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png
deleted file mode 100644
index cc36571..0000000
--- a/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png b/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png
deleted file mode 100644
index 76e34bc..0000000
--- a/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png b/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png
deleted file mode 100644
index f659b0b..0000000
--- a/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png b/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png
deleted file mode 100644
index 31c4507..0000000
--- a/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png b/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png
deleted file mode 100644
index baf1814..0000000
--- a/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png b/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png
deleted file mode 100644
index adbf1a3..0000000
--- a/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png b/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png
deleted file mode 100644
index 7cfe2a7..0000000
--- a/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png b/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png
deleted file mode 100644
index a5be51a..0000000
--- a/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png b/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png
deleted file mode 100644
index bbc54fc..0000000
--- a/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png b/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png
deleted file mode 100644
index 80c3c4f..0000000
--- a/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png b/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png
deleted file mode 100644
index f1bc144..0000000
--- a/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png b/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png
deleted file mode 100644
index aad0184..0000000
--- a/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png b/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png
deleted file mode 100644
index d4c320d..0000000
--- a/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png b/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png
deleted file mode 100644
index bb5762e..0000000
--- a/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png b/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png
deleted file mode 100644
index ea79c57..0000000
--- a/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png
+++ /dev/null
Binary files differ
diff --git a/images/favicon.png b/images/favicon.png
deleted file mode 100644
index ce3a263..0000000
--- a/images/favicon.png
+++ /dev/null
Binary files differ
diff --git a/images/logo.png b/images/logo.png
deleted file mode 100644
index caaf43c..0000000
--- a/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/images/me.jpeg b/images/me.jpeg
deleted file mode 100644
index cf70e23..0000000
--- a/images/me.jpeg
+++ /dev/null
Binary files differ
diff --git a/index.html b/index.html
deleted file mode 100644
index 2e2779f..0000000
--- a/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/"/><meta name="twitter:url" content="https://navanchauhan.github.io/"/><meta name="og:url" content="https://navanchauhan.github.io/"/><title>👋 Hi! | Navan Chauhan</title><meta name="twitter:title" content="👋 Hi! | Navan Chauhan"/><meta name="og:title" content="👋 Hi! | Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><link rel="manifest" href="manifest.json"/></head><head><meta name="google-site-verification" content="LVeSZxz-QskhbEjHxOi7-BM5dDxTg53x2TwrjFxfL0k"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>👋 Hi!</h1><p class="description">Welcome to my personal fragment of the internet. Majority of the posts should be complete.</p><h2>Latest content</h2><ul class="item-list"><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li><li><article><h1><a href="/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS">Fixing X11 Error on macOS Catalina for AmberTools 18/19</a></h1><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul><span>🕑 2 minute read. April 13, 2020</span><p>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</p></article></li><li><article><h1><a href="/publications/2020-03-17-Possible-Drug-Candidates-COVID-19">Possible Drug Candidates for COVID-19</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 17, 2020</span><p>COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered.</p></article></li><li><article><h1><a href="/publications/2020-03-14-generating-vaporwave">Is it possible to programmatically generate Vaporwave?</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 14, 2020</span><p>This paper is about programmaticaly generating Vaporwave.</p></article></li><li><article><h1><a href="/posts/2020-03-08-Making-Vaporwave-Track">Making My First Vaporwave Track (Remix)</a></h1><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul><span>🕑 2 minute read. March 8, 2020</span><p>I made my first vaporwave remix</p></article></li><li><article><h1><a href="/posts/2020-03-03-Playing-With-Android-TV">Tinkering with an Android TV</a></h1><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul><span>🕑 1 minute read. March 3, 2020</span><p>Tinkering with an Android TV</p></article></li><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2020-01-14-Converting-between-PIL-NumPy">Converting between image and NumPy array</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. January 14, 2020</span><p>Short code snippet for converting between PIL image and NumPy arrays.</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li><li><article><h1><a href="/posts/2019-12-08-Splitting-Zips">Splitting ZIPs into Multiple Parts</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. December 8, 2019</span><p>Short code snippet for splitting zips.</p></article></li><li><article><h1><a href="/posts/2019-12-04-Google-Teachable-Machines">Image Classifier With Teachable Machines</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 2 minute read. December 4, 2019</span><p>Tutorial on creating a custom image classifier quickly with Google Teachable Machines</p></article></li><li><article><h1><a href="/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response">Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li></ul><span>🕑 1 minute read. May 14, 2019</span><p>This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.</p></article></li><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li><li><article><h1><a href="/posts/hello-world">Hello World</a></h1><ul class="tag-list"><li><a href="/tags/helloworld">hello-world</a></li></ul><span>🕑 1 minute read. April 16, 2019</span><p>My first post.</p></article></li><li><article><h1><a href="/posts/2010-01-24-experiments">Experiments</a></h1><ul class="tag-list"><li><a href="/tags/experiment">Experiment</a></li></ul><span>🕑 1 minute read. January 24, 2010</span><p>Just a markdown file for all experiments related to the website</p></article></li></ul></div><script src="assets/manup.min.js"></script><script src="/pwabuilder-sw-register.js"></script><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/manifest.json b/manifest.json
deleted file mode 100644
index bb4ec5d..0000000
--- a/manifest.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "dir": "ltr",
- "lang": "en",
- "name": "Hi! | Navan Chauhan",
- "scope": "/",
- "display": "fullscreen",
- "start_url": "https://navanchauhan.github.io/",
- "short_name": "Navan Chauhan",
- "theme_color": "black",
- "description": "Welcome to my personal fragment of the internet.",
- "orientation": "any",
- "background_color": "transparent",
- "related_applications": [],
- "prefer_related_applications": false,
- "icons": [
- {
- "src": "/images/favicon.png",
- "type": "image/png",
- "sizes": "32x32"
- },
- {
- "src": "/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png",
- "sizes": "44x44",
- "type": "image/png"
- },
- {
- "src": "/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png",
- "sizes": "48x48",
- "type": "image/png"
- },
- {
- "src": "/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png",
- "sizes": "1240x600",
- "type": "image/png"
- },
- {
- "src": "/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png",
- "sizes": "300x300",
- "type": "image/png"
- },
- {
- "src": "/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png",
- "sizes": "150x150",
- "type": "image/png"
- },
- {
- "src": "/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png",
- "sizes": "88x88",
- "type": "image/png"
- },
- {
- "src": "/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png",
- "sizes": "24x24",
- "type": "image/png"
- },
- {
- "src": "/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png",
- "sizes": "50x50",
- "type": "image/png"
- },
- {
- "src": "/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png",
- "sizes": "620x300",
- "type": "image/png"
- },
- {
- "src": "/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png",
- "sizes": "144x144",
- "type": "image/png"
- },
- {
- "src": "/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png",
- "sizes": "96x96",
- "type": "image/png"
- },
- {
- "src": "/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png",
- "sizes": "72x72",
- "type": "image/png"
- },
- {
- "src": "/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png",
- "sizes": "36x36",
- "type": "image/png"
- },
- {
- "src": "/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png",
- "sizes": "1024x1024",
- "type": "image/png"
- },
- {
- "src": "/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png",
- "sizes": "180x180",
- "type": "image/png"
- },
- {
- "src": "/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png",
- "sizes": "152x152",
- "type": "image/png"
- },
- {
- "src": "/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png",
- "sizes": "120x120",
- "type": "image/png"
- },
- {
- "src": "/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png",
- "sizes": "76x76",
- "type": "image/png"
- }
- ],
- "url": "https://navanchauhan.github.io",
- "screenshots": []
-}
diff --git a/posts/2010-01-24-experiments/index.html b/posts/2010-01-24-experiments/index.html
deleted file mode 100644
index 579ba5b..0000000
--- a/posts/2010-01-24-experiments/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2010-01-24-experiments"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2010-01-24-experiments"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2010-01-24-experiments"/><title>Experiments | Navan Chauhan</title><meta name="twitter:title" content="Experiments | Navan Chauhan"/><meta name="og:title" content="Experiments | Navan Chauhan"/><meta name="description" content="Just a markdown file for all experiments related to the website"/><meta name="twitter:description" content="Just a markdown file for all experiments related to the website"/><meta name="og:description" content="Just a markdown file for all experiments related to the website"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on January 24, 2010</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Experiments</h1><p>https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-original.jpg</p><iframe frameborder="0" class="juxtapose" width="100%" height="675" src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=c600ff8c-3edc-11ea-b9b8-0edaf8f81e27"></iframe></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/experiment">Experiment</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html b/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html
deleted file mode 100644
index 02d0296..0000000
--- a/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-05-05-Custom-Snowboard-Anemone-Theme"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-05-05-Custom-Snowboard-Anemone-Theme"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-05-05-Custom-Snowboard-Anemone-Theme"/><title>Creating your own custom theme for Snowboard or Anemone | Navan Chauhan</title><meta name="twitter:title" content="Creating your own custom theme for Snowboard or Anemone | Navan Chauhan"/><meta name="og:title" content="Creating your own custom theme for Snowboard or Anemone | Navan Chauhan"/><meta name="description" content="Tutorial on creating your own custom theme for Snowboard or Anemone"/><meta name="twitter:description" content="Tutorial on creating your own custom theme for Snowboard or Anemone"/><meta name="og:description" content="Tutorial on creating your own custom theme for Snowboard or Anemone"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">5 minute read</span><span class="reading-time">Created on May 5, 2019</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Creating your own custom theme for Snowboard or Anemone</h1><h3>Contents</h3><ul><li>Getting Started</li><li>Theme Configuration</li><li>Creating Icons</li><li>Exporting Icons</li><li>Icon Masks</li><li>Packaging</li><li>Building the DEB</li></ul><h2>Getting Started</h2><p><strong>Note: Without the proper folder structure, your theme may not show up!</strong></p><ul><li>Create a new folder called <code>themeName.theme</code> (Replace themeName with your desired theme name)</li><li>Within <code>themeName.theme</code> folder, create another folder called <code>IconBundles</code> (<strong>You cannot change this name</strong>)</li></ul><h2>Theme Configuration</h2><ul><li>Now, inside the <code>themeName.theme</code> folder, create a file called <code>Info.plist</code> and paste the following</li></ul><pre><code><div class="highlight"><span></span>&lt;?xml <span class="nv">version</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span> <span class="nv">encoding</span><span class="o">=</span><span class="s2">&quot;UTF-8&quot;</span>?&gt;
-&lt;!DOCTYPE plist PUBLIC <span class="s2">&quot;-//Apple//DTD PLIST 1.0//EN&quot;</span> <span class="s2">&quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;</span>&gt;
- &lt;plist <span class="nv">version</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span>&gt;
- &lt;dict&gt;
- &lt;key&gt;PackageName&lt;/key&gt;
- &lt;string&gt;ThemeName&lt;/string&gt;
- &lt;key&gt;ThemeType&lt;/key&gt;
- &lt;string&gt;Icons&lt;/string&gt;
- &lt;/dict&gt;
-&lt;/plist&gt;
-</div></code></pre><ul><li>Replace <code>PackageName</code> with the name of the Package and replace <code>ThemeName</code> with the Theme Name</li></ul><p>Now, you might ask what is the difference between <code>PackageName</code> and <code>ThemeName</code>?</p><p>Well, if for example you want to publish two variants of your icons, one dark and one white but you do not want the user to seperately install them. Then, you would name the package <code>MyTheme</code> and include two themes <code>Blackie</code> and <code>White</code> thus creating two entries. More about this in the end</p><h2>Creating Icons</h2><ul><li>Open up the Image Editor of your choice and create a new file having a resolution of 512x512</li></ul><p><strong>Note: Due to IconBundles, we just need to create the icons in one size and they get resized automatically</strong> :ghost:</p><p><strong>Want to create rounded icons?</strong> Create them squared only, we will learn how to apply masks!</p><h2>Exporting Icons</h2><p><strong>Note: All icons must be saved as <code>*.png</code> (Tip: This means you can even create partially transparent icons!)</strong></p><ul><li>All Icons must be saved in <code>themeName.theme&gt;IconBundles</code> as <code>bundleID-large.png</code></li></ul><h5>Finding BundleIDs</h5><p><strong>Stock Application BundleIDs</strong></p><table><thead><tr><th>Name</th><th>BundleID</th></tr></thead><tbody><tr><td>App Store</td><td>com.apple.AppStore</td></tr><tr><td>Apple Watch</td><td>com.apple.Bridge</td></tr><tr><td>Calculator</td><td>com.apple.calculator</td></tr><tr><td>Calendar</td><td>com.apple.mobilecal</td></tr><tr><td>Camera</td><td>com.apple.camera</td></tr><tr><td>Classroom</td><td>com.apple.classroom</td></tr><tr><td>Clock</td><td>com.apple.mobiletimer</td></tr><tr><td>Compass</td><td>com.apple.compass</td></tr><tr><td>FaceTime</td><td>com.apple.facetime</td></tr><tr><td>Files</td><td>com.apple.DocumentsApp</td></tr><tr><td>Game Center</td><td>com.apple.gamecenter</td></tr><tr><td>Health</td><td>com.apple.Health</td></tr><tr><td>Home</td><td>com.apple.Home</td></tr><tr><td>iBooks</td><td>com.apple.iBooks</td></tr><tr><td>iTunes Store</td><td>com.apple.MobileStore</td></tr><tr><td>Mail</td><td>com.apple.mobilemail</td></tr><tr><td>Maps</td><td>com.apple.Maps</td></tr><tr><td>Measure</td><td>com.apple.measure</td></tr><tr><td>Messages</td><td>com.apple.MobileSMS</td></tr><tr><td>Music</td><td>com.apple.Music</td></tr><tr><td>News</td><td>com.apple.news</td></tr><tr><td>Notes</td><td>com.apple.mobilenotes</td></tr><tr><td>Phone</td><td>com.apple.mobilephone</td></tr><tr><td>Photo Booth</td><td>com.apple.Photo-Booth</td></tr><tr><td>Photos</td><td>com.apple.mobileslideshow</td></tr><tr><td>Playgrounds</td><td>come.apple.Playgrounds</td></tr><tr><td>Podcasts</td><td>com.apple.podcasts</td></tr><tr><td>Reminders</td><td>com.apple.reminders</td></tr><tr><td>Safari</td><td>com.apple.mobilesafari</td></tr><tr><td>Settings</td><td>com.apple.Preferences</td></tr><tr><td>Stocks</td><td>com.apple.stocks</td></tr><tr><td>Tips</td><td>com.apple.tips</td></tr><tr><td>TV</td><td>com.apple.tv</td></tr><tr><td>Videos</td><td>com.apple.videos</td></tr><tr><td>Voice Memos</td><td>com.apple.VoiceMemos</td></tr><tr><td>Wallet</td><td>com.apple.Passbook</td></tr><tr><td>Weather</td><td>com.apple.weather</td></tr></tbody></table><p><strong>3rd Party Applications BundleID</strong> Click <a href="http://offcornerdev.com/bundleid.html">here</a></p><h3>Icon Masks</h3><ul><li>Getting the Classic Rounded Rectangle Masks</li></ul><p>In your <code>Info.plist</code> file add the following value between <code>&lt;dict&gt;</code> and </dict>
-
-```
-<key>IB-MaskIcons</key>
- <true/>
-```
-
-* Custom Icon Masks
-
-**NOTE: This is an optional step, if you do not want Icon Masks, skip this step**
-
-* Inside your `themeName.theme` folder, create another folder called 'Bundles'
- * Inside `Bundles` create another folder called `com.apple.mobileicons.framework`
-
-#### Designing Masks
-
-**Masking does not support IconBundles, therefore you need to save the masks for each of the following**
-
-| File | Resolution |
-|------|------------|
-| AppIconMask@2x~ipad.png | 152x512 |
-| AppIconMask@2x~iphone.png | 120x120 |
-| AppIconMask@3x~ipad.png | 180x180 |
-| AppIconMask@3x~iphone.png | 180x180 |
-| AppIconMask~ipad.png | 76x76 |
-| DocumentBadgeMask-20@2x.png | 40x40 |
-| DocumentBadgeMask-145@2x.png | 145x145 |
-| GameAppIconMask@2x.png | 84x84 |
-| NotificationAppIconMask@2x.png | 40x40 |
-| NotificationAppIconMask@3x.png | 60x60 |
-| SpotlightAppIconMask@2x.png | 80x80 |
-| SpotlightAppIconMask@3x.png | 120x120 |
-| TableIconMask@2x.png | 58x58 |
-| TableIconOutline@2x.png | 58x58 |
-
-* While creating the mask, make sure that the background is not a solid colour and is transparent
-* Whichever area you want to make visible, it should be coloured in black
-
-Example (Credits: Pinpal):
-
-![Credit: Pinpal](https://pinpal.github.io/assets/theme-guide/mask-demo.png)
-
-would result in
-
-![Credit: Pinpal](https://pinpal.github.io/assets/theme-guide/mask-result.png)
-
-### Packaging
-
-* Create a new folder outside `themeName.theme` with the name you want to be shown on Cydia, e.g `themeNameForCydia`
-* Create another folder called `DEBIAN` in `themeNameForCydia` (It needs to be uppercase)
-* In `DEBIAN` create an extension-less file called `control` and edit it using your favourite text editor
-
-Paste the following in it, replacing `yourname`, `themename`, `Theme Name`, `A theme with beautiful icons!` and `Your Name` with your details:
-
-```
-Package: com.yourname.themename
-Name: Theme Name
-Version: 1.0
-Architecture: iphoneos-arm
-Description: A theme with beautiful icons!
-Author: Your Name
-Maintainer: Your Name
-Section: Themes
-```
-
-* Important Notes:
- * The package field **MUST** be lower case!
- * The version field **MUST** be changed every-time you update your theme!
- * The control file **MUST** have an extra blank line at the bottom!
-
-* Now, Create another folder called `Library` in `themeNameForCydia`
-* In `Library` create another folder called `Themes`
-* Finally, copy `themeName.theme` to the `Themes` folder (**Copy the entire folder, not just the contents**)
-
-### Building the DEB
-
-**For building the deb you need a `*nix` system, otherwise you can build it using your iPhones**
-
-##### Pre-Requisite for MacOS users
-1) Install Homenbrew `/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` (Run this in the terminal)
-2) Install dpkg, by running `brew install dpkg`
-
-**There is a terrible thing called .DS_Store which if not removed, will cause a problem during either build or installation**
-
-* To remove this we first need to open the folder in the terminal
-
-* Launch the Terminal and then drag-and-drop the 'themeNameForCydia' folder on the Terminal icon in the dock
-* Now, run `find . -name "*.DS_Store" -type f -delete`
-
-##### Pre-Requisite for Windows Users
-* SSH into your iPhone and drag and drop the `themeNameForCyia` folder on the terminal
-
-##### Common Instructions
-
-* You should be at the root of the folder in the terminal, i.e Inside `themeNameForCydia`
-* running `ls` should show the following output
-
-```
-DEBIAN Library
-```
-
-* Now, in the terminal enter the following `cd .. && dpkg -b themeNameForCydia `
-
-**Now you will have the `themeNameForCydia.deb` in the same directory**
-
-You can share this with your friends :+1:
-</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-12-04-Google-Teachable-Machines/index.html b/posts/2019-12-04-Google-Teachable-Machines/index.html
deleted file mode 100644
index f74eb01..0000000
--- a/posts/2019-12-04-Google-Teachable-Machines/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-12-04-Google-Teachable-Machines"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-12-04-Google-Teachable-Machines"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-12-04-Google-Teachable-Machines"/><title>Image Classifier With Teachable Machines | Navan Chauhan</title><meta name="twitter:title" content="Image Classifier With Teachable Machines | Navan Chauhan"/><meta name="og:title" content="Image Classifier With Teachable Machines | Navan Chauhan"/><meta name="description" content="Tutorial on creating a custom image classifier quickly with Google Teachable Machines"/><meta name="twitter:description" content="Tutorial on creating a custom image classifier quickly with Google Teachable Machines"/><meta name="og:description" content="Tutorial on creating a custom image classifier quickly with Google Teachable Machines"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">2 minute read</span><span class="reading-time">Created on December 4, 2019</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Image Classifier With Teachable Machines</h1><p>Made for Google Code-In</p><p><strong>Task Description</strong></p><p>Using Glitch and the Teachable Machines, build a Book Detector with Tensorflow.js. When a book is recognized, the code would randomly suggest a book/tell a famous quote from a book. Here is an example Project to get you started: https://glitch.com/~voltaic-acorn</p><h3>Details</h3><ol><li>Collecting Data</li></ol><p>Teachable Machine allows you to create your dataset just by using your webcam! I created a database consisting of three classes ( Three Books ) and approximately grabbed 100 pictures for each book/class</p><img src="/assets/gciTales/01-teachableMachines/01-collect.png"/><ol start="2"><li>Training</li></ol><p>Training on teachable machines is as simple as clicking the train button. I did not even have to modify any configurations.</p><img src="/assets/gciTales/01-teachableMachines/02-train.png"/><ol start="3"><li>Finding Labels</li></ol><p>Because I originally entered the entire name of the book and it's author's name as the label, the class name got truncated (Note to self, use shorter class names :p ). I then modified the code to print the modified label names in an alert box.</p><img src="/assets/gciTales/01-teachableMachines/03-label.png"/><img src="/assets/gciTales/01-teachableMachines/04-alert.png"/><ol start="4"><li>Adding a suggestions function</li></ol><p>I first added a text field on the main page and then modified the JavaScript file to suggest a similar book whenever the model predicted with an accuracy &gt;= 98%</p><img src="/assets/gciTales/01-teachableMachines/05-html.png"/><img src="/assets/gciTales/01-teachableMachines/06-js.png"/><ol start="5"><li>Running!</li></ol><p>Here it is running!</p><img src="/assets/gciTales/01-teachableMachines/07-eg.png"/><img src="/assets/gciTales/01-teachableMachines/08-eg.png"/><p>Remix this project:-</p><p>https://luminous-opinion.glitch.me</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-12-08-Image-Classifier-Tensorflow/index.html b/posts/2019-12-08-Image-Classifier-Tensorflow/index.html
deleted file mode 100644
index 004ec1c..0000000
--- a/posts/2019-12-08-Image-Classifier-Tensorflow/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflow"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflow"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflow"/><title>Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan</title><meta name="twitter:title" content="Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan"/><meta name="og:title" content="Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan"/><meta name="description" content="Tutorial on creating an image classifier model using TensorFlow which detects malaria"/><meta name="twitter:description" content="Tutorial on creating an image classifier model using TensorFlow which detects malaria"/><meta name="og:description" content="Tutorial on creating an image classifier model using TensorFlow which detects malaria"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">4 minute read</span><span class="reading-time">Created on December 8, 2019</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</h1><p><strong>Done during Google Code-In. Org: Tensorflow.</strong></p><h2>Imports</h2><pre><code><div class="highlight"><span></span><span class="o">%</span><span class="n">tensorflow_version</span> <span class="mf">2.</span><span class="n">x</span> <span class="c1">#This is for telling Colab that you want to use TF 2.0, ignore if running on local machine</span>
-
-<span class="kn">from</span> <span class="nn">PIL</span> <span class="kn">import</span> <span class="n">Image</span> <span class="c1"># We use the PIL Library to resize images</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">cv2</span>
-<span class="kn">import</span> <span class="nn">tensorflow</span> <span class="k">as</span> <span class="nn">tf</span>
-<span class="kn">from</span> <span class="nn">tensorflow.keras</span> <span class="kn">import</span> <span class="n">datasets</span><span class="p">,</span> <span class="n">layers</span><span class="p">,</span> <span class="n">models</span>
-<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
-<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
-<span class="kn">from</span> <span class="nn">keras.models</span> <span class="kn">import</span> <span class="n">Sequential</span>
-<span class="kn">from</span> <span class="nn">keras.layers</span> <span class="kn">import</span> <span class="n">Conv2D</span><span class="p">,</span><span class="n">MaxPooling2D</span><span class="p">,</span><span class="n">Dense</span><span class="p">,</span><span class="n">Flatten</span><span class="p">,</span><span class="n">Dropout</span>
-</div></code></pre><h2>Dataset</h2><h3>Fetching the Data</h3><pre><code><div class="highlight"><span></span><span class="err">!</span><span class="n">wget</span> <span class="n">ftp</span><span class="p">:</span><span class="o">//</span><span class="n">lhcftp</span><span class="o">.</span><span class="n">nlm</span><span class="o">.</span><span class="n">nih</span><span class="o">.</span><span class="n">gov</span><span class="o">/</span><span class="n">Open</span><span class="o">-</span><span class="n">Access</span><span class="o">-</span><span class="n">Datasets</span><span class="o">/</span><span class="n">Malaria</span><span class="o">/</span><span class="n">cell_images</span><span class="o">.</span><span class="n">zip</span>
-<span class="err">!</span><span class="n">unzip</span> <span class="n">cell_images</span><span class="o">.</span><span class="n">zip</span>
-</div></code></pre><h3>Processing the Data</h3><p>We resize all the images as 50x50 and add the numpy array of that image as well as their label names (Infected or Not) to common arrays.</p><pre><code><div class="highlight"><span></span><span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="n">labels</span> <span class="o">=</span> <span class="p">[]</span>
-
-<span class="n">Parasitized</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="s2">&quot;./cell_images/Parasitized/&quot;</span><span class="p">)</span>
-<span class="k">for</span> <span class="n">parasite</span> <span class="ow">in</span> <span class="n">Parasitized</span><span class="p">:</span>
- <span class="k">try</span><span class="p">:</span>
- <span class="n">image</span><span class="o">=</span><span class="n">cv2</span><span class="o">.</span><span class="n">imread</span><span class="p">(</span><span class="s2">&quot;./cell_images/Parasitized/&quot;</span><span class="o">+</span><span class="n">parasite</span><span class="p">)</span>
- <span class="n">image_from_array</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">size_image</span> <span class="o">=</span> <span class="n">image_from_array</span><span class="o">.</span><span class="n">resize</span><span class="p">((</span><span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">))</span>
- <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">size_image</span><span class="p">))</span>
- <span class="n">labels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
- <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
-
-<span class="n">Uninfected</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="s2">&quot;./cell_images/Uninfected/&quot;</span><span class="p">)</span>
-<span class="k">for</span> <span class="n">uninfect</span> <span class="ow">in</span> <span class="n">Uninfected</span><span class="p">:</span>
- <span class="k">try</span><span class="p">:</span>
- <span class="n">image</span><span class="o">=</span><span class="n">cv2</span><span class="o">.</span><span class="n">imread</span><span class="p">(</span><span class="s2">&quot;./cell_images/Uninfected/&quot;</span><span class="o">+</span><span class="n">uninfect</span><span class="p">)</span>
- <span class="n">image_from_array</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">size_image</span> <span class="o">=</span> <span class="n">image_from_array</span><span class="o">.</span><span class="n">resize</span><span class="p">((</span><span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">))</span>
- <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">size_image</span><span class="p">))</span>
- <span class="n">labels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
- <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
-</div></code></pre><h3>Splitting Data</h3><pre><code><div class="highlight"><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
-<span class="n">labels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">labels</span><span class="p">)</span>
-<span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">)</span> <span class="o">=</span> <span class="n">df</span><span class="p">[(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">)):],</span><span class="n">df</span><span class="p">[:(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">))]</span>
-<span class="p">(</span><span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span><span class="p">)</span> <span class="o">=</span> <span class="n">labels</span><span class="p">[(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">labels</span><span class="p">)):],</span><span class="n">labels</span><span class="p">[:(</span><span class="nb">int</span><span class="p">)(</span><span class="mf">0.1</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">labels</span><span class="p">))]</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nv">s</span><span class="o">=</span>np.arange<span class="o">(</span>X_train.shape<span class="o">[</span><span class="m">0</span><span class="o">])</span>
-np.random.shuffle<span class="o">(</span>s<span class="o">)</span>
-<span class="nv">X_train</span><span class="o">=</span>X_train<span class="o">[</span>s<span class="o">]</span>
-<span class="nv">y_train</span><span class="o">=</span>y_train<span class="o">[</span>s<span class="o">]</span>
-<span class="nv">X_train</span> <span class="o">=</span> X_train/255.0
-</div></code></pre><h2>Model</h2><h3>Creating Model</h3><p>By creating a sequential model, we create a linear stack of layers.</p><p><em>Note: The input shape for the first layer is 50,50 which corresponds with the sizes of the resized images</em></p><pre><code><div class="highlight"><span></span><span class="n">model</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">Sequential</span><span class="p">()</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="n">filters</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">kernel_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="s1">&#39;same&#39;</span><span class="p">,</span> <span class="n">activation</span><span class="o">=</span><span class="s1">&#39;relu&#39;</span><span class="p">,</span> <span class="n">input_shape</span><span class="o">=</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">3</span><span class="p">)))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">MaxPooling2D</span><span class="p">(</span><span class="n">pool_size</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="n">filters</span><span class="o">=</span><span class="mi">32</span><span class="p">,</span><span class="n">kernel_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="n">padding</span><span class="o">=</span><span class="s1">&#39;same&#39;</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s1">&#39;relu&#39;</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">MaxPooling2D</span><span class="p">(</span><span class="n">pool_size</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="n">filters</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span><span class="n">kernel_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="n">padding</span><span class="o">=</span><span class="s2">&quot;same&quot;</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s2">&quot;relu&quot;</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">MaxPooling2D</span><span class="p">(</span><span class="n">pool_size</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dropout</span><span class="p">(</span><span class="mf">0.2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Flatten</span><span class="p">())</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dense</span><span class="p">(</span><span class="mi">500</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s2">&quot;relu&quot;</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dropout</span><span class="p">(</span><span class="mf">0.2</span><span class="p">))</span>
-<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dense</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">activation</span><span class="o">=</span><span class="s2">&quot;softmax&quot;</span><span class="p">))</span><span class="c1">#2 represent output layer neurons </span>
-<span class="n">model</span><span class="o">.</span><span class="n">summary</span><span class="p">()</span>
-</div></code></pre><h3>Compiling Model</h3><p>We use the Adam optimiser as it is an adaptive learning rate optimisation algorithm that's been designed specifically for <em>training</em> deep neural networks, which means it changes its learning rate automatically to get the best results</p><pre><code><div class="highlight"><span></span><span class="n">model</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">optimizer</span><span class="o">=</span><span class="s2">&quot;adam&quot;</span><span class="p">,</span>
- <span class="n">loss</span><span class="o">=</span><span class="s2">&quot;sparse_categorical_crossentropy&quot;</span><span class="p">,</span>
- <span class="n">metrics</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;accuracy&quot;</span><span class="p">])</span>
-</div></code></pre><h3>Training Model</h3><p>We train the model for 10 epochs on the training data and then validate it using the testing data</p><pre><code><div class="highlight"><span></span><span class="n">history</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span><span class="n">y_train</span><span class="p">,</span> <span class="n">epochs</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">validation_data</span><span class="o">=</span><span class="p">(</span><span class="n">X_test</span><span class="p">,</span><span class="n">y_test</span><span class="p">))</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">Train</span> <span class="n">on</span> <span class="mi">24803</span> <span class="n">samples</span><span class="p">,</span> <span class="n">validate</span> <span class="n">on</span> <span class="mi">2755</span> <span class="n">samples</span>
-<span class="n">Epoch</span> <span class="mi">1</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">57</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0786</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9729</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">2</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0746</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9731</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0290</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">0.9996</span>
-<span class="n">Epoch</span> <span class="mi">3</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0672</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9764</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">4</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0601</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9789</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">5</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0558</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9804</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">6</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">57</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0513</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9819</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">7</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0452</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9849</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.3190</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">0.9985</span>
-<span class="n">Epoch</span> <span class="mi">8</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0404</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9858</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">9</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0352</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9878</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-<span class="n">Epoch</span> <span class="mi">10</span><span class="o">/</span><span class="mi">10</span>
-<span class="mi">24803</span><span class="o">/</span><span class="mi">24803</span> <span class="p">[</span><span class="o">==============================</span><span class="p">]</span> <span class="o">-</span> <span class="mi">58</span><span class="n">s</span> <span class="mi">2</span><span class="n">ms</span><span class="o">/</span><span class="n">sample</span> <span class="o">-</span> <span class="n">loss</span><span class="p">:</span> <span class="mf">0.0373</span> <span class="o">-</span> <span class="n">accuracy</span><span class="p">:</span> <span class="mf">0.9865</span> <span class="o">-</span> <span class="n">val_loss</span><span class="p">:</span> <span class="mf">0.0000e+00</span> <span class="o">-</span> <span class="n">val_accuracy</span><span class="p">:</span> <span class="mf">1.0000</span>
-</div></code></pre><h3>Results</h3><pre><code><div class="highlight"><span></span><span class="n">accuracy</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;accuracy&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-<span class="n">loss</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;loss&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-<span class="n">val_accuracy</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;val_accuracy&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-<span class="n">val_loss</span> <span class="o">=</span> <span class="n">history</span><span class="o">.</span><span class="n">history</span><span class="p">[</span><span class="s1">&#39;val_loss&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="mi">100</span>
-
-<span class="nb">print</span><span class="p">(</span>
- <span class="s1">&#39;Accuracy:&#39;</span><span class="p">,</span> <span class="n">accuracy</span><span class="p">,</span>
- <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Loss:&#39;</span><span class="p">,</span> <span class="n">loss</span><span class="p">,</span>
- <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Validation Accuracy:&#39;</span><span class="p">,</span> <span class="n">val_accuracy</span><span class="p">,</span>
- <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Validation Loss:&#39;</span><span class="p">,</span> <span class="n">val_loss</span>
-<span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">Accuracy</span><span class="p">:</span> <span class="mf">98.64532351493835</span>
-<span class="n">Loss</span><span class="p">:</span> <span class="mf">3.732407123270176</span>
-<span class="n">Validation</span> <span class="n">Accuracy</span><span class="p">:</span> <span class="mf">100.0</span>
-<span class="n">Validation</span> <span class="n">Loss</span><span class="p">:</span> <span class="mf">0.0</span>
-</div></code></pre><p>We have achieved 98% Accuracy!</p><p><a href="https://colab.research.google.com/drive/1ZswDsxLwYZEnev89MzlL5Lwt6ut7iwp- "Colab Notebook"">Link to Colab Notebook</a></p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-12-08-Splitting-Zips/index.html b/posts/2019-12-08-Splitting-Zips/index.html
deleted file mode 100644
index ceb7690..0000000
--- a/posts/2019-12-08-Splitting-Zips/index.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zips"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zips"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zips"/><title>Splitting ZIPs into Multiple Parts | Navan Chauhan</title><meta name="twitter:title" content="Splitting ZIPs into Multiple Parts | Navan Chauhan"/><meta name="og:title" content="Splitting ZIPs into Multiple Parts | Navan Chauhan"/><meta name="description" content="Short code snippet for splitting zips."/><meta name="twitter:description" content="Short code snippet for splitting zips."/><meta name="og:description" content="Short code snippet for splitting zips."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on December 8, 2019</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Splitting ZIPs into Multiple Parts</h1><p><strong>Tested on macOS</strong></p><p>Creating the archive:</p><pre><code><div class="highlight"><span></span><span class="nt">zip</span><span class="na"> -r -s 5 oodlesofnoodles.zip website/</span>
-</div></code></pre><p>5 stands for each split files' size (in mb, kb and gb can also be specified)</p><p>For encrypting the zip:</p><pre><code><div class="highlight"><span></span><span class="nt">zip</span><span class="na"> -er -s 5 oodlesofnoodles.zip website</span>
-</div></code></pre><p>Extracting Files</p><p>First we need to collect all parts, then</p><pre><code><div class="highlight"><span></span><span class="nt">zip</span><span class="na"> -F oodlesofnoodles.zip --out merged.zip</span>
-</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-12-10-TensorFlow-Model-Prediction/index.html b/posts/2019-12-10-TensorFlow-Model-Prediction/index.html
deleted file mode 100644
index cbebf81..0000000
--- a/posts/2019-12-10-TensorFlow-Model-Prediction/index.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Prediction"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Prediction"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Prediction"/><title>Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan</title><meta name="twitter:title" content="Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan"/><meta name="og:title" content="Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan"/><meta name="description" content="Making predictions for image classification models built using TensorFlow"/><meta name="twitter:description" content="Making predictions for image classification models built using TensorFlow"/><meta name="og:description" content="Making predictions for image classification models built using TensorFlow"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on December 10, 2019</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Making Predictions using Image Classifier (TensorFlow)</h1><p><em>This was tested on TF 2.x and works as of 2019-12-10</em></p><p>If you want to understand how to make your own custom image classifier, please refer to my previous post.</p><p>If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.</p><p>First we import the following if we have not imported these before</p><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">cv2</span>
-<span class="kn">import</span> <span class="nn">os</span>
-</div></code></pre><p>Then we read the file using OpenCV.</p><pre><code><div class="highlight"><span></span><span class="n">image</span><span class="o">=</span><span class="n">cv2</span><span class="o">.</span><span class="n">imread</span><span class="p">(</span><span class="n">imagePath</span><span class="p">)</span>
-</div></code></pre><p>The cv2. imread() function returns a NumPy array representing the image. Therefore, we need to convert it before we can use it.</p><pre><code><div class="highlight"><span></span><span class="n">image_from_array</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
-</div></code></pre><p>Then we resize the image</p><pre><code><div class="highlight"><span></span><span class="n">size_image</span> <span class="o">=</span> <span class="n">image_from_array</span><span class="o">.</span><span class="n">resize</span><span class="p">((</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">))</span>
-</div></code></pre><p>After this we create a batch consisting of only one image</p><pre><code><div class="highlight"><span></span><span class="n">p</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">expand_dims</span><span class="p">(</span><span class="n">size_image</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-</div></code></pre><p>We then convert this uint8 datatype to a float32 datatype</p><pre><code><div class="highlight"><span></span><span class="n">img</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">tf</span><span class="o">.</span><span class="n">float32</span><span class="p">)</span>
-</div></code></pre><p>Finally we make the prediction</p><pre><code><div class="highlight"><span></span><span class="nb">print</span><span class="p">([</span><span class="s1">&#39;Infected&#39;</span><span class="p">,</span><span class="s1">&#39;Uninfected&#39;</span><span class="p">][</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">img</span><span class="p">))])</span>
-</div></code></pre><p><code>Infected</code></p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html b/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html
deleted file mode 100644
index 3ecddd6..0000000
--- a/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regression"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regression"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regression"/><title>Polynomial Regression Using TensorFlow | Navan Chauhan</title><meta name="twitter:title" content="Polynomial Regression Using TensorFlow | Navan Chauhan"/><meta name="og:title" content="Polynomial Regression Using TensorFlow | Navan Chauhan"/><meta name="description" content="Polynomial regression using TensorFlow"/><meta name="twitter:description" content="Polynomial regression using TensorFlow"/><meta name="og:description" content="Polynomial regression using TensorFlow"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">17 minute read</span><span class="reading-time">Created on December 16, 2019</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Polynomial Regression Using TensorFlow</h1><p><strong>In this tutorial you will learn about polynomial regression and how you can implement it in Tensorflow.</strong></p><p>In this, we will be performing polynomial regression using 5 types of equations -</p><ul><li>Linear</li><li>Quadratic</li><li>Cubic</li><li>Quartic</li><li>Quintic</li></ul><h2>Regression</h2><h3>What is Regression?</h3><p>Regression is a statistical measurement that is used to try to determine the relationship between a dependent variable (often denoted by Y), and series of varying variables (called independent variables, often denoted by X ).</p><h3>What is Polynomial Regression</h3><p>This is a form of Regression Analysis where the relationship between Y and X is denoted as the nth degree/power of X. Polynomial regression even fits a non-linear relationship (e.g when the points don't form a straight line).</p><h2>Imports</h2><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">tensorflow.compat.v1</span> <span class="k">as</span> <span class="nn">tf</span>
-<span class="n">tf</span><span class="o">.</span><span class="n">disable_v2_behavior</span><span class="p">()</span>
-<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
-</div></code></pre><h2>Dataset</h2><h3>Creating Random Data</h3><p>Even though in this tutorial we will use a Position Vs Salary dataset, it is important to know how to create synthetic data</p><p>To create 50 values spaced evenly between 0 and 50, we use NumPy's linspace function</p><p><code>linspace(lower_limit, upper_limit, no_of_observations)</code></p><pre><code><div class="highlight"><span></span><span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-<span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-</div></code></pre><p>We use the following function to add noise to the data, so that our values</p><pre><code><div class="highlight"><span></span><span class="n">x</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-<span class="n">y</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
-</div></code></pre><h3>Position vs Salary Dataset</h3><p>We will be using https://drive.google.com/file/d/1tNL4jxZEfpaP4oflfSn6pIHJX7Pachm9/view (Salary vs Position Dataset)</p><pre><code><div class="highlight"><span></span><span class="nt">!wget</span><span class="na"> --no-check-certificate &#39;https</span><span class="p">:</span><span class="nc">//docs.google.com/uc?export</span><span class="o">=</span><span class="l">download&amp;id=1tNL4jxZEfpaP4oflfSn6pIHJX7Pachm9&#39; -O data.csv</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">&quot;data.csv&quot;</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">df</span> <span class="c1"># this gives us a preview of the dataset we are working with</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="o">|</span> <span class="n">Position</span> <span class="o">|</span> <span class="n">Level</span> <span class="o">|</span> <span class="n">Salary</span> <span class="o">|</span>
-<span class="o">|-------------------|-------|---------|</span>
-<span class="o">|</span> <span class="n">Business</span> <span class="n">Analyst</span> <span class="o">|</span> <span class="mi">1</span> <span class="o">|</span> <span class="mi">45000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Junior</span> <span class="n">Consultant</span> <span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="mi">50000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Senior</span> <span class="n">Consultant</span> <span class="o">|</span> <span class="mi">3</span> <span class="o">|</span> <span class="mi">60000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Manager</span> <span class="o">|</span> <span class="mi">4</span> <span class="o">|</span> <span class="mi">80000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Country</span> <span class="n">Manager</span> <span class="o">|</span> <span class="mi">5</span> <span class="o">|</span> <span class="mi">110000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Region</span> <span class="n">Manager</span> <span class="o">|</span> <span class="mi">6</span> <span class="o">|</span> <span class="mi">150000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Partner</span> <span class="o">|</span> <span class="mi">7</span> <span class="o">|</span> <span class="mi">200000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Senior</span> <span class="n">Partner</span> <span class="o">|</span> <span class="mi">8</span> <span class="o">|</span> <span class="mi">300000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">C</span><span class="o">-</span><span class="n">level</span> <span class="o">|</span> <span class="mi">9</span> <span class="o">|</span> <span class="mi">500000</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">CEO</span> <span class="o">|</span> <span class="mi">10</span> <span class="o">|</span> <span class="mi">1000000</span> <span class="o">|</span>
-</div></code></pre><p>We convert the salary column as the ordinate (y-coordinate) and level column as the abscissa</p><pre><code><div class="highlight"><span></span><span class="n">abscissa</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s2">&quot;Level&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span> <span class="c1"># abscissa = [1,2,3,4,5,6,7,8,9,10]</span>
-<span class="n">ordinate</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s2">&quot;Salary&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">to_list</span><span class="p">()</span> <span class="c1"># ordinate = [45000,50000,60000,80000,110000,150000,200000,300000,500000,1000000]</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">abscissa</span><span class="p">)</span> <span class="c1"># no of observations</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Salary&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Position&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">&quot;Salary vs Position&quot;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="/assets/gciTales/03-regression/1.png"/><h2>Defining Stuff</h2><pre><code><div class="highlight"><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">placeholder</span><span class="p">(</span><span class="s2">&quot;float&quot;</span><span class="p">)</span>
-<span class="n">Y</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">placeholder</span><span class="p">(</span><span class="s2">&quot;float&quot;</span><span class="p">)</span>
-</div></code></pre><h3>Defining Variables</h3><p>We first define all the coefficients and constant as tensorflow variables having a random initial value</p><pre><code><div class="highlight"><span></span><span class="n">a</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;a&quot;</span><span class="p">)</span>
-<span class="n">b</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;b&quot;</span><span class="p">)</span>
-<span class="n">c</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;c&quot;</span><span class="p">)</span>
-<span class="n">d</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;d&quot;</span><span class="p">)</span>
-<span class="n">e</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;e&quot;</span><span class="p">)</span>
-<span class="n">f</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">Variable</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(),</span> <span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;f&quot;</span><span class="p">)</span>
-</div></code></pre><h3>Model Configuration</h3><pre><code><div class="highlight"><span></span><span class="n">learning_rate</span> <span class="o">=</span> <span class="mf">0.2</span>
-<span class="n">no_of_epochs</span> <span class="o">=</span> <span class="mi">25000</span>
-</div></code></pre><h3>Equations</h3><pre><code><div class="highlight"><span></span><span class="n">deg1</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">b</span>
-<span class="n">deg2</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">c</span>
-<span class="n">deg3</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">c</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">d</span>
-<span class="n">deg4</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">c</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">d</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">e</span>
-<span class="n">deg5</span> <span class="o">=</span> <span class="n">a</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span> <span class="o">+</span> <span class="n">b</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">c</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">d</span><span class="o">*</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">e</span><span class="o">*</span><span class="n">X</span> <span class="o">+</span> <span class="n">f</span>
-</div></code></pre><h3>Cost Function</h3><p>We use the Mean Squared Error Function</p><pre><code><div class="highlight"><span></span><span class="n">mse1</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg1</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse2</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg2</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse3</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg3</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse4</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg4</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-<span class="n">mse5</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">reduce_sum</span><span class="p">(</span><span class="n">tf</span><span class="o">.</span><span class="n">pow</span><span class="p">(</span><span class="n">deg5</span><span class="o">-</span><span class="n">Y</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
-</div></code></pre><h3>Optimizer</h3><p>We use the AdamOptimizer for the polynomial functions and GradientDescentOptimizer for the linear function</p><pre><code><div class="highlight"><span></span><span class="n">optimizer1</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">GradientDescentOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse1</span><span class="p">)</span>
-<span class="n">optimizer2</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse2</span><span class="p">)</span>
-<span class="n">optimizer3</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse3</span><span class="p">)</span>
-<span class="n">optimizer4</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse4</span><span class="p">)</span>
-<span class="n">optimizer5</span> <span class="o">=</span> <span class="n">tf</span><span class="o">.</span><span class="n">train</span><span class="o">.</span><span class="n">AdamOptimizer</span><span class="p">(</span><span class="n">learning_rate</span><span class="p">)</span><span class="o">.</span><span class="n">minimize</span><span class="p">(</span><span class="n">mse5</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">init</span><span class="o">=</span><span class="n">tf</span><span class="o">.</span><span class="n">global_variables_initializer</span><span class="p">()</span>
-</div></code></pre><h2>Model Predictions</h2><p>For each type of equation first we make the model predict the values of the coefficient(s) and constant, once we get these values we use it to predict the Y values using the X values. We then plot it to compare the actual data and predicted line.</p><h3>Linear Equation</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer1</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse1</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse1</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">88999125000.0</span><span class="err"> </span><span class="nc">a,b</span><span class="p">:</span><span class="err"> </span><span class="nc">180396.42</span><span class="err"> </span><span class="nc">-478869.12</span>
-<span class="nt">88999125000.0</span><span class="na"> 180396.42 -478869.12</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Linear Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="/assets/gciTales/03-regression/2.png"/><h3>Quadratic Equation</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer2</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse2</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse2</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">coefficient2</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">52571360000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">1002.4456</span><span class="err"> </span><span class="nc">1097.0197</span><span class="err"> </span><span class="nc">1276.6921</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">37798890000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">1952.4263</span><span class="err"> </span><span class="nc">2130.2825</span><span class="err"> </span><span class="nc">2469.7756</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">26751185000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">2839.5825</span><span class="err"> </span><span class="nc">3081.6118</span><span class="err"> </span><span class="nc">3554.351</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">19020106000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">3644.56</span><span class="err"> </span><span class="nc">3922.9563</span><span class="err"> </span><span class="nc">4486.3135</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">14060446000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">4345.042</span><span class="err"> </span><span class="nc">4621.4233</span><span class="err"> </span><span class="nc">5212.693</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">11201084000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">4921.1855</span><span class="err"> </span><span class="nc">5148.1504</span><span class="err"> </span><span class="nc">5689.0713</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">9732740000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">5364.764</span><span class="err"> </span><span class="nc">5493.0156</span><span class="err"> </span><span class="nc">5906.754</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">9050918000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">5685.4067</span><span class="err"> </span><span class="nc">5673.182</span><span class="err"> </span><span class="nc">5902.0728</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8750394000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">5906.9814</span><span class="err"> </span><span class="nc">5724.8906</span><span class="err"> </span><span class="nc">5734.746</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8613128000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6057.3677</span><span class="err"> </span><span class="nc">5687.3364</span><span class="err"> </span><span class="nc">5461.167</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8540034600.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6160.547</span><span class="err"> </span><span class="nc">5592.3022</span><span class="err"> </span><span class="nc">5122.8633</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8490983000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6233.9175</span><span class="err"> </span><span class="nc">5462.025</span><span class="err"> </span><span class="nc">4747.111</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8450816500.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6289.048</span><span class="err"> </span><span class="nc">5310.7583</span><span class="err"> </span><span class="nc">4350.6997</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8414082000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6333.199</span><span class="err"> </span><span class="nc">5147.394</span><span class="err"> </span><span class="nc">3943.9294</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8378841600.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6370.7944</span><span class="err"> </span><span class="nc">4977.1704</span><span class="err"> </span><span class="nc">3532.476</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8344471000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6404.468</span><span class="err"> </span><span class="nc">4803.542</span><span class="err"> </span><span class="nc">3120.2087</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8310785500.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6435.365</span><span class="err"> </span><span class="nc">4628.1523</span><span class="err"> </span><span class="nc">2709.1445</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8277482000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6465.5493</span><span class="err"> </span><span class="nc">4451.833</span><span class="err"> </span><span class="nc">2300.2783</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8244650000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6494.609</span><span class="err"> </span><span class="nc">4274.826</span><span class="err"> </span><span class="nc">1894.3738</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8212349000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6522.8247</span><span class="err"> </span><span class="nc">4098.1733</span><span class="err"> </span><span class="nc">1491.9915</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8180598300.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6550.6567</span><span class="err"> </span><span class="nc">3922.7405</span><span class="err"> </span><span class="nc">1093.3868</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8149257700.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6578.489</span><span class="err"> </span><span class="nc">3747.8362</span><span class="err"> </span><span class="nc">698.53357</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8118325000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6606.1973</span><span class="err"> </span><span class="nc">3573.2742</span><span class="err"> </span><span class="nc">307.3541</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8088001000.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6632.96</span><span class="err"> </span><span class="nc">3399.878</span><span class="err"> </span><span class="nc">-79.89219</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">8058094600.0</span><span class="err"> </span><span class="nc">a,b,c</span><span class="p">:</span><span class="err"> </span><span class="nc">6659.793</span><span class="err"> </span><span class="nc">3227.2517</span><span class="err"> </span><span class="nc">-463.03156</span>
-<span class="nt">8058094600.0</span><span class="na"> 6659.793 3227.2517 -463.03156</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Quadratic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="/assets/gciTales/03-regression/3.png"/><h3>Cubic</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer3</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse3</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c,d:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse3</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">coefficient3</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">coefficient2</span><span class="p">,</span> <span class="n">coefficient3</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">4279814000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">670.1527</span><span class="err"> </span><span class="nc">694.4212</span><span class="err"> </span><span class="nc">751.4653</span><span class="err"> </span><span class="nc">903.9527</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3770950400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">742.6414</span><span class="err"> </span><span class="nc">666.3489</span><span class="err"> </span><span class="nc">636.94525</span><span class="err"> </span><span class="nc">859.2088</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3717708300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">756.2582</span><span class="err"> </span><span class="nc">569.3339</span><span class="err"> </span><span class="nc">448.105</span><span class="err"> </span><span class="nc">748.23956</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3667464000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">769.4476</span><span class="err"> </span><span class="nc">474.0318</span><span class="err"> </span><span class="nc">265.5761</span><span class="err"> </span><span class="nc">654.75525</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3620040700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">782.32324</span><span class="err"> </span><span class="nc">380.54272</span><span class="err"> </span><span class="nc">89.39888</span><span class="err"> </span><span class="nc">578.5136</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3575265800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">794.8898</span><span class="err"> </span><span class="nc">288.83356</span><span class="err"> </span><span class="nc">-80.5215</span><span class="err"> </span><span class="nc">519.13654</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3532972000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">807.1608</span><span class="err"> </span><span class="nc">198.87044</span><span class="err"> </span><span class="nc">-244.31102</span><span class="err"> </span><span class="nc">476.2061</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3493009200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">819.13513</span><span class="err"> </span><span class="nc">110.64169</span><span class="err"> </span><span class="nc">-402.0677</span><span class="err"> </span><span class="nc">449.3291</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3455228400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">830.80255</span><span class="err"> </span><span class="nc">24.0964</span><span class="err"> </span><span class="nc">-553.92804</span><span class="err"> </span><span class="nc">438.0652</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3419475500.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">842.21594</span><span class="err"> </span><span class="nc">-60.797424</span><span class="err"> </span><span class="nc">-700.0123</span><span class="err"> </span><span class="nc">441.983</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3385625300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">853.3363</span><span class="err"> </span><span class="nc">-144.08699</span><span class="err"> </span><span class="nc">-840.467</span><span class="err"> </span><span class="nc">460.6356</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3353544700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">864.19135</span><span class="err"> </span><span class="nc">-225.8125</span><span class="err"> </span><span class="nc">-975.4196</span><span class="err"> </span><span class="nc">493.57703</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3323125000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">874.778</span><span class="err"> </span><span class="nc">-305.98932</span><span class="err"> </span><span class="nc">-1104.9867</span><span class="err"> </span><span class="nc">540.39465</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3294257000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">885.1007</span><span class="err"> </span><span class="nc">-384.63474</span><span class="err"> </span><span class="nc">-1229.277</span><span class="err"> </span><span class="nc">600.65607</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3266820000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">895.18823</span><span class="err"> </span><span class="nc">-461.819</span><span class="err"> </span><span class="nc">-1348.4417</span><span class="err"> </span><span class="nc">673.9051</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3240736000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">905.0128</span><span class="err"> </span><span class="nc">-537.541</span><span class="err"> </span><span class="nc">-1462.6171</span><span class="err"> </span><span class="nc">759.7118</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3215895000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">914.60065</span><span class="err"> </span><span class="nc">-611.8676</span><span class="err"> </span><span class="nc">-1571.9058</span><span class="err"> </span><span class="nc">857.6638</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3192216800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">923.9603</span><span class="err"> </span><span class="nc">-684.8093</span><span class="err"> </span><span class="nc">-1676.4642</span><span class="err"> </span><span class="nc">967.30475</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3169632300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">933.08594</span><span class="err"> </span><span class="nc">-756.3582</span><span class="err"> </span><span class="nc">-1776.4275</span><span class="err"> </span><span class="nc">1088.2198</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3148046300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">941.9928</span><span class="err"> </span><span class="nc">-826.6257</span><span class="err"> </span><span class="nc">-1871.9355</span><span class="err"> </span><span class="nc">1219.9702</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3127394800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">950.67896</span><span class="err"> </span><span class="nc">-895.6205</span><span class="err"> </span><span class="nc">-1963.0989</span><span class="err"> </span><span class="nc">1362.1665</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3107608600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">959.1487</span><span class="err"> </span><span class="nc">-963.38116</span><span class="err"> </span><span class="nc">-2050.0586</span><span class="err"> </span><span class="nc">1514.4026</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3088618200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">967.4355</span><span class="err"> </span><span class="nc">-1029.9625</span><span class="err"> </span><span class="nc">-2132.961</span><span class="err"> </span><span class="nc">1676.2717</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3070361300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">975.52875</span><span class="err"> </span><span class="nc">-1095.4292</span><span class="err"> </span><span class="nc">-2211.854</span><span class="err"> </span><span class="nc">1847.4485</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">3052791300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">983.4346</span><span class="err"> </span><span class="nc">-1159.7922</span><span class="err"> </span><span class="nc">-2286.9412</span><span class="err"> </span><span class="nc">2027.4857</span>
-<span class="nt">3052791300.0</span><span class="na"> 983.4346 -1159.7922 -2286.9412 2027.4857</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient3</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Cubic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="/assets/gciTales/03-regression/4.png"/><h3>Quartic</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer4</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse4</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c,d:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse4</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">coefficient3</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
- <span class="n">coefficient4</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">training_cost</span><span class="p">,</span> <span class="n">coefficient1</span><span class="p">,</span> <span class="n">coefficient2</span><span class="p">,</span> <span class="n">coefficient3</span><span class="p">,</span> <span class="n">coefficient4</span><span class="p">,</span> <span class="n">constant</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1902632600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">84.48304</span><span class="err"> </span><span class="nc">52.210594</span><span class="err"> </span><span class="nc">54.791424</span><span class="err"> </span><span class="nc">142.51952</span><span class="err"> </span><span class="nc">512.0343</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1854316200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">88.998955</span><span class="err"> </span><span class="nc">13.073557</span><span class="err"> </span><span class="nc">14.276088</span><span class="err"> </span><span class="nc">223.55667</span><span class="err"> </span><span class="nc">1056.4655</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1812812400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">92.9462</span><span class="err"> </span><span class="nc">-22.331177</span><span class="err"> </span><span class="nc">-15.262934</span><span class="err"> </span><span class="nc">327.41858</span><span class="err"> </span><span class="nc">1634.9054</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1775716000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">96.42522</span><span class="err"> </span><span class="nc">-54.64535</span><span class="err"> </span><span class="nc">-35.829437</span><span class="err"> </span><span class="nc">449.5028</span><span class="err"> </span><span class="nc">2239.1392</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1741494100.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">99.524734</span><span class="err"> </span><span class="nc">-84.43976</span><span class="err"> </span><span class="nc">-49.181057</span><span class="err"> </span><span class="nc">585.85876</span><span class="err"> </span><span class="nc">2862.4915</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1709199600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">102.31984</span><span class="err"> </span><span class="nc">-112.19895</span><span class="err"> </span><span class="nc">-56.808075</span><span class="err"> </span><span class="nc">733.1876</span><span class="err"> </span><span class="nc">3499.6199</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1678261800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">104.87324</span><span class="err"> </span><span class="nc">-138.32709</span><span class="err"> </span><span class="nc">-59.9442</span><span class="err"> </span><span class="nc">888.79626</span><span class="err"> </span><span class="nc">4146.2944</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1648340600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">107.23536</span><span class="err"> </span><span class="nc">-163.15173</span><span class="err"> </span><span class="nc">-59.58964</span><span class="err"> </span><span class="nc">1050.524</span><span class="err"> </span><span class="nc">4798.979</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1619243400.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">109.44742</span><span class="err"> </span><span class="nc">-186.9409</span><span class="err"> </span><span class="nc">-56.53944</span><span class="err"> </span><span class="nc">1216.6432</span><span class="err"> </span><span class="nc">5454.9463</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1590821900.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">111.54233</span><span class="err"> </span><span class="nc">-209.91287</span><span class="err"> </span><span class="nc">-51.423084</span><span class="err"> </span><span class="nc">1385.8513</span><span class="err"> </span><span class="nc">6113.5137</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1563042200.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">113.54405</span><span class="err"> </span><span class="nc">-232.21953</span><span class="err"> </span><span class="nc">-44.73371</span><span class="err"> </span><span class="nc">1557.1084</span><span class="err"> </span><span class="nc">6771.7046</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1535855600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">115.471565</span><span class="err"> </span><span class="nc">-253.9838</span><span class="err"> </span><span class="nc">-36.851135</span><span class="err"> </span><span class="nc">1729.535</span><span class="err"> </span><span class="nc">7429.069</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1509255300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">117.33939</span><span class="err"> </span><span class="nc">-275.29697</span><span class="err"> </span><span class="nc">-28.0714</span><span class="err"> </span><span class="nc">1902.5308</span><span class="err"> </span><span class="nc">8083.9634</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1483227000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">119.1605</span><span class="err"> </span><span class="nc">-296.2472</span><span class="err"> </span><span class="nc">-18.618649</span><span class="err"> </span><span class="nc">2075.6094</span><span class="err"> </span><span class="nc">8735.381</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1457726700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">120.94584</span><span class="err"> </span><span class="nc">-316.915</span><span class="err"> </span><span class="nc">-8.650095</span><span class="err"> </span><span class="nc">2248.3247</span><span class="err"> </span><span class="nc">9384.197</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1432777300.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">122.69806</span><span class="err"> </span><span class="nc">-337.30704</span><span class="err"> </span><span class="nc">1.7027153</span><span class="err"> </span><span class="nc">2420.5771</span><span class="err"> </span><span class="nc">10028.871</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1408365000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">124.42179</span><span class="err"> </span><span class="nc">-357.45245</span><span class="err"> </span><span class="nc">12.33499</span><span class="err"> </span><span class="nc">2592.2983</span><span class="err"> </span><span class="nc">10669.157</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1384480000.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">126.12332</span><span class="err"> </span><span class="nc">-377.39734</span><span class="err"> </span><span class="nc">23.168756</span><span class="err"> </span><span class="nc">2763.0933</span><span class="err"> </span><span class="nc">11305.027</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1361116800.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">127.80568</span><span class="err"> </span><span class="nc">-397.16415</span><span class="err"> </span><span class="nc">34.160156</span><span class="err"> </span><span class="nc">2933.0452</span><span class="err"> </span><span class="nc">11935.669</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1338288100.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">129.4674</span><span class="err"> </span><span class="nc">-416.72803</span><span class="err"> </span><span class="nc">45.259155</span><span class="err"> </span><span class="nc">3101.7727</span><span class="err"> </span><span class="nc">12561.179</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1315959700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">131.11403</span><span class="err"> </span><span class="nc">-436.14285</span><span class="err"> </span><span class="nc">56.4436</span><span class="err"> </span><span class="nc">3269.3142</span><span class="err"> </span><span class="nc">13182.058</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1294164700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">132.74377</span><span class="err"> </span><span class="nc">-455.3779</span><span class="err"> </span><span class="nc">67.6757</span><span class="err"> </span><span class="nc">3435.3833</span><span class="err"> </span><span class="nc">13796.807</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1272863600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">134.35779</span><span class="err"> </span><span class="nc">-474.45316</span><span class="err"> </span><span class="nc">78.96117</span><span class="err"> </span><span class="nc">3600.264</span><span class="err"> </span><span class="nc">14406.58</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1252052600.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">135.9583</span><span class="err"> </span><span class="nc">-493.38254</span><span class="err"> </span><span class="nc">90.268616</span><span class="err"> </span><span class="nc">3764.0078</span><span class="err"> </span><span class="nc">15010.481</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1231713700.0</span><span class="err"> </span><span class="nc">a,b,c,d</span><span class="p">:</span><span class="err"> </span><span class="nc">137.54753</span><span class="err"> </span><span class="nc">-512.1876</span><span class="err"> </span><span class="nc">101.59372</span><span class="err"> </span><span class="nc">3926.4897</span><span class="err"> </span><span class="nc">15609.368</span>
-<span class="nt">1231713700.0</span><span class="na"> 137.54753 -512.1876 101.59372 3926.4897 15609.368</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient3</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient4</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Quartic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="/assets/gciTales/03-regression/5.png"/><h3>Quintic</h3><pre><code><div class="highlight"><span></span><span class="k">with</span> <span class="n">tf</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span> <span class="k">as</span> <span class="n">sess</span><span class="p">:</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">init</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_of_epochs</span><span class="p">):</span>
- <span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">ordinate</span><span class="p">):</span>
- <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">optimizer5</span><span class="p">,</span> <span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">x</span><span class="p">,</span> <span class="n">Y</span><span class="p">:</span><span class="n">y</span><span class="p">})</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">1000</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
- <span class="n">cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse5</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Epoch&quot;</span><span class="p">,(</span><span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="s2">&quot;: Training Cost:&quot;</span><span class="p">,</span> <span class="n">cost</span><span class="p">,</span><span class="s2">&quot; a,b,c,d,e,f:&quot;</span><span class="p">,</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">),</span><span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
-
- <span class="n">training_cost</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">mse5</span><span class="p">,</span><span class="n">feed_dict</span><span class="o">=</span><span class="p">{</span><span class="n">X</span><span class="p">:</span><span class="n">abscissa</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span><span class="n">ordinate</span><span class="p">})</span>
- <span class="n">coefficient1</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
- <span class="n">coefficient2</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
- <span class="n">coefficient3</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
- <span class="n">coefficient4</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
- <span class="n">coefficient5</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
- <span class="n">constant</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="nt">Epoch</span><span class="na"> 1000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1409200100.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">7.949472</span><span class="err"> </span><span class="nc">7.46219</span><span class="err"> </span><span class="nc">55.626034</span><span class="err"> </span><span class="nc">184.29028</span><span class="err"> </span><span class="nc">484.00223</span><span class="err"> </span><span class="nc">1024.0083</span>
-<span class="nt">Epoch</span><span class="na"> 2000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1306882400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">8.732181</span><span class="err"> </span><span class="nc">-4.0085897</span><span class="err"> </span><span class="nc">73.25298</span><span class="err"> </span><span class="nc">315.90103</span><span class="err"> </span><span class="nc">904.08887</span><span class="err"> </span><span class="nc">2004.9749</span>
-<span class="nt">Epoch</span><span class="na"> 3000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1212606000.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">9.732249</span><span class="err"> </span><span class="nc">-16.90125</span><span class="err"> </span><span class="nc">86.28379</span><span class="err"> </span><span class="nc">437.06552</span><span class="err"> </span><span class="nc">1305.055</span><span class="err"> </span><span class="nc">2966.2188</span>
-<span class="nt">Epoch</span><span class="na"> 4000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1123640400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">10.74851</span><span class="err"> </span><span class="nc">-29.82692</span><span class="err"> </span><span class="nc">98.59997</span><span class="err"> </span><span class="nc">555.331</span><span class="err"> </span><span class="nc">1698.4631</span><span class="err"> </span><span class="nc">3917.9155</span>
-<span class="nt">Epoch</span><span class="na"> 5000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">1039694300.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">11.75426</span><span class="err"> </span><span class="nc">-42.598194</span><span class="err"> </span><span class="nc">110.698326</span><span class="err"> </span><span class="nc">671.64355</span><span class="err"> </span><span class="nc">2085.5513</span><span class="err"> </span><span class="nc">4860.8535</span>
-<span class="nt">Epoch</span><span class="na"> 6000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">960663550.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">12.745439</span><span class="err"> </span><span class="nc">-55.18337</span><span class="err"> </span><span class="nc">122.644936</span><span class="err"> </span><span class="nc">786.00214</span><span class="err"> </span><span class="nc">2466.1638</span><span class="err"> </span><span class="nc">5794.3735</span>
-<span class="nt">Epoch</span><span class="na"> 7000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">886438340.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">13.721028</span><span class="err"> </span><span class="nc">-67.57168</span><span class="err"> </span><span class="nc">134.43822</span><span class="err"> </span><span class="nc">898.3691</span><span class="err"> </span><span class="nc">2839.9958</span><span class="err"> </span><span class="nc">6717.659</span>
-<span class="nt">Epoch</span><span class="na"> 8000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">816913100.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">14.679965</span><span class="err"> </span><span class="nc">-79.75113</span><span class="err"> </span><span class="nc">146.07385</span><span class="err"> </span><span class="nc">1008.66895</span><span class="err"> </span><span class="nc">3206.6692</span><span class="err"> </span><span class="nc">7629.812</span>
-<span class="nt">Epoch</span><span class="na"> 9000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">751971500.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">15.62181</span><span class="err"> </span><span class="nc">-91.71608</span><span class="err"> </span><span class="nc">157.55713</span><span class="err"> </span><span class="nc">1116.7715</span><span class="err"> </span><span class="nc">3565.8323</span><span class="err"> </span><span class="nc">8529.976</span>
-<span class="nt">Epoch</span><span class="na"> 10000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">691508740.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">16.545347</span><span class="err"> </span><span class="nc">-103.4531</span><span class="err"> </span><span class="nc">168.88321</span><span class="err"> </span><span class="nc">1222.6348</span><span class="err"> </span><span class="nc">3916.9785</span><span class="err"> </span><span class="nc">9416.236</span>
-<span class="nt">Epoch</span><span class="na"> 11000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">635382000.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">17.450052</span><span class="err"> </span><span class="nc">-114.954254</span><span class="err"> </span><span class="nc">180.03932</span><span class="err"> </span><span class="nc">1326.1565</span><span class="err"> </span><span class="nc">4259.842</span><span class="err"> </span><span class="nc">10287.99</span>
-<span class="nt">Epoch</span><span class="na"> 12000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">583477250.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">18.334944</span><span class="err"> </span><span class="nc">-126.20821</span><span class="err"> </span><span class="nc">191.02948</span><span class="err"> </span><span class="nc">1427.2095</span><span class="err"> </span><span class="nc">4593.8</span><span class="err"> </span><span class="nc">11143.449</span>
-<span class="nt">Epoch</span><span class="na"> 13000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">535640400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">19.198917</span><span class="err"> </span><span class="nc">-137.20206</span><span class="err"> </span><span class="nc">201.84718</span><span class="err"> </span><span class="nc">1525.6926</span><span class="err"> </span><span class="nc">4918.5327</span><span class="err"> </span><span class="nc">11981.633</span>
-<span class="nt">Epoch</span><span class="na"> 14000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">491722240.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">20.041153</span><span class="err"> </span><span class="nc">-147.92719</span><span class="err"> </span><span class="nc">212.49709</span><span class="err"> </span><span class="nc">1621.5496</span><span class="err"> </span><span class="nc">5233.627</span><span class="err"> </span><span class="nc">12800.468</span>
-<span class="nt">Epoch</span><span class="na"> 15000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">451559520.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">20.860966</span><span class="err"> </span><span class="nc">-158.37456</span><span class="err"> </span><span class="nc">222.97133</span><span class="err"> </span><span class="nc">1714.7141</span><span class="err"> </span><span class="nc">5538.676</span><span class="err"> </span><span class="nc">13598.337</span>
-<span class="nt">Epoch</span><span class="na"> 16000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">414988960.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">21.657421</span><span class="err"> </span><span class="nc">-168.53406</span><span class="err"> </span><span class="nc">233.27422</span><span class="err"> </span><span class="nc">1805.0874</span><span class="err"> </span><span class="nc">5833.1978</span><span class="err"> </span><span class="nc">14373.658</span>
-<span class="nt">Epoch</span><span class="na"> 17000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">381837920.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">22.429693</span><span class="err"> </span><span class="nc">-178.39536</span><span class="err"> </span><span class="nc">243.39914</span><span class="err"> </span><span class="nc">1892.5883</span><span class="err"> </span><span class="nc">6116.847</span><span class="err"> </span><span class="nc">15124.394</span>
-<span class="nt">Epoch</span><span class="na"> 18000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">351931300.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">23.176882</span><span class="err"> </span><span class="nc">-187.94789</span><span class="err"> </span><span class="nc">253.3445</span><span class="err"> </span><span class="nc">1977.137</span><span class="err"> </span><span class="nc">6389.117</span><span class="err"> </span><span class="nc">15848.417</span>
-<span class="nt">Epoch</span><span class="na"> 19000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">325074400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">23.898485</span><span class="err"> </span><span class="nc">-197.18741</span><span class="err"> </span><span class="nc">263.12512</span><span class="err"> </span><span class="nc">2058.6716</span><span class="err"> </span><span class="nc">6649.8037</span><span class="err"> </span><span class="nc">16543.95</span>
-<span class="nt">Epoch</span><span class="na"> 20000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">301073570.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">24.593851</span><span class="err"> </span><span class="nc">-206.10497</span><span class="err"> </span><span class="nc">272.72385</span><span class="err"> </span><span class="nc">2137.1797</span><span class="err"> </span><span class="nc">6898.544</span><span class="err"> </span><span class="nc">17209.367</span>
-<span class="nt">Epoch</span><span class="na"> 21000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">279727000.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">25.262104</span><span class="err"> </span><span class="nc">-214.69217</span><span class="err"> </span><span class="nc">282.14642</span><span class="err"> </span><span class="nc">2212.6372</span><span class="err"> </span><span class="nc">7135.217</span><span class="err"> </span><span class="nc">17842.854</span>
-<span class="nt">Epoch</span><span class="na"> 22000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">260845550.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">25.903376</span><span class="err"> </span><span class="nc">-222.94969</span><span class="err"> </span><span class="nc">291.4003</span><span class="err"> </span><span class="nc">2284.9844</span><span class="err"> </span><span class="nc">7359.4644</span><span class="err"> </span><span class="nc">18442.408</span>
-<span class="nt">Epoch</span><span class="na"> 23000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">244218030.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">26.517094</span><span class="err"> </span><span class="nc">-230.8697</span><span class="err"> </span><span class="nc">300.45532</span><span class="err"> </span><span class="nc">2354.3003</span><span class="err"> </span><span class="nc">7571.261</span><span class="err"> </span><span class="nc">19007.49</span>
-<span class="nt">Epoch</span><span class="na"> 24000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">229660080.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">27.102589</span><span class="err"> </span><span class="nc">-238.44817</span><span class="err"> </span><span class="nc">309.35342</span><span class="err"> </span><span class="nc">2420.4185</span><span class="err"> </span><span class="nc">7770.5728</span><span class="err"> </span><span class="nc">19536.19</span>
-<span class="nt">Epoch</span><span class="na"> 25000 </span><span class="p">:</span><span class="err"> </span><span class="nc">Training</span><span class="err"> </span><span class="nc">Cost</span><span class="p">:</span><span class="err"> </span><span class="nc">216972400.0</span><span class="err"> </span><span class="nc">a,b,c,d,e,f</span><span class="p">:</span><span class="err"> </span><span class="nc">27.660324</span><span class="err"> </span><span class="nc">-245.69016</span><span class="err"> </span><span class="nc">318.10062</span><span class="err"> </span><span class="nc">2483.3608</span><span class="err"> </span><span class="nc">7957.354</span><span class="err"> </span><span class="nc">20027.707</span>
-<span class="nt">216972400.0</span><span class="na"> 27.660324 -245.69016 318.10062 2483.3608 7957.354 20027.707</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
-<span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">abscissa</span><span class="p">:</span>
- <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">coefficient1</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient2</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient3</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient4</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">coefficient5</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="n">constant</span><span class="p">))</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span> <span class="p">,</span> <span class="n">ordinate</span><span class="p">,</span> <span class="s1">&#39;ro&#39;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Original data&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">abscissa</span><span class="p">,</span> <span class="n">predictions</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span><span class="s1">&#39;Fitted line&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Quintic Regression Result&#39;</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-</div></code></pre><img src="/assets/gciTales/03-regression/6.png"/><h2>Results and Conclusion</h2><p>You just learnt Polynomial Regression using TensorFlow!</p><h2>Notes</h2><h3>Overfitting</h3><blockquote><p>&gt; Overfitting refers to a model that models the training data too well.Overfitting happens when a model learns the detail and noise in the training data to the extent that it negatively impacts the performance of the model on new data. This means that the noise or random fluctuations in the training data is picked up and learned as concepts by the model. The problem is that these concepts do not apply to new data and negatively impact the models ability to generalise.</p></blockquote><blockquote><p>Source: Machine Learning Mastery</p></blockquote><p>Basically if you train your machine learning model on a small dataset for a really large number of epochs, the model will learn all the deformities/noise in the data and will actually think that it is a normal part. Therefore when it will see some new data, it will discard that new data as noise and will impact the accuracy of the model in a negative manner</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2019-12-22-Fake-News-Detector/index.html b/posts/2019-12-22-Fake-News-Detector/index.html
deleted file mode 100644
index 14c4770..0000000
--- a/posts/2019-12-22-Fake-News-Detector/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detector"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detector"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detector"/><title>Building a Fake News Detector with Turicreate | Navan Chauhan</title><meta name="twitter:title" content="Building a Fake News Detector with Turicreate | Navan Chauhan"/><meta name="og:title" content="Building a Fake News Detector with Turicreate | Navan Chauhan"/><meta name="description" content="In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app"/><meta name="twitter:description" content="In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app"/><meta name="og:description" content="In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">7 minute read</span><span class="reading-time">Created on December 22, 2019</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Building a Fake News Detector with Turicreate</h1><p><strong>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</strong></p><p>Note: These commands are written as if you are running a jupyter notebook.</p><h2>Building the Machine Learning Model</h2><h3>Data Gathering</h3><p>To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and whether it is fake or real. Whenever you are looking for a dataset, always try searching on Kaggle and GitHub before you start building your own</p><h3>Dependencies</h3><p>I used a Google Colab instance for training my model. If you also plan on using Google Colab then I recommend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreate is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.</p><pre><code><div class="highlight"><span></span><span class="nt">!pip</span><span class="na"> install turicreate</span>
-<span class="na">!pip uninstall -y mxnet</span>
-<span class="na">!pip install mxnet-cu100==1.4.0.post0</span>
-</div></code></pre><p>If you do not wish to train on GPU or are running it on your computer, you can ignore the last two lines</p><h3>Downloading the Dataset</h3><pre><code><div class="highlight"><span></span><span class="nt">!wget</span><span class="na"> -q &quot;https</span><span class="p">:</span><span class="nc">//github.com/joolsa/fake_real_news_dataset/raw/master/fake_or_real_news.csv.zip&quot;</span>
-<span class="nt">!unzip</span><span class="na"> fake_or_real_news.csv.zip</span>
-</div></code></pre><h3>Model Creation</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">turicreate</span> <span class="k">as</span> <span class="nn">tc</span>
-<span class="n">tc</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">set_num_gpus</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="c1"># If you do not wish to use GPUs, set it to 0</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">dataSFrame</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">SFrame</span><span class="p">(</span><span class="s1">&#39;fake_or_real_news.csv&#39;</span><span class="p">)</span>
-</div></code></pre><p>The dataset contains a column named "X1", which is of no use to us. Therefore, we simply drop it</p><pre><code><div class="highlight"><span></span><span class="n">dataSFrame</span><span class="o">.</span><span class="n">remove_column</span><span class="p">(</span><span class="s1">&#39;X1&#39;</span><span class="p">)</span>
-</div></code></pre><h4>Splitting Dataset</h4><pre><code><div class="highlight"><span></span><span class="n">train</span><span class="p">,</span> <span class="n">test</span> <span class="o">=</span> <span class="n">dataSFrame</span><span class="o">.</span><span class="n">random_split</span><span class="p">(</span><span class="o">.</span><span class="mi">9</span><span class="p">)</span>
-</div></code></pre><h4>Training</h4><pre><code><div class="highlight"><span></span><span class="n">model</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">text_classifier</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
- <span class="n">dataset</span><span class="o">=</span><span class="n">train</span><span class="p">,</span>
- <span class="n">target</span><span class="o">=</span><span class="s1">&#39;label&#39;</span><span class="p">,</span>
- <span class="n">features</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">,</span><span class="s1">&#39;text&#39;</span><span class="p">]</span>
-<span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="o">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="o">|</span> <span class="n">Iteration</span> <span class="o">|</span> <span class="n">Passes</span> <span class="o">|</span> <span class="n">Step</span> <span class="n">size</span> <span class="o">|</span> <span class="n">Elapsed</span> <span class="n">Time</span> <span class="o">|</span> <span class="n">Training</span> <span class="n">Accuracy</span> <span class="o">|</span> <span class="n">Validation</span> <span class="n">Accuracy</span> <span class="o">|</span>
-<span class="o">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="o">|</span> <span class="mi">0</span> <span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.156349</span> <span class="o">|</span> <span class="mf">0.889680</span> <span class="o">|</span> <span class="mf">0.790036</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span> <span class="mi">4</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.359196</span> <span class="o">|</span> <span class="mf">0.985952</span> <span class="o">|</span> <span class="mf">0.918149</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="mi">6</span> <span class="o">|</span> <span class="mf">0.820091</span> <span class="o">|</span> <span class="mf">1.557205</span> <span class="o">|</span> <span class="mf">0.990260</span> <span class="o">|</span> <span class="mf">0.914591</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">3</span> <span class="o">|</span> <span class="mi">7</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.684872</span> <span class="o">|</span> <span class="mf">0.998689</span> <span class="o">|</span> <span class="mf">0.925267</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span> <span class="mi">8</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">1.814194</span> <span class="o">|</span> <span class="mf">0.999063</span> <span class="o">|</span> <span class="mf">0.925267</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">9</span> <span class="o">|</span> <span class="mi">14</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">2.507072</span> <span class="o">|</span> <span class="mf">1.000000</span> <span class="o">|</span> <span class="mf">0.911032</span> <span class="o">|</span>
-<span class="o">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-</div></code></pre><h3>Testing the Model</h3><pre><code><div class="highlight"><span></span><span class="n">est_predictions</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">test</span><span class="p">)</span>
-<span class="n">accuracy</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">evaluation</span><span class="o">.</span><span class="n">accuracy</span><span class="p">(</span><span class="n">test</span><span class="p">[</span><span class="s1">&#39;label&#39;</span><span class="p">],</span> <span class="n">test_predictions</span><span class="p">)</span>
-<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Topic classifier model has a testing accuracy of </span><span class="si">{</span><span class="n">accuracy</span><span class="o">*</span><span class="mi">100</span><span class="si">}</span><span class="s1">% &#39;</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="n">Topic</span> <span class="n">classifier</span> <span class="n">model</span> <span class="n">has</span> <span class="n">a</span> <span class="n">testing</span> <span class="n">accuracy</span> <span class="n">of</span> <span class="mf">92.3076923076923</span><span class="o">%</span>
-</div></code></pre><p>We have just created our own Fake News Detection Model which has an accuracy of 92%!</p><pre><code><div class="highlight"><span></span><span class="n">example_text</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;title&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;Middling ‘Rise Of Skywalker’ Review Leaves Fan On Fence About Whether To Threaten To Kill Critic&quot;</span><span class="p">],</span> <span class="s2">&quot;text&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;Expressing ambivalence toward the relatively balanced appraisal of the film, Star Wars fan Miles Ariely admitted Thursday that an online publication’s middling review of The Rise Of Skywalker had left him on the fence about whether he would still threaten to kill the critic who wrote it. “I’m really of two minds about this, because on the one hand, he said the new movie fails to live up to the original trilogy, which makes me at least want to throw a brick through his window with a note telling him to watch his back,” said Ariely, confirming he had already drafted an eight-page-long death threat to Stan Corimer of the website Screen-On Time, but had not yet decided whether to post it to the reviewer’s Facebook page. “On the other hand, though, he commended J.J. Abrams’ skillful pacing and faithfulness to George Lucas’ vision, which makes me wonder if I should just call the whole thing off. Now, I really don’t feel like camping outside his house for hours. Maybe I could go with a response that’s somewhere in between, like, threatening to kill his dog but not everyone in his whole family? I don’t know. This is a tough one.” At press time, sources reported that Ariely had resolved to wear his Ewok costume while he murdered the critic in his sleep.&quot;</span><span class="p">]}</span>
-<span class="n">example_prediction</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">classify</span><span class="p">(</span><span class="n">tc</span><span class="o">.</span><span class="n">SFrame</span><span class="p">(</span><span class="n">example_text</span><span class="p">))</span>
-<span class="nb">print</span><span class="p">(</span><span class="n">example_prediction</span><span class="p">,</span> <span class="n">flush</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="o">+-------+--------------------+</span>
-<span class="o">|</span> <span class="k">class</span> <span class="err">| </span><span class="nc">probability</span> <span class="o">|</span>
-<span class="o">+-------+--------------------+</span>
-<span class="o">|</span> <span class="n">FAKE</span> <span class="o">|</span> <span class="mf">0.9245648658345308</span> <span class="o">|</span>
-<span class="o">+-------+--------------------+</span>
-<span class="p">[</span><span class="mi">1</span> <span class="n">rows</span> <span class="n">x</span> <span class="mi">2</span> <span class="n">columns</span><span class="p">]</span>
-</div></code></pre><h3>Exporting the Model</h3><pre><code><div class="highlight"><span></span><span class="n">model_name</span> <span class="o">=</span> <span class="s1">&#39;FakeNews&#39;</span>
-<span class="n">coreml_model_name</span> <span class="o">=</span> <span class="n">model_name</span> <span class="o">+</span> <span class="s1">&#39;.mlmodel&#39;</span>
-<span class="n">exportedModel</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">export_coreml</span><span class="p">(</span><span class="n">coreml_model_name</span><span class="p">)</span>
-</div></code></pre><p><strong>Note: To download files from Google Colab, simply click on the files section in the sidebar, right click on filename and then click on download</strong></p><p><a href="https://colab.research.google.com/drive/1onMXGkhA__X2aOFdsoVL-6HQBsWQhOP4">Link to Colab Notebook</a></p><h2>Building the App using SwiftUI</h2><h3>Initial Setup</h3><p>First we create a single view app (make sure you check the use SwiftUI button)</p><p>Then we copy our .mlmodel file to our project (Just drag and drop the file in the XCode Files Sidebar)</p><p>Our ML Model does not take a string directly as an input, rather it takes bag of words as an input. DescriptionThe bag-of-words model is a simplifying representation used in NLP, in this text is represented as a bag of words, without any regard for grammar or order, but noting multiplicity</p><p>We define our bag of words function</p><pre><code><div class="highlight"><span></span><span class="kd">func</span> <span class="nf">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="nb">String</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]</span> <span class="p">{</span>
- <span class="kd">var</span> <span class="nv">bagOfWords</span> <span class="p">=</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]()</span>
-
- <span class="kd">let</span> <span class="nv">tagger</span> <span class="p">=</span> <span class="bp">NSLinguisticTagger</span><span class="p">(</span><span class="n">tagSchemes</span><span class="p">:</span> <span class="p">[.</span><span class="n">tokenType</span><span class="p">],</span> <span class="n">options</span><span class="p">:</span> <span class="mi">0</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">range</span> <span class="p">=</span> <span class="n">NSRange</span><span class="p">(</span><span class="n">location</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">length</span><span class="p">:</span> <span class="n">text</span><span class="p">.</span><span class="n">utf16</span><span class="p">.</span><span class="bp">count</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">options</span><span class="p">:</span> <span class="bp">NSLinguisticTagger</span><span class="p">.</span><span class="n">Options</span> <span class="p">=</span> <span class="p">[.</span><span class="n">omitPunctuation</span><span class="p">,</span> <span class="p">.</span><span class="n">omitWhitespace</span><span class="p">]</span>
- <span class="n">tagger</span><span class="p">.</span><span class="n">string</span> <span class="p">=</span> <span class="n">text</span>
-
- <span class="n">tagger</span><span class="p">.</span><span class="n">enumerateTags</span><span class="p">(</span><span class="k">in</span><span class="p">:</span> <span class="n">range</span><span class="p">,</span> <span class="n">unit</span><span class="p">:</span> <span class="p">.</span><span class="n">word</span><span class="p">,</span> <span class="n">scheme</span><span class="p">:</span> <span class="p">.</span><span class="n">tokenType</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">options</span><span class="p">)</span> <span class="p">{</span> <span class="kc">_</span><span class="p">,</span> <span class="n">tokenRange</span><span class="p">,</span> <span class="kc">_</span> <span class="k">in</span>
- <span class="kd">let</span> <span class="nv">word</span> <span class="p">=</span> <span class="p">(</span><span class="n">text</span> <span class="k">as</span> <span class="bp">NSString</span><span class="p">).</span><span class="n">substring</span><span class="p">(</span><span class="n">with</span><span class="p">:</span> <span class="n">tokenRange</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span><span class="o">!</span> <span class="o">+=</span> <span class="mi">1</span>
- <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="p">=</span> <span class="mi">1</span>
- <span class="p">}</span>
- <span class="p">}</span>
-
- <span class="k">return</span> <span class="n">bagOfWords</span>
- <span class="p">}</span>
-</div></code></pre><p>We also declare our variables</p><pre><code><div class="highlight"><span></span><span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">title</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">headline</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertTitle</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertText</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-<span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">showingAlert</span> <span class="p">=</span> <span class="kc">false</span>
-</div></code></pre><p>Finally, we implement a simple function which reads the two text fields, creates their bag of words representation and displays an alert with the appropriate result</p><p><strong>Complete Code</strong></p><pre><code><div class="highlight"><span></span><span class="kd">import</span> <span class="nc">SwiftUI</span>
-
-<span class="kd">struct</span> <span class="nc">ContentView</span><span class="p">:</span> <span class="n">View</span> <span class="p">{</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">title</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">headline</span><span class="p">:</span> <span class="nb">String</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
-
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertTitle</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">alertText</span> <span class="p">=</span> <span class="s">&quot;&quot;</span>
- <span class="p">@</span><span class="n">State</span> <span class="kd">private</span> <span class="kd">var</span> <span class="nv">showingAlert</span> <span class="p">=</span> <span class="kc">false</span>
-
- <span class="kd">var</span> <span class="nv">body</span><span class="p">:</span> <span class="n">some</span> <span class="n">View</span> <span class="p">{</span>
- <span class="n">NavigationView</span> <span class="p">{</span>
- <span class="n">VStack</span><span class="p">(</span><span class="n">alignment</span><span class="p">:</span> <span class="p">.</span><span class="n">leading</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">Text</span><span class="p">(</span><span class="s">&quot;Headline&quot;</span><span class="p">).</span><span class="n">font</span><span class="p">(.</span><span class="n">headline</span><span class="p">)</span>
- <span class="n">TextField</span><span class="p">(</span><span class="s">&quot;Please Enter Headline&quot;</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="err">$</span><span class="n">title</span><span class="p">)</span>
- <span class="p">.</span><span class="n">lineLimit</span><span class="p">(</span><span class="kc">nil</span><span class="p">)</span>
- <span class="n">Text</span><span class="p">(</span><span class="s">&quot;Body&quot;</span><span class="p">).</span><span class="n">font</span><span class="p">(.</span><span class="n">headline</span><span class="p">)</span>
- <span class="n">TextField</span><span class="p">(</span><span class="s">&quot;Please Enter the content&quot;</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="err">$</span><span class="n">headline</span><span class="p">)</span>
- <span class="p">.</span><span class="n">lineLimit</span><span class="p">(</span><span class="kc">nil</span><span class="p">)</span>
- <span class="p">}</span>
- <span class="p">.</span><span class="n">navigationBarTitle</span><span class="p">(</span><span class="s">&quot;Fake News Checker&quot;</span><span class="p">)</span>
- <span class="p">.</span><span class="n">navigationBarItems</span><span class="p">(</span><span class="n">trailing</span><span class="p">:</span>
- <span class="n">Button</span><span class="p">(</span><span class="n">action</span><span class="p">:</span> <span class="n">classifyFakeNews</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">Text</span><span class="p">(</span><span class="s">&quot;Check&quot;</span><span class="p">)</span>
- <span class="p">})</span>
- <span class="p">.</span><span class="n">padding</span><span class="p">()</span>
- <span class="p">.</span><span class="n">alert</span><span class="p">(</span><span class="n">isPresented</span><span class="p">:</span> <span class="err">$</span><span class="n">showingAlert</span><span class="p">){</span>
- <span class="n">Alert</span><span class="p">(</span><span class="n">title</span><span class="p">:</span> <span class="n">Text</span><span class="p">(</span><span class="n">alertTitle</span><span class="p">),</span> <span class="n">message</span><span class="p">:</span> <span class="n">Text</span><span class="p">(</span><span class="n">alertText</span><span class="p">),</span> <span class="n">dismissButton</span><span class="p">:</span> <span class="p">.</span><span class="k">default</span><span class="p">(</span><span class="n">Text</span><span class="p">(</span><span class="s">&quot;OK&quot;</span><span class="p">)))</span>
- <span class="p">}</span>
- <span class="p">}</span>
-
- <span class="p">}</span>
-
- <span class="kd">func</span> <span class="nf">classifyFakeNews</span><span class="p">(){</span>
- <span class="kd">let</span> <span class="nv">model</span> <span class="p">=</span> <span class="n">FakeNews</span><span class="p">()</span>
- <span class="kd">let</span> <span class="nv">myTitle</span> <span class="p">=</span> <span class="n">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="n">title</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">myText</span> <span class="p">=</span> <span class="n">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="n">headline</span><span class="p">)</span>
- <span class="k">do</span> <span class="p">{</span>
- <span class="kd">let</span> <span class="nv">prediction</span> <span class="p">=</span> <span class="k">try</span> <span class="n">model</span><span class="p">.</span><span class="n">prediction</span><span class="p">(</span><span class="n">title</span><span class="p">:</span> <span class="n">myTitle</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="n">myText</span><span class="p">)</span>
- <span class="n">alertTitle</span> <span class="p">=</span> <span class="n">prediction</span><span class="p">.</span><span class="n">label</span>
- <span class="n">alertText</span> <span class="p">=</span> <span class="s">&quot;It is likely that this piece of news is </span><span class="si">\(</span><span class="n">prediction</span><span class="p">.</span><span class="n">label</span><span class="p">.</span><span class="n">lowercased</span><span class="si">())</span><span class="s">.&quot;</span>
- <span class="bp">print</span><span class="p">(</span><span class="n">alertText</span><span class="p">)</span>
- <span class="p">}</span> <span class="k">catch</span> <span class="p">{</span>
- <span class="n">alertTitle</span> <span class="p">=</span> <span class="s">&quot;Error&quot;</span>
- <span class="n">alertText</span> <span class="p">=</span> <span class="s">&quot;Sorry, could not classify if the input news was fake or not.&quot;</span>
- <span class="p">}</span>
-
- <span class="n">showingAlert</span> <span class="p">=</span> <span class="kc">true</span>
- <span class="p">}</span>
- <span class="kd">func</span> <span class="nf">bow</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="nb">String</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]</span> <span class="p">{</span>
- <span class="kd">var</span> <span class="nv">bagOfWords</span> <span class="p">=</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Double</span><span class="p">]()</span>
-
- <span class="kd">let</span> <span class="nv">tagger</span> <span class="p">=</span> <span class="bp">NSLinguisticTagger</span><span class="p">(</span><span class="n">tagSchemes</span><span class="p">:</span> <span class="p">[.</span><span class="n">tokenType</span><span class="p">],</span> <span class="n">options</span><span class="p">:</span> <span class="mi">0</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">range</span> <span class="p">=</span> <span class="n">NSRange</span><span class="p">(</span><span class="n">location</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">length</span><span class="p">:</span> <span class="n">text</span><span class="p">.</span><span class="n">utf16</span><span class="p">.</span><span class="bp">count</span><span class="p">)</span>
- <span class="kd">let</span> <span class="nv">options</span><span class="p">:</span> <span class="bp">NSLinguisticTagger</span><span class="p">.</span><span class="n">Options</span> <span class="p">=</span> <span class="p">[.</span><span class="n">omitPunctuation</span><span class="p">,</span> <span class="p">.</span><span class="n">omitWhitespace</span><span class="p">]</span>
- <span class="n">tagger</span><span class="p">.</span><span class="n">string</span> <span class="p">=</span> <span class="n">text</span>
-
- <span class="n">tagger</span><span class="p">.</span><span class="n">enumerateTags</span><span class="p">(</span><span class="k">in</span><span class="p">:</span> <span class="n">range</span><span class="p">,</span> <span class="n">unit</span><span class="p">:</span> <span class="p">.</span><span class="n">word</span><span class="p">,</span> <span class="n">scheme</span><span class="p">:</span> <span class="p">.</span><span class="n">tokenType</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">options</span><span class="p">)</span> <span class="p">{</span> <span class="kc">_</span><span class="p">,</span> <span class="n">tokenRange</span><span class="p">,</span> <span class="kc">_</span> <span class="k">in</span>
- <span class="kd">let</span> <span class="nv">word</span> <span class="p">=</span> <span class="p">(</span><span class="n">text</span> <span class="k">as</span> <span class="bp">NSString</span><span class="p">).</span><span class="n">substring</span><span class="p">(</span><span class="n">with</span><span class="p">:</span> <span class="n">tokenRange</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span><span class="o">!</span> <span class="o">+=</span> <span class="mi">1</span>
- <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n">bagOfWords</span><span class="p">[</span><span class="n">word</span><span class="p">]</span> <span class="p">=</span> <span class="mi">1</span>
- <span class="p">}</span>
- <span class="p">}</span>
-
- <span class="k">return</span> <span class="n">bagOfWords</span>
- <span class="p">}</span>
-<span class="p">}</span>
-
-<span class="kd">struct</span> <span class="nc">ContentView_Previews</span><span class="p">:</span> <span class="n">PreviewProvider</span> <span class="p">{</span>
- <span class="kd">static</span> <span class="kd">var</span> <span class="nv">previews</span><span class="p">:</span> <span class="n">some</span> <span class="n">View</span> <span class="p">{</span>
- <span class="n">ContentView</span><span class="p">()</span>
- <span class="p">}</span>
-<span class="p">}</span>
-</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-01-14-Converting-between-PIL-NumPy/index.html b/posts/2020-01-14-Converting-between-PIL-NumPy/index.html
deleted file mode 100644
index 9b54cc6..0000000
--- a/posts/2020-01-14-Converting-between-PIL-NumPy/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPy"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPy"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPy"/><title>Converting between image and NumPy array | Navan Chauhan</title><meta name="twitter:title" content="Converting between image and NumPy array | Navan Chauhan"/><meta name="og:title" content="Converting between image and NumPy array | Navan Chauhan"/><meta name="description" content="Short code snippet for converting between PIL image and NumPy arrays."/><meta name="twitter:description" content="Short code snippet for converting between PIL image and NumPy arrays."/><meta name="og:description" content="Short code snippet for converting between PIL image and NumPy arrays."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on January 14, 2020</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Converting between image and NumPy array</h1><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">numpy</span>
-<span class="kn">import</span> <span class="nn">PIL</span>
-
-<span class="c1"># Convert PIL Image to NumPy array</span>
-<span class="n">img</span> <span class="o">=</span> <span class="n">PIL</span><span class="o">.</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">&quot;foo.jpg&quot;</span><span class="p">)</span>
-<span class="n">arr</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">img</span><span class="p">)</span>
-
-<span class="c1"># Convert array to Image</span>
-<span class="n">img</span> <span class="o">=</span> <span class="n">PIL</span><span class="o">.</span><span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span>
-</div></code></pre><h2>Saving an Image</h2><pre><code><div class="highlight"><span></span><span class="k">try</span><span class="p">:</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">destination</span><span class="p">,</span> <span class="s2">&quot;JPEG&quot;</span><span class="p">,</span> <span class="n">quality</span><span class="o">=</span><span class="mi">80</span><span class="p">,</span> <span class="n">optimize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">progressive</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span>
- <span class="n">PIL</span><span class="o">.</span><span class="n">ImageFile</span><span class="o">.</span><span class="n">MAXBLOCK</span> <span class="o">=</span> <span class="n">img</span><span class="o">.</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">img</span><span class="o">.</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">destination</span><span class="p">,</span> <span class="s2">&quot;JPEG&quot;</span><span class="p">,</span> <span class="n">quality</span><span class="o">=</span><span class="mi">80</span><span class="p">,</span> <span class="n">optimize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">progressive</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html b/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html
deleted file mode 100644
index c79edd0..0000000
--- a/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab"/><title>Setting up Kaggle to use with Google Colab | Navan Chauhan</title><meta name="twitter:title" content="Setting up Kaggle to use with Google Colab | Navan Chauhan"/><meta name="og:title" content="Setting up Kaggle to use with Google Colab | Navan Chauhan"/><meta name="description" content="Tutorial on setting up kaggle, to use with Google Colab"/><meta name="twitter:description" content="Tutorial on setting up kaggle, to use with Google Colab"/><meta name="og:description" content="Tutorial on setting up kaggle, to use with Google Colab"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on January 15, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Setting up Kaggle to use with Google Colab</h1><p><em>In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)</em></p><h2>Grabbing Our Tokens</h2><h3>Go to Kaggle</h3><img src="/assets/posts/kaggle-colab/ss1.png" alt=""Homepage""/><h3>Click on your User Profile and Click on My Account</h3><img src="/assets/posts/kaggle-colab/ss2.png" alt=""Account""/><h3>Scroll Down until you see Create New API Token</h3><img src="/assets/posts/kaggle-colab/ss3.png"/><h3>This will download your token as a JSON file</h3><img src="/assets/posts/kaggle-colab/ss4.png"/><p>Copy the File to the root folder of your Google Drive</p><h2>Setting up Colab</h2><h3>Mounting Google Drive</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">from</span> <span class="nn">google.colab</span> <span class="kn">import</span> <span class="n">drive</span>
-<span class="n">drive</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="s1">&#39;/content/drive&#39;</span><span class="p">)</span>
-</div></code></pre><p>After this click on the URL in the output section, login and then paste the Auth Code</p><h3>Configuring Kaggle</h3><pre><code><div class="highlight"><span></span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">&#39;KAGGLE_CONFIG_DIR&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;/content/drive/My Drive/&quot;</span>
-</div></code></pre><p>Voila! You can now download Kaggle datasets</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html b/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html
deleted file mode 100644
index ce03f3a..0000000
--- a/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreate"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreate"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreate"/><title>Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan</title><meta name="twitter:title" content="Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan"/><meta name="og:title" content="Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan"/><meta name="description" content="Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle"/><meta name="twitter:description" content="Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle"/><meta name="og:description" content="Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">6 minute read</span><span class="reading-time">Created on January 16, 2020</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</h1><p><em>For setting up Kaggle with Google Colab, please refer to <a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/"> my previous post</a></em></p><h2>Dataset</h2><h3>Mounting Google Drive</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">from</span> <span class="nn">google.colab</span> <span class="kn">import</span> <span class="n">drive</span>
-<span class="n">drive</span><span class="o">.</span><span class="n">mount</span><span class="p">(</span><span class="s1">&#39;/content/drive&#39;</span><span class="p">)</span>
-</div></code></pre><h3>Downloading Dataset from Kaggle</h3><pre><code><div class="highlight"><span></span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">&#39;KAGGLE_CONFIG_DIR&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;/content/drive/My Drive/&quot;</span>
-<span class="err">!</span><span class="n">kaggle</span> <span class="n">datasets</span> <span class="n">download</span> <span class="n">ashutosh69</span><span class="o">/</span><span class="n">fire</span><span class="o">-</span><span class="ow">and</span><span class="o">-</span><span class="n">smoke</span><span class="o">-</span><span class="n">dataset</span>
-<span class="err">!</span><span class="n">unzip</span> <span class="s2">&quot;fire-and-smoke-dataset.zip&quot;</span>
-</div></code></pre><h2>Pre-Processing</h2><pre><code><div class="highlight"><span></span><span class="nt">!mkdir</span><span class="na"> default smoke fire</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">!ls</span><span class="na"> data/data/img_data/train/default/*.jpg</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">img_1002.jpg</span><span class="na"> img_20.jpg img_519.jpg img_604.jpg img_80.jpg</span>
-<span class="na">img_1003.jpg img_21.jpg img_51.jpg img_60.jpg img_8.jpg</span>
-<span class="na">img_1007.jpg img_22.jpg img_520.jpg img_61.jpg img_900.jpg</span>
-<span class="na">img_100.jpg img_23.jpg img_521.jpg &#39;img_62 (2).jpg&#39; img_920.jpg</span>
-<span class="na">img_1014.jpg img_24.jpg &#39;img_52 (2).jpg&#39; img_62.jpg img_921.jpg</span>
-<span class="na">img_1018.jpg img_29.jpg img_522.jpg &#39;img_63 (2).jpg&#39; img_922.jpg</span>
-<span class="na">img_101.jpg img_3000.jpg img_523.jpg img_63.jpg img_923.jpg</span>
-<span class="na">img_1027.jpg img_335.jpg img_524.jpg img_66.jpg img_924.jpg</span>
-<span class="na">img_102.jpg img_336.jpg img_52.jpg img_67.jpg img_925.jpg</span>
-<span class="na">img_1042.jpg img_337.jpg img_530.jpg img_68.jpg img_926.jpg</span>
-<span class="na">img_1043.jpg img_338.jpg img_531.jpg img_700.jpg img_927.jpg</span>
-<span class="na">img_1046.jpg img_339.jpg &#39;img_53 (2).jpg&#39; img_701.jpg img_928.jpg</span>
-<span class="na">img_1052.jpg img_340.jpg img_532.jpg img_702.jpg img_929.jpg</span>
-<span class="na">img_107.jpg img_341.jpg img_533.jpg img_703.jpg img_930.jpg</span>
-<span class="na">img_108.jpg img_3.jpg img_537.jpg img_704.jpg img_931.jpg</span>
-<span class="na">img_109.jpg img_400.jpg img_538.jpg img_705.jpg img_932.jpg</span>
-<span class="na">img_10.jpg img_471.jpg img_539.jpg img_706.jpg img_933.jpg</span>
-<span class="na">img_118.jpg img_472.jpg img_53.jpg img_707.jpg img_934.jpg</span>
-<span class="na">img_12.jpg img_473.jpg img_540.jpg img_708.jpg img_935.jpg</span>
-<span class="na">img_14.jpg img_488.jpg img_541.jpg img_709.jpg img_938.jpg</span>
-<span class="na">img_15.jpg img_489.jpg &#39;img_54 (2).jpg&#39; img_70.jpg img_958.jpg</span>
-<span class="na">img_16.jpg img_490.jpg img_542.jpg img_710.jpg img_971.jpg</span>
-<span class="na">img_17.jpg img_491.jpg img_543.jpg &#39;img_71 (2).jpg&#39; img_972.jpg</span>
-<span class="na">img_18.jpg img_492.jpg img_54.jpg img_71.jpg img_973.jpg</span>
-<span class="na">img_19.jpg img_493.jpg &#39;img_55 (2).jpg&#39; img_72.jpg img_974.jpg</span>
-<span class="na">img_1.jpg img_494.jpg img_55.jpg img_73.jpg img_975.jpg</span>
-<span class="na">img_200.jpg img_495.jpg img_56.jpg img_74.jpg img_980.jpg</span>
-<span class="na">img_201.jpg img_496.jpg img_57.jpg img_75.jpg img_988.jpg</span>
-<span class="na">img_202.jpg img_497.jpg img_58.jpg img_76.jpg img_9.jpg</span>
-<span class="na">img_203.jpg img_4.jpg img_59.jpg img_77.jpg</span>
-<span class="na">img_204.jpg img_501.jpg img_601.jpg img_78.jpg</span>
-<span class="na">img_205.jpg img_502.jpg img_602.jpg img_79.jpg</span>
-<span class="na">img_206.jpg img_50.jpg img_603.jpg img_7.jpg</span>
-</div></code></pre><p>The image files are not actually JPEG, thus we first need to save them in the correct format for Turicreate</p><pre><code><div class="highlight"><span></span><span class="kn">from</span> <span class="nn">PIL</span> <span class="kn">import</span> <span class="n">Image</span>
-<span class="kn">import</span> <span class="nn">glob</span>
-
-
-<span class="n">folders</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;default&quot;</span><span class="p">,</span><span class="s2">&quot;smoke&quot;</span><span class="p">,</span><span class="s2">&quot;fire&quot;</span><span class="p">]</span>
-<span class="k">for</span> <span class="n">folder</span> <span class="ow">in</span> <span class="n">folders</span><span class="p">:</span>
- <span class="n">n</span> <span class="o">=</span> <span class="mi">1</span>
- <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s2">&quot;./data/data/img_data/train/&quot;</span> <span class="o">+</span> <span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/*.jpg&quot;</span><span class="p">):</span>
- <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
- <span class="n">rgb_im</span> <span class="o">=</span> <span class="n">im</span><span class="o">.</span><span class="n">convert</span><span class="p">(</span><span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">rgb_im</span><span class="o">.</span><span class="n">save</span><span class="p">((</span><span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.jpg&quot;</span><span class="p">),</span> <span class="n">quality</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
- <span class="n">n</span> <span class="o">+=</span><span class="mi">1</span>
- <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s2">&quot;./data/data/img_data/train/&quot;</span> <span class="o">+</span> <span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/*.jpg&quot;</span><span class="p">):</span>
- <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
- <span class="n">rgb_im</span> <span class="o">=</span> <span class="n">im</span><span class="o">.</span><span class="n">convert</span><span class="p">(</span><span class="s1">&#39;RGB&#39;</span><span class="p">)</span>
- <span class="n">rgb_im</span><span class="o">.</span><span class="n">save</span><span class="p">((</span><span class="n">folder</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.jpg&quot;</span><span class="p">),</span> <span class="n">quality</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
- <span class="n">n</span> <span class="o">+=</span><span class="mi">1</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">!mkdir</span><span class="na"> train</span>
-<span class="na">!mv default ./train</span>
-<span class="na">!mv smoke ./train</span>
-<span class="na">!mv fire ./train</span>
-</div></code></pre><h2>Making the Image Classifier</h2><h3>Making an SFrame</h3><pre><code><div class="highlight"><span></span><span class="nt">!pip</span><span class="na"> install turicreate</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">turicreate</span> <span class="k">as</span> <span class="nn">tc</span>
-<span class="kn">import</span> <span class="nn">os</span>
-
-<span class="n">data</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">image_analysis</span><span class="o">.</span><span class="n">load_images</span><span class="p">(</span><span class="s2">&quot;./train&quot;</span><span class="p">,</span> <span class="n">with_path</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-<span class="n">data</span><span class="p">[</span><span class="s2">&quot;label&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s2">&quot;path&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">path</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">path</span><span class="p">)))</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">&#39;fire-smoke.sframe&#39;</span><span class="p">)</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">+-------------------------+------------------------+</span>
-<span class="err">| path | image |</span>
-<span class="nt">+-------------------------+------------------------+</span>
-<span class="err">| ./train/default/1.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/10.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/100.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/101.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/102.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/103.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/104.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/105.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/106.jpg | Height: 224 Width: 224 |</span>
-<span class="err">| ./train/default/107.jpg | Height: 224 Width: 224 |</span>
-<span class="nt">+-------------------------+------------------------+</span>
-<span class="nt">[2028</span><span class="na"> rows x 2 columns]</span>
-<span class="na">Note</span><span class="p">:</span><span class="err"> </span><span class="nc">Only</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">head</span><span class="err"> </span><span class="nc">of</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">SFrame</span><span class="err"> </span><span class="nc">is</span><span class="err"> </span><span class="nc">printed.</span>
-<span class="nt">You</span><span class="na"> can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.</span>
-<span class="na">+-------------------------+------------------------+---------+</span>
-<span class="p">|</span><span class="na"> path </span><span class="p">|</span><span class="na"> image </span><span class="p">|</span><span class="na"> label </span><span class="p">|</span>
-<span class="nt">+-------------------------+------------------------+---------+</span>
-<span class="err">| ./train/default/1.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/10.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/100.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/101.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/102.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/103.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/104.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/105.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/106.jpg | Height: 224 Width: 224 | default |</span>
-<span class="err">| ./train/default/107.jpg | Height: 224 Width: 224 | default |</span>
-<span class="nt">+-------------------------+------------------------+---------+</span>
-<span class="nt">[2028</span><span class="na"> rows x 3 columns]</span>
-<span class="na">Note</span><span class="p">:</span><span class="err"> </span><span class="nc">Only</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">head</span><span class="err"> </span><span class="nc">of</span><span class="err"> </span><span class="nc">the</span><span class="err"> </span><span class="nc">SFrame</span><span class="err"> </span><span class="nc">is</span><span class="err"> </span><span class="nc">printed.</span>
-<span class="nt">You</span><span class="na"> can use print_rows(num_rows=m, num_columns=n) to print more rows and columns.</span>
-</div></code></pre><h3>Making the Model</h3><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">turicreate</span> <span class="k">as</span> <span class="nn">tc</span>
-
-<span class="c1"># Load the data</span>
-<span class="n">data</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">SFrame</span><span class="p">(</span><span class="s1">&#39;fire-smoke.sframe&#39;</span><span class="p">)</span>
-
-<span class="c1"># Make a train-test split</span>
-<span class="n">train_data</span><span class="p">,</span> <span class="n">test_data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">random_split</span><span class="p">(</span><span class="mf">0.8</span><span class="p">)</span>
-
-<span class="c1"># Create the model</span>
-<span class="n">model</span> <span class="o">=</span> <span class="n">tc</span><span class="o">.</span><span class="n">image_classifier</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">train_data</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s1">&#39;label&#39;</span><span class="p">)</span>
-
-<span class="c1"># Save predictions to an SArray</span>
-<span class="n">predictions</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">test_data</span><span class="p">)</span>
-
-<span class="c1"># Evaluate the model and print the results</span>
-<span class="n">metrics</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">evaluate</span><span class="p">(</span><span class="n">test_data</span><span class="p">)</span>
-<span class="nb">print</span><span class="p">(</span><span class="n">metrics</span><span class="p">[</span><span class="s1">&#39;accuracy&#39;</span><span class="p">])</span>
-
-<span class="c1"># Save the model for later use in Turi Create</span>
-<span class="n">model</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">&#39;fire-smoke.model&#39;</span><span class="p">)</span>
-
-<span class="c1"># Export for use in Core ML</span>
-<span class="n">model</span><span class="o">.</span><span class="n">export_coreml</span><span class="p">(</span><span class="s1">&#39;fire-smoke.mlmodel&#39;</span><span class="p">)</span>
-</div></code></pre><p><br></p><pre><code><div class="highlight"><span></span><span class="nt">Performing</span><span class="na"> feature extraction on resized images...</span>
-<span class="na">Completed 64/1633</span>
-<span class="na">Completed 128/1633</span>
-<span class="na">Completed 192/1633</span>
-<span class="na">Completed 256/1633</span>
-<span class="na">Completed 320/1633</span>
-<span class="na">Completed 384/1633</span>
-<span class="na">Completed 448/1633</span>
-<span class="na">Completed 512/1633</span>
-<span class="na">Completed 576/1633</span>
-<span class="na">Completed 640/1633</span>
-<span class="na">Completed 704/1633</span>
-<span class="na">Completed 768/1633</span>
-<span class="na">Completed 832/1633</span>
-<span class="na">Completed 896/1633</span>
-<span class="na">Completed 960/1633</span>
-<span class="na">Completed 1024/1633</span>
-<span class="na">Completed 1088/1633</span>
-<span class="na">Completed 1152/1633</span>
-<span class="na">Completed 1216/1633</span>
-<span class="na">Completed 1280/1633</span>
-<span class="na">Completed 1344/1633</span>
-<span class="na">Completed 1408/1633</span>
-<span class="na">Completed 1472/1633</span>
-<span class="na">Completed 1536/1633</span>
-<span class="na">Completed 1600/1633</span>
-<span class="na">Completed 1633/1633</span>
-<span class="na">PROGRESS</span><span class="p">:</span><span class="err"> </span><span class="nc">Creating</span><span class="err"> </span><span class="nc">a</span><span class="err"> </span><span class="nc">validation</span><span class="err"> </span><span class="nc">set</span><span class="err"> </span><span class="nc">from</span><span class="err"> </span><span class="nc">5</span><span class="err"> </span><span class="nc">percent</span><span class="err"> </span><span class="nc">of</span><span class="err"> </span><span class="nc">training</span><span class="err"> </span><span class="nc">data.</span><span class="err"> </span><span class="nc">This</span><span class="err"> </span><span class="nc">may</span><span class="err"> </span><span class="nc">take</span><span class="err"> </span><span class="nc">a</span><span class="err"> </span><span class="nc">while.</span>
- <span class="err">You can set ``validation_set=None`` to disable validation tracking.</span>
-
-<span class="nt">Logistic</span><span class="na"> regression</span><span class="p">:</span>
-<span class="nt">--------------------------------------------------------</span>
-<span class="nt">Number</span><span class="na"> of examples </span><span class="p">:</span><span class="err"> </span><span class="nc">1551</span>
-<span class="nt">Number</span><span class="na"> of classes </span><span class="p">:</span><span class="err"> </span><span class="nc">3</span>
-<span class="nt">Number</span><span class="na"> of feature columns </span><span class="p">:</span><span class="err"> </span><span class="nc">1</span>
-<span class="nt">Number</span><span class="na"> of unpacked features </span><span class="p">:</span><span class="err"> </span><span class="nc">2048</span>
-<span class="nt">Number</span><span class="na"> of coefficients </span><span class="p">:</span><span class="err"> </span><span class="nc">4098</span>
-<span class="nt">Starting</span><span class="na"> L-BFGS</span>
-<span class="na">--------------------------------------------------------</span>
-<span class="na">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="p">|</span><span class="na"> Iteration </span><span class="p">|</span><span class="na"> Passes </span><span class="p">|</span><span class="na"> Step size </span><span class="p">|</span><span class="na"> Elapsed Time </span><span class="p">|</span><span class="na"> Training Accuracy </span><span class="p">|</span><span class="na"> Validation Accuracy </span><span class="p">|</span>
-<span class="nt">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="err">| 0 | 6 | 0.018611 | 0.891830 | 0.553836 | 0.560976 |</span>
-<span class="err">| 1 | 10 | 0.390832 | 1.622383 | 0.744681 | 0.792683 |</span>
-<span class="err">| 2 | 11 | 0.488541 | 1.943987 | 0.733075 | 0.804878 |</span>
-<span class="err">| 3 | 14 | 2.442703 | 2.512545 | 0.727917 | 0.841463 |</span>
-<span class="err">| 4 | 15 | 2.442703 | 2.826964 | 0.861380 | 0.853659 |</span>
-<span class="err">| 9 | 28 | 2.340435 | 5.492035 | 0.941328 | 0.975610 |</span>
-<span class="nt">+-----------+----------+-----------+--------------+-------------------+---------------------+</span>
-<span class="nt">Performing</span><span class="na"> feature extraction on resized images...</span>
-<span class="na">Completed 64/395</span>
-<span class="na">Completed 128/395</span>
-<span class="na">Completed 192/395</span>
-<span class="na">Completed 256/395</span>
-<span class="na">Completed 320/395</span>
-<span class="na">Completed 384/395</span>
-<span class="na">Completed 395/395</span>
-<span class="na">0.9316455696202531</span>
-</div></code></pre><p>We just got an accuracy of 94% on Training Data and 97% on Validation Data!</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html b/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html
deleted file mode 100644
index 3f4dcb4..0000000
--- a/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal"/><title>How to setup Bluetooth on a Raspberry Pi | Navan Chauhan</title><meta name="twitter:title" content="How to setup Bluetooth on a Raspberry Pi | Navan Chauhan"/><meta name="og:title" content="How to setup Bluetooth on a Raspberry Pi | Navan Chauhan"/><meta name="description" content="Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W"/><meta name="twitter:description" content="Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W"/><meta name="og:description" content="Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on January 19, 2020</span><span class="reading-time">Last modified on June 1, 2020</span><h1>How to setup Bluetooth on a Raspberry Pi</h1><p><em>This was tested on a Raspberry Pi Zero W</em></p><h2>Enter in the Bluetooth Mode</h2><p><code>pi@raspberrypi:~ $ bluetoothctl</code></p><p><code>[bluetooth]# agent on</code></p><p><code>[bluetooth]# default-agent</code></p><p><code>[bluetooth]# scan on</code></p><h2>To Pair</h2><p>While being in bluetooth mode</p><p><code>[bluetooth]# pair XX:XX:XX:XX:XX:XX</code></p><p>To Exit out of bluetoothctl anytime, just type exit</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-03-03-Playing-With-Android-TV/index.html b/posts/2020-03-03-Playing-With-Android-TV/index.html
deleted file mode 100644
index 648ecd3..0000000
--- a/posts/2020-03-03-Playing-With-Android-TV/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-03-03-Playing-With-Android-TV"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-03-03-Playing-With-Android-TV"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-03-03-Playing-With-Android-TV"/><title>Tinkering with an Android TV | Navan Chauhan</title><meta name="twitter:title" content="Tinkering with an Android TV | Navan Chauhan"/><meta name="og:title" content="Tinkering with an Android TV | Navan Chauhan"/><meta name="description" content="Tinkering with an Android TV"/><meta name="twitter:description" content="Tinkering with an Android TV"/><meta name="og:description" content="Tinkering with an Android TV"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on March 3, 2020</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Tinkering with an Android TV</h1><p>So I have an Android TV, this posts covers everything I have tried on it</p><h2>Contents</h2><ol><li><a href="#IP-Address">Getting TV's IP Address</a></li><li><a href="#Developer-Settings">Enable Developer Settings</a></li><li><a href="#Enable-ADB">Enable ADB</a></li><li><a href="#Connect-ADB">Connect ADB</a></li><li><a href="#">Manipulating Packages</a></li></ol><h2>IP-Address</h2><p><em>These steps should be similar for all Android-TVs</em></p><ul><li>Go To Settings</li><li>Go to Network</li><li>Advanced Settings</li><li>Network Status</li><li>Note Down IP-Address</li></ul><p>The other option is to go to your router's server page and get connected devices</p><h2>Developer-Settings</h2><ul><li>Go To Settings</li><li>About</li><li>Continously click on the "Build" option until it says "You are a Developer"</li></ul><h2>Enable-ADB</h2><ul><li>Go to Settings</li><li>Go to Developer Options</li><li>Scroll untill you find ADB Debugging and enable that option</li></ul><h2>Connect-ADB</h2><ul><li>Open Terminal (Make sure you have ADB installed)</li><li>Enter the following command <code>adb connect &lt;IP_ADDRESS&gt;</code></li><li>To test the connection run <code>adb logcat</code></li></ul><h2>Manipulating Apps / Packages</h2><h3>Listing Packages</h3><ul><li><code>adb shell</code></li><li><code>pm list packages</code></li></ul><h3>Installing Packages</h3><ul><li><code>adb install -r package.apk</code></li></ul><h3>Uninstalling Packages</h3><ul><li><code>adb uninstall com.company.yourpackagename</code></li></ul></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-03-08-Making-Vaporwave-Track/index.html b/posts/2020-03-08-Making-Vaporwave-Track/index.html
deleted file mode 100644
index 5744348..0000000
--- a/posts/2020-03-08-Making-Vaporwave-Track/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-03-08-Making-Vaporwave-Track"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-03-08-Making-Vaporwave-Track"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-03-08-Making-Vaporwave-Track"/><title>Making My First Vaporwave Track (Remix) | Navan Chauhan</title><meta name="twitter:title" content="Making My First Vaporwave Track (Remix) | Navan Chauhan"/><meta name="og:title" content="Making My First Vaporwave Track (Remix) | Navan Chauhan"/><meta name="description" content="I made my first vaporwave remix"/><meta name="twitter:description" content="I made my first vaporwave remix"/><meta name="og:description" content="I made my first vaporwave remix"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">2 minute read</span><span class="reading-time">Created on March 8, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Making My First Vaporwave Track (Remix)</h1><p>I finally completed my first quick and dirty vaporwave remix of "I Want It That Way" by the Backstreet Boys</p><h1>V A P O R W A V E</h1><p>Vaporwave is all about A E S T H E T I C S. Vaporwave is a type of music genre that emerged as a parody of Chillwave, shared more as a meme rather than a proper musical genre. Of course this changed as the genre become mature</p><h1>How to Vaporwave</h1><p>The first track which is considered to be actual Vaporwave is Ramona Xavier's Macintosh Plus, this set the the guidelines for making Vaporwave</p><ul><li>Take a 1980s RnB song</li><li>Slow it down</li><li>Add Bass and Treble</li><li>Add again</li><li>Add Reverb ( make sure its wet )</li></ul><p>There you have your very own Vaporwave track.</p><p>( Now, there are some tracks being produced which are not remixes and are original )</p><h1>My Remix</h1><iframe width="300" height="202" src="https://www.bandlab.com/embed/?id=aa91e786-6361-ea11-a94c-0003ffd1cad8&blur=false" frameborder="0" allowfullscreen></iframe><h1>Where is the Programming?</h1><p>The fact that there are steps on producing Vaporwave, this gave me the idea that Vaporwave can actually be made using programming, stay tuned for when I publish the program which I am working on ( Generating A E S T H E T I C artwork and remixes)</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html b/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html
deleted file mode 100644
index 5eaa1ce..0000000
--- a/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS"/><title>Fixing X11 Error on macOS Catalina for AmberTools 18/19 | Navan Chauhan</title><meta name="twitter:title" content="Fixing X11 Error on macOS Catalina for AmberTools 18/19 | Navan Chauhan"/><meta name="og:title" content="Fixing X11 Error on macOS Catalina for AmberTools 18/19 | Navan Chauhan"/><meta name="description" content="Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina"/><meta name="twitter:description" content="Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina"/><meta name="og:description" content="Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">2 minute read</span><span class="reading-time">Created on April 13, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Fixing X11 Error on macOS Catalina for AmberTools 18/19</h1><p>I was trying to install AmberTools on my macOS Catalina Installation. Running <code>./configure -macAccelerate clang</code> gave me an error that it could not find X11 libraries, even though <code>locate libXt</code> showed that my installation was correct.</p><p>Error:</p><pre><code><div class="highlight"><span></span>Could not find the X11 libraries<span class="p">;</span> you may need to edit config.h
- to <span class="nb">set</span> the XHOME and XLIBS variables.
-Error: The X11 libraries are not in the usual location !
- To search <span class="k">for</span> them try the command: locate libXt
- On new Fedora OS<span class="s1">&#39;s install the libXt-devel libXext-devel</span>
-<span class="s1"> libX11-devel libICE-devel libSM-devel packages.</span>
-<span class="s1"> On old Fedora OS&#39;</span>s install the xorg-x11-devel package.
- On RedHat OS<span class="s1">&#39;s install the XFree86-devel package.</span>
-<span class="s1"> On Ubuntu OS&#39;</span>s install the xorg-dev and xserver-xorg packages.
-
- ...more info <span class="k">for</span> various linuxes at ambermd.org/ubuntu.html
-
- To build Amber without XLEaP, re-run configure with <span class="err">&#39;</span>-noX11:
- ./configure -noX11 --with-python /usr/local/bin/python3 -macAccelerate clang
-Configure failed due to the errors above!
-</div></code></pre><p>I searched on Google for a solution. Sadly, there was not even a single thread which had a solution about this error.</p><h2>The Fix</h2><p>Simply reinstalling XQuartz using homebrew fixed the error <code>brew cask reinstall xquartz</code></p><p>If you do not have XQuartz installed, you need to run <code>brew cask install xquartz</code></p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-05-31-compiling-open-babel-on-ios/index.html b/posts/2020-05-31-compiling-open-babel-on-ios/index.html
deleted file mode 100644
index 4ddee70..0000000
--- a/posts/2020-05-31-compiling-open-babel-on-ios/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-05-31-compiling-open-babel-on-ios"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-05-31-compiling-open-babel-on-ios"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-05-31-compiling-open-babel-on-ios"/><title>Compiling Open Babel on iOS | Navan Chauhan</title><meta name="twitter:title" content="Compiling Open Babel on iOS | Navan Chauhan"/><meta name="og:title" content="Compiling Open Babel on iOS | Navan Chauhan"/><meta name="description" content="Compiling Open Babel on iOS"/><meta name="twitter:description" content="Compiling Open Babel on iOS"/><meta name="og:description" content="Compiling Open Babel on iOS"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">5 minute read</span><span class="reading-time">Created on May 31, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Compiling Open Babel on iOS</h1><p>Due to the fact that my summer vacations started today, I had the brilliant idea of trying to run open babel on my iPad. To give a little background, I had tried to compile AutoDock Vina using a cross-compiler but I had miserably failed.</p><p>I am running the Checkr1n jailbreak on my iPad and the Unc0ver jailbreak on my phone.</p><h2>But Why?</h2><p>Well, just because I can. This is literally the only reason I tried compiling it and also partially because in the long run I want to compile AutoDock Vina so I can do Molecular Docking on the go.</p><h2>Let's Go!</h2><p>How hard can it be to compile open babel right? It is just a simple software with clear and concise build instructions. I just need to use <code>cmake</code> to build and the <code>make</code> to install.</p><p>It is 11 AM in the morning. I install <code>clang, cmake and make</code> from the Sam Bingner's repository, fired up ssh, downloaded the source code and ran the build command.`clang</p><h3>Fail No. 1</h3><p>I couldn't even get cmake to run, I did a little digging around StackOverflow and founf that I needed the iOS SDK, sure no problem. I waited for Xcode to update and transferred the SDKs to my iPad</p><pre><code><div class="highlight"><span></span>scp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk root@192.168.1.8:/var/sdks/
-</div></code></pre><p>Them I told cmake that this is the location for my SDK 😠. Successful! Now I just needed to use make.</p><h3>Fail No. 2</h3><p>It was giving the error that thread-local-storage was not supported on this device.</p><pre><code><div class="highlight"><span></span><span class="o">[</span> <span class="m">0</span>%<span class="o">]</span> Building CXX object src/CMakeFiles/openbabel.dir/alias.cpp.o
-<span class="o">[</span> <span class="m">1</span>%<span class="o">]</span> Building CXX object src/CMakeFiles/openbabel.dir/atom.cpp.o
-In file included from /var/root/obabel/ob-src/src/atom.cpp:28:
-In file included from /var/root/obabel/ob-src/include/openbabel/ring.h:29:
-/var/root/obabel/ob-src/include/openbabel/typer.h:70:1: error: thread-local storage is not supported <span class="k">for</span> the current target
-THREAD_LOCAL OB_EXTERN OBAtomTyper atomtyper<span class="p">;</span>
-^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-In file included from /var/root/obabel/ob-src/src/atom.cpp:28:
-In file included from /var/root/obabel/ob-src/include/openbabel/ring.h:29:
-/var/root/obabel/ob-src/include/openbabel/typer.h:84:1: error: thread-local storage is not supported <span class="k">for</span> the current target
-THREAD_LOCAL OB_EXTERN OBAromaticTyper aromtyper<span class="p">;</span>
-^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-/var/root/obabel/ob-src/src/atom.cpp:107:10: error: thread-local storage is not supported <span class="k">for</span> the current target
- extern THREAD_LOCAL OBAromaticTyper aromtyper<span class="p">;</span>
- ^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-/var/root/obabel/ob-src/src/atom.cpp:108:10: error: thread-local storage is not supported <span class="k">for</span> the current target
- extern THREAD_LOCAL OBAtomTyper atomtyper<span class="p">;</span>
- ^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-/var/root/obabel/ob-src/src/atom.cpp:109:10: error: thread-local storage is not supported <span class="k">for</span> the current target
- extern THREAD_LOCAL OBPhModel phmodel<span class="p">;</span>
- ^
-/var/root/obabel/ob-src/include/openbabel/mol.h:35:24: note: expanded from macro <span class="s1">&#39;THREAD_LOCAL&#39;</span>
-<span class="c1"># define THREAD_LOCAL thread_local</span>
- ^
-<span class="m">5</span> errors generated.
-make<span class="o">[</span><span class="m">2</span><span class="o">]</span>: *** <span class="o">[</span>src/CMakeFiles/openbabel.dir/build.make:76: src/CMakeFiles/openbabel.dir/atom.cpp.o<span class="o">]</span> Error <span class="m">1</span>
-make<span class="o">[</span><span class="m">1</span><span class="o">]</span>: *** <span class="o">[</span>CMakeFiles/Makefile2:1085: src/CMakeFiles/openbabel.dir/all<span class="o">]</span> Error <span class="m">2</span>
-make: *** <span class="o">[</span>Makefile:129: all<span class="o">]</span> Error <span class="m">2</span>
-</div></code></pre><p>Strange but it is alright, there is nothing that hasn't been answered on the internet.</p><p>I did a little digging around and could not find a solution 😔</p><p>As a temporary fix, I disabled multithreading by going and commenting the lines in the source code.</p><img src="/assets/posts/open-babel/s1.png" alt=""Open-Babel running on my iPad""/><h2>Packaging as a deb</h2><p>This was pretty straight forward, I tried installing it on my iPad and it was working pretty smoothly.</p><h2>Moment of Truth</h2><p>So I airdropped the .deb to my phone and tried installing it, the installation was successful but when I tried <code>obabel</code> it just aborted.</p><img src="/assets/posts/open-babel/s2.jpg" alt=""Open Babel crashing""/><p>Turns out because I had created an install target of a separate folder while compiling, the binaries were referencing a non-existing dylib rather than those in the /usr/lib folder. As a quick workaround I transferred the deb folder to my laptop and used otool and install_name tool: <code>install_name_tool -change /var/root/obabel/ob-build/lib/libopenbabel.7.dylib /usr/lib/libopenbabel.7.dylib</code> for all the executables and then signed them using jtool</p><p>I then installed it and everything went smoothly, I even ran <code>obabel</code> and it executed perfectly, showing the version number 3.1.0 ✌️ Ahh, smooth victory.</p><p>Nope. When I tried converting from SMILES to pdbqt, it gave an error saying plugin not found. This was weird.</p><img src="/assets/posts/open-babel/s3.jpg" alt=""Open Babel Plugin Error""/><p>So I just copied the entire build folder from my iPad to my phone and tried running it. Oops, Apple Sandbox Error, Oh no!</p><p>I spent 2 hours around this problem, only to see the documentation and realise I hadn't setup the environment variable 🤦‍♂️</p><h2>The Final Fix ( For Now )</h2><pre><code><div class="highlight"><span></span><span class="nb">export</span> <span class="nv">BABEL_DATADIR</span><span class="o">=</span><span class="s2">&quot;/usr/share/openbabel/3.1.0&quot;</span>
-<span class="nb">export</span> <span class="nv">BABEL_LIBDIR</span><span class="o">=</span><span class="s2">&quot;/usr/lib/openbabel/3.1.0&quot;</span>
-</div></code></pre><p>This was the tragedy of trying to compile something without knowing enough about compiling. It is 11:30 as of writing this. Something as trivial as this should not have taken me so long. Am I going to try to compile AutoDock Vina next? 🤔 Maybe.</p><p>Also, if you want to try Open Babel on you jailbroken iDevice, install the package from my repository ( You, need to run the above mentioned final fix :p ). This was tested on iOS 13.5, I cannot tell if it will work on others or not.</p><p>Hopefully, I add some more screenshots to this post.</p><p>Edit 1: Added Screenshots, had to replicate the errors.</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html b/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html
deleted file mode 100644
index 081e1f6..0000000
--- a/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL"/><title>Workflow for Lightning Fast Molecular Docking Part One | Navan Chauhan</title><meta name="twitter:title" content="Workflow for Lightning Fast Molecular Docking Part One | Navan Chauhan"/><meta name="og:title" content="Workflow for Lightning Fast Molecular Docking Part One | Navan Chauhan"/><meta name="description" content="This is my workflow for lightning fast molecular docking."/><meta name="twitter:description" content="This is my workflow for lightning fast molecular docking."/><meta name="og:description" content="This is my workflow for lightning fast molecular docking."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">2 minute read</span><span class="reading-time">Created on June 1, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Workflow for Lightning Fast Molecular Docking Part One</h1><h2>My Setup</h2><ul><li>macOS Catalina ( RIP 32bit app)</li><li>PyMOL</li><li>AutoDock Vina</li><li>Open Babel</li></ul><h2>One Command Docking</h2><pre><code><div class="highlight"><span></span>obabel -:<span class="s2">&quot;</span><span class="k">$(</span>pbpaste<span class="k">)</span><span class="s2">&quot;</span> --gen3d -opdbqt -Otest.pdbqt <span class="o">&amp;&amp;</span> vina --receptor lu.pdbqt --center_x -9.7 --center_y <span class="m">11</span>.4 --center_z <span class="m">68</span>.9 --size_x <span class="m">19</span>.3 --size_y <span class="m">29</span>.9 --size_z <span class="m">21</span>.3 --ligand test.pdbqt
-</div></code></pre><p>To run this command you simple copy the SMILES structure of the ligand you want an it automatically takes it from your clipboard, generates the 3D structure in the AutoDock PDBQT format using Open Babel and then docks it with your receptor using AutoDock Vina, all with just one command.</p><p>Let me break down the commands</p><pre><code><div class="highlight"><span></span>obabel -:<span class="s2">&quot;</span><span class="k">$(</span>pbpaste<span class="k">)</span><span class="s2">&quot;</span> --gen3d -opdbqt -Otest.pdbqt
-</div></code></pre><p><code>pbpaste</code> and <code>pbcopy</code> are macOS commands for pasting and copying from and to the clipboard. Linux users may install the <code>xclip</code> and <code>xsel</code> packages from their respective package managers and then insert these aliases into their bash_profile, zshrc e.t.c</p><pre><code><div class="highlight"><span></span><span class="nb">alias</span> <span class="nv">pbcopy</span><span class="o">=</span><span class="s1">&#39;xclip -selection clipboard&#39;</span>
-<span class="nb">alias</span> <span class="nv">pbpaste</span><span class="o">=</span><span class="s1">&#39;xclip -selection clipboard -o&#39;</span>
-</div></code></pre><pre><code><div class="highlight"><span></span><span class="k">$(</span>pbpaste<span class="k">)</span>
-</div></code></pre><p>This is used in bash to evaluate the results of a command. In this scenario we are using it to get the contents of the clipboard.</p><p>The rest of the command is a normal Open Babel command to generate a 3D structure in PDBQT format and then save it as <code>test.pdbqt</code></p><pre><code><div class="highlight"><span></span><span class="o">&amp;&amp;</span>
-</div></code></pre><p>This tells the terminal to only run the next part if the previous command runs successfully without any errors.</p><pre><code><div class="highlight"><span></span>vina --receptor lu.pdbqt --center_x -9.7 --center_y <span class="m">11</span>.4 --center_z <span class="m">68</span>.9 --size_x <span class="m">19</span>.3 --size_y <span class="m">29</span>.9 --size_z <span class="m">21</span>.3 --ligand test.pdbqt
-</div></code></pre><p>This is just the docking command for AutoDock Vina. In the next part I will tell how to use PyMOL and a plugin to directly generate the coordinates in Vina format <code> --center_x -9.7 --center_y 11.4 --center_z 68.9 --size_x 19.3 --size_y 29.9 --size_z 21.3</code> without needing to type them manually.</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html b/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html
deleted file mode 100644
index 0a3935d..0000000
--- a/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS"/><title>Compiling AutoDock Vina on iOS | Navan Chauhan</title><meta name="twitter:title" content="Compiling AutoDock Vina on iOS | Navan Chauhan"/><meta name="og:title" content="Compiling AutoDock Vina on iOS | Navan Chauhan"/><meta name="description" content="Compiling AutoDock Vina on iOS"/><meta name="twitter:description" content="Compiling AutoDock Vina on iOS"/><meta name="og:description" content="Compiling AutoDock Vina on iOS"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">3 minute read</span><span class="reading-time">Created on June 2, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Compiling AutoDock Vina on iOS</h1><p>Why? Because I can.</p><h2>Installing makedepend</h2><p><code>makedepend</code> is a Unix tool used to generate dependencies of C source files. Most modern programs do not use this anymore, but then again AutoDock Vina's source code hasn't been changed since 2011. The first hurdle came when I saw that there was no makedepend command, neither was there any package on any development repository for iOS. So, I tracked down the original source code for <code>makedepend</code> (https://github.com/DerellLicht/makedepend). According to the repository this is actually the source code for the makedepend utility that came with some XWindows distribution back around Y2K. I am pretty sure there is a problem with my current compiler configuration because I had to manually edit the <code>Makefile</code> to provide the path to the iOS SDKs using the <code>-isysroot</code> flag.</p><h2>Editing the Makefile</h2><p>Original Makefile ( I used the provided mac Makefile base )</p><pre><code><div class="highlight"><span></span><span class="nv">BASE</span><span class="o">=</span>/usr/local
-<span class="nv">BOOST_VERSION</span><span class="o">=</span>1_41
-<span class="nv">BOOST_INCLUDE</span> <span class="o">=</span> <span class="k">$(</span>BASE<span class="k">)</span>/include
-<span class="nv">C_PLATFORM</span><span class="o">=</span>-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min<span class="o">=</span><span class="m">10</span>.4
-<span class="nv">GPP</span><span class="o">=</span>/usr/bin/g++
-<span class="nv">C_OPTIONS</span><span class="o">=</span> -O3 -DNDEBUG
-<span class="nv">BOOST_LIB_VERSION</span><span class="o">=</span>
-
-include ../../makefile_common
-</div></code></pre><p>I installed Boost 1.68.0-1 from Sam Bingner's repository. ( Otherwise I would have had to compile boost too 😫 )</p><p>Edited Makefile</p><pre><code><div class="highlight"><span></span><span class="nv">BASE</span><span class="o">=</span>/usr
-<span class="nv">BOOST_VERSION</span><span class="o">=</span>1_68
-<span class="nv">BOOST_INCLUDE</span> <span class="o">=</span> <span class="k">$(</span>BASE<span class="k">)</span>/include
-<span class="nv">C_PLATFORM</span><span class="o">=</span>-arch arm64 -isysroot /var/sdks/Latest.sdk
-<span class="nv">GPP</span><span class="o">=</span>/usr/bin/g++
-<span class="nv">C_OPTIONS</span><span class="o">=</span> -O3 -DNDEBUG
-<span class="nv">BOOST_LIB_VERSION</span><span class="o">=</span>
-
-include ../../makefile_common
-</div></code></pre><h2>Updating the Source Code</h2><p>Of course since Boost 1.41 many things have been added and deprecated, that is why I had to edit the source code to make it work with version 1.68</p><h3>Error 1 - No Matching Constructor</h3><pre><code><div class="highlight"><span></span>../../../src/main/main.cpp:50:9: error: no matching constructor <span class="k">for</span> initialization of <span class="s1">&#39;path&#39;</span> <span class="o">(</span>aka <span class="s1">&#39;boost::filesystem::path&#39;</span><span class="o">)</span>
-<span class="k">return</span> path<span class="o">(</span>str, boost::filesystem::native<span class="o">)</span><span class="p">;</span>
-</div></code></pre><p>This was an easy fix, I just commented this and added a return statement to return the path</p><pre><code><div class="highlight"><span></span><span class="k">return</span> path<span class="o">(</span>str<span class="o">)</span>
-</div></code></pre><h3>Error 2 - No Member Named 'native<em>file</em>string'</h3><pre><code><div class="highlight"><span></span>../../../src/main/main.cpp:665:57: error: no member named <span class="s1">&#39;native_file_string&#39;</span> in <span class="s1">&#39;boost::filesystem::path&#39;</span>
- std::cerr &lt;&lt; <span class="s2">&quot;\n\nError: could not open \&quot;&quot;</span> <span class="s">&lt;&lt; e.name</span>.native_file_string<span class="o">()</span> &lt;&lt; <span class="s2">&quot;\&quot; for &quot;</span> &lt;&lt; <span class="o">(</span>e.in ? <span class="s2">&quot;reading&quot;</span> : <span class="s2">&quot;writing&quot;</span><span class="o">)</span> &lt;&lt; <span class="s2">&quot;.\n&quot;</span><span class="p">;</span>
- ~~~~~~ ^
-../../../src/main/main.cpp:677:80: error: no member named <span class="s1">&#39;native_file_string&#39;</span> in <span class="s1">&#39;boost::filesystem::path&#39;</span>
- std::cerr &lt;&lt; <span class="s2">&quot;\n\nParse error on line &quot;</span> <span class="s">&lt;&lt; e.line</span> &lt;&lt; <span class="s2">&quot; in file \&quot;&quot;</span> <span class="s">&lt;&lt; e.file</span>.native_file_string<span class="o">()</span> &lt;&lt; <span class="s2">&quot;\&quot;: &quot;</span> <span class="s">&lt;&lt; e.re</span>ason <span class="s">&lt;&lt; &#39;\n&#39;;</span>
-<span class="s"> ~~~~~~ ^</span>
-<span class="s">2 errors gen</span>erated.
-</div></code></pre><p>Turns out <code>native_file_string</code> was deprecated in Boost 1.57 and replaced with just <code>string</code></p><h3>Error 3 - Library Not Found</h3><p>This one still boggles me because there was no reason for it to not work, as a workaround I downloaded the DEB, extracted it and used that path for compiling.</p><h3>Error 4 - No Member Named 'native<em>file</em>string' Again.</h3><p>But, this time in another file and I quickly fixed it</p><h2>Moment of Truth</h2><p>Obviously it was working on my iPad, but would it work on another device? I transferred the compiled binary and</p><img src="/assets/posts/autodock-vina/s1.png" alt=""AutoDock Vina running on my iPhone""/><p>The package is available on my repository and only depends on boost. ( Both, Vina and Vina-Split are part of the package)</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-07-01-Install-rdkit-colab/index.html b/posts/2020-07-01-Install-rdkit-colab/index.html
deleted file mode 100644
index 8b2a36a..0000000
--- a/posts/2020-07-01-Install-rdkit-colab/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-07-01-Install-rdkit-colab"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-07-01-Install-rdkit-colab"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-07-01-Install-rdkit-colab"/><title>Installing RDKit on Google Colab | Navan Chauhan</title><meta name="twitter:title" content="Installing RDKit on Google Colab | Navan Chauhan"/><meta name="og:title" content="Installing RDKit on Google Colab | Navan Chauhan"/><meta name="description" content="Install RDKit on Google Colab with one code snippet."/><meta name="twitter:description" content="Install RDKit on Google Colab with one code snippet."/><meta name="og:description" content="Install RDKit on Google Colab with one code snippet."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">2 minute read</span><span class="reading-time">Created on July 1, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Installing RDKit on Google Colab</h1><p>RDKit is one of the most integral part of any Cheminfomatic specialist's toolkit but it is notoriously difficult to install unless you already have <code>conda</code> installed. I originally found this in a GitHub Gist but I have not been able to find that gist again :/</p><p>Just copy and paste this in a Colab cell and it will install it 👍</p><pre><code><div class="highlight"><span></span><span class="kn">import</span> <span class="nn">sys</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">requests</span>
-<span class="kn">import</span> <span class="nn">subprocess</span>
-<span class="kn">import</span> <span class="nn">shutil</span>
-<span class="kn">from</span> <span class="nn">logging</span> <span class="kn">import</span> <span class="n">getLogger</span><span class="p">,</span> <span class="n">StreamHandler</span><span class="p">,</span> <span class="n">INFO</span>
-
-
-<span class="n">logger</span> <span class="o">=</span> <span class="n">getLogger</span><span class="p">(</span><span class="vm">__name__</span><span class="p">)</span>
-<span class="n">logger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">StreamHandler</span><span class="p">())</span>
-<span class="n">logger</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">INFO</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">install</span><span class="p">(</span>
- <span class="n">chunk_size</span><span class="o">=</span><span class="mi">4096</span><span class="p">,</span>
- <span class="n">file_name</span><span class="o">=</span><span class="s2">&quot;Miniconda3-latest-Linux-x86_64.sh&quot;</span><span class="p">,</span>
- <span class="n">url_base</span><span class="o">=</span><span class="s2">&quot;https://repo.continuum.io/miniconda/&quot;</span><span class="p">,</span>
- <span class="n">conda_path</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s2">&quot;~&quot;</span><span class="p">,</span> <span class="s2">&quot;miniconda&quot;</span><span class="p">)),</span>
- <span class="n">rdkit_version</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
- <span class="n">add_python_path</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
- <span class="n">force</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
- <span class="sd">&quot;&quot;&quot;install rdkit from miniconda</span>
-<span class="sd"> ```</span>
-<span class="sd"> import rdkit_installer</span>
-<span class="sd"> rdkit_installer.install()</span>
-<span class="sd"> ```</span>
-<span class="sd"> &quot;&quot;&quot;</span>
-
- <span class="n">python_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
- <span class="n">conda_path</span><span class="p">,</span>
- <span class="s2">&quot;lib&quot;</span><span class="p">,</span>
- <span class="s2">&quot;python</span><span class="si">{0}</span><span class="s2">.</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">),</span>
- <span class="s2">&quot;site-packages&quot;</span><span class="p">,</span>
- <span class="p">)</span>
-
- <span class="k">if</span> <span class="n">add_python_path</span> <span class="ow">and</span> <span class="n">python_path</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="p">:</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;add </span><span class="si">{}</span><span class="s2"> to PYTHONPATH&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">python_path</span><span class="p">))</span>
- <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">python_path</span><span class="p">)</span>
-
- <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">python_path</span><span class="p">,</span> <span class="s2">&quot;rdkit&quot;</span><span class="p">)):</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;rdkit is already installed&quot;</span><span class="p">)</span>
- <span class="k">if</span> <span class="ow">not</span> <span class="n">force</span><span class="p">:</span>
- <span class="k">return</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;force re-install&quot;</span><span class="p">)</span>
-
- <span class="n">url</span> <span class="o">=</span> <span class="n">url_base</span> <span class="o">+</span> <span class="n">file_name</span>
- <span class="n">python_version</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">.</span><span class="si">{1}</span><span class="s2">.</span><span class="si">{2}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;python version: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">python_version</span><span class="p">))</span>
-
- <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">conda_path</span><span class="p">):</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;remove current miniconda&quot;</span><span class="p">)</span>
- <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">conda_path</span><span class="p">)</span>
- <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">conda_path</span><span class="p">):</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;remove </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conda_path</span><span class="p">))</span>
- <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">conda_path</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;fetching installer from </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">url</span><span class="p">))</span>
- <span class="n">res</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">stream</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
- <span class="n">res</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
- <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
- <span class="k">for</span> <span class="n">chunk</span> <span class="ow">in</span> <span class="n">res</span><span class="o">.</span><span class="n">iter_content</span><span class="p">(</span><span class="n">chunk_size</span><span class="p">):</span>
- <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">chunk</span><span class="p">)</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;done&#39;</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;installing miniconda to </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conda_path</span><span class="p">))</span>
- <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span><span class="s2">&quot;bash&quot;</span><span class="p">,</span> <span class="n">file_name</span><span class="p">,</span> <span class="s2">&quot;-b&quot;</span><span class="p">,</span> <span class="s2">&quot;-p&quot;</span><span class="p">,</span> <span class="n">conda_path</span><span class="p">])</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;done&#39;</span><span class="p">)</span>
-
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;installing rdkit&quot;</span><span class="p">)</span>
- <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">([</span>
- <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">conda_path</span><span class="p">,</span> <span class="s2">&quot;bin&quot;</span><span class="p">,</span> <span class="s2">&quot;conda&quot;</span><span class="p">),</span>
- <span class="s2">&quot;install&quot;</span><span class="p">,</span>
- <span class="s2">&quot;--yes&quot;</span><span class="p">,</span>
- <span class="s2">&quot;-c&quot;</span><span class="p">,</span> <span class="s2">&quot;rdkit&quot;</span><span class="p">,</span>
- <span class="s2">&quot;python==</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">python_version</span><span class="p">),</span>
- <span class="s2">&quot;rdkit&quot;</span> <span class="k">if</span> <span class="n">rdkit_version</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="s2">&quot;rdkit==</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">rdkit_version</span><span class="p">)])</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;done&quot;</span><span class="p">)</span>
-
- <span class="kn">import</span> <span class="nn">rdkit</span>
- <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;rdkit-</span><span class="si">{}</span><span class="s2"> installation finished!&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">rdkit</span><span class="o">.</span><span class="n">__version__</span><span class="p">))</span>
-
-
-<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
- <span class="n">install</span><span class="p">()</span>
-</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html b/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html
deleted file mode 100644
index 59fa0f2..0000000
--- a/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-08-01-Natural-Feature-Tracking-ARJS"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-08-01-Natural-Feature-Tracking-ARJS"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-08-01-Natural-Feature-Tracking-ARJS"/><title>Introduction to AR.js and Natural Feature Tracking | Navan Chauhan</title><meta name="twitter:title" content="Introduction to AR.js and Natural Feature Tracking | Navan Chauhan"/><meta name="og:title" content="Introduction to AR.js and Natural Feature Tracking | Navan Chauhan"/><meta name="description" content="An introduction to AR.js and NFT"/><meta name="twitter:description" content="An introduction to AR.js and NFT"/><meta name="og:description" content="An introduction to AR.js and NFT"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">7 minute read</span><span class="reading-time">Created on August 1, 2020</span><span class="reading-time">Last modified on September 15, 2020</span><h1>Introduction to AR.js and Natural Feature Tracking</h1><h2>AR.js</h2><p>AR.js is a lightweight library for Augmented Reality on the Web, coming with features like Image Tracking, Location based AR and Marker tracking. It is the easiest option for cross-browser augmented reality.</p><p>The same code works for iOS, Android, Desktops and even VR Browsers!</p><p>It was initially created by Jerome Etienne and is now maintained by Nicolo Carpignoli and the AR-js Organisation</p><h2>NFT</h2><p>Usually for augmented reality you need specialised markers, like this Hiro marker (notice the thick non-aesthetic borders 🤢)</p><img src="https://upload.wikimedia.org/wikipedia/commons/4/48/Hiro_marker_ARjs.png"/><p>This is called marker based tracking where the code knows what to look for. NFT or Natural Feature Tracing converts normal images into markers by extracting 'features' from it, this way you can use any image of your liking!</p><p>I'll be using my GitHub profile picture</p><img src="/images/me.jpeg"/><h2>Creating the Marker!</h2><p>First we need to create the marker files required by AR.js for NFT. For this we use Carnaux's repository 'NFT-Marker-Creator'.</p><pre><code><div class="highlight"><span></span>$ git clone https://github.com/Carnaux/NFT-Marker-Creator
-
-Cloning into <span class="s1">&#39;NFT-Marker-Creator&#39;</span>...
-remote: Enumerating objects: <span class="m">79</span>, <span class="k">done</span>.
-remote: Counting objects: <span class="m">100</span>% <span class="o">(</span><span class="m">79</span>/79<span class="o">)</span>, <span class="k">done</span>.
-remote: Compressing objects: <span class="m">100</span>% <span class="o">(</span><span class="m">72</span>/72<span class="o">)</span>, <span class="k">done</span>.
-remote: Total <span class="m">580</span> <span class="o">(</span>delta <span class="m">10</span><span class="o">)</span>, reused <span class="m">59</span> <span class="o">(</span>delta <span class="m">7</span><span class="o">)</span>, pack-reused <span class="m">501</span>
-Receiving objects: <span class="m">100</span>% <span class="o">(</span><span class="m">580</span>/580<span class="o">)</span>, <span class="m">9</span>.88 MiB <span class="p">|</span> <span class="m">282</span>.00 KiB/s, <span class="k">done</span>.
-Resolving deltas: <span class="m">100</span>% <span class="o">(</span><span class="m">262</span>/262<span class="o">)</span>, <span class="k">done</span>.
-
-$ <span class="nb">cd</span> NFT-Makrer-Creator
-</div></code></pre><h3>Install the dependencies</h3><pre><code><div class="highlight"><span></span>$ npm install
-
-npm WARN nodegenerator@1.0.0 No repository field.
-
-added <span class="m">67</span> packages from <span class="m">56</span> contributors and audited <span class="m">67</span> packages in <span class="m">2</span>.96s
-
-<span class="m">1</span> package is looking <span class="k">for</span> funding
- run <span class="sb">`</span>npm fund<span class="sb">`</span> <span class="k">for</span> details
-
-found <span class="m">0</span> vulnerabilities
-
-
-
- ╭────────────────────────────────────────────────────────────────╮
- │ │
- │ New patch version of npm available! <span class="m">6</span>.14.5 → <span class="m">6</span>.14.7 │
- │ Changelog: https://github.com/npm/cli/releases/tag/v6.14.7 │
- │ Run npm install -g npm to update! │
- │ │
- ╰────────────────────────────────────────────────────────────────╯
-</div></code></pre><h3>Copy the target marker to the folder</h3><pre><code><div class="highlight"><span></span>$ cp ~/CodingAndStuff/ARjs/me.png .
-</div></code></pre><h3>Generate Marker</h3><pre><code><div class="highlight"><span></span>$ node app.js -i me.png
-
-Confidence level: <span class="o">[</span> * * * * * <span class="o">]</span> <span class="m">5</span>/5 <span class="o">||</span> Entropy: <span class="m">5</span>.24 <span class="o">||</span> Current max: <span class="m">5</span>.17 min: <span class="m">4</span>.6
-
-Do you want to <span class="k">continue</span>? <span class="o">(</span>Y/N<span class="o">)</span>
-y
-writeStringToMemory is deprecated and should not be called! Use stringToUTF8<span class="o">()</span> instead!
-<span class="o">[</span>info<span class="o">]</span>
-Commands:
-<span class="o">[</span>info<span class="o">]</span> --
-Generator started at <span class="m">2020</span>-08-01 <span class="m">16</span>:01:41 +0580
-<span class="o">[</span>info<span class="o">]</span> Tracking Extraction <span class="nv">Level</span> <span class="o">=</span> <span class="m">2</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">MAX_THRESH</span> <span class="o">=</span> <span class="m">0</span>.900000
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">MIN_THRESH</span> <span class="o">=</span> <span class="m">0</span>.550000
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">SD_THRESH</span> <span class="o">=</span> <span class="m">8</span>.000000
-<span class="o">[</span>info<span class="o">]</span> Initialization Extraction <span class="nv">Level</span> <span class="o">=</span> <span class="m">1</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="nv">SURF_FEATURE</span> <span class="o">=</span> <span class="m">100</span>
-<span class="o">[</span>info<span class="o">]</span> min allow <span class="m">3</span>.699000.
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">1</span><span class="o">)</span>: <span class="m">3</span>.699000
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">2</span><span class="o">)</span>: <span class="m">4</span>.660448
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">3</span><span class="o">)</span>: <span class="m">5</span>.871797
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">4</span><span class="o">)</span>: <span class="m">7</span>.398000
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">5</span><span class="o">)</span>: <span class="m">9</span>.320896
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">6</span><span class="o">)</span>: <span class="m">11</span>.743593
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">7</span><span class="o">)</span>: <span class="m">14</span>.796000
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">8</span><span class="o">)</span>: <span class="m">18</span>.641792
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">9</span><span class="o">)</span>: <span class="m">23</span>.487186
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">10</span><span class="o">)</span>: <span class="m">29</span>.592001
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">11</span><span class="o">)</span>: <span class="m">37</span>.283585
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">12</span><span class="o">)</span>: <span class="m">46</span>.974373
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">13</span><span class="o">)</span>: <span class="m">59</span>.184002
-<span class="o">[</span>info<span class="o">]</span> Image DPI <span class="o">(</span><span class="m">14</span><span class="o">)</span>: <span class="m">72</span>.000000
-<span class="o">[</span>info<span class="o">]</span> Generating ImageSet...
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span>Source image <span class="nv">xsize</span><span class="o">=</span><span class="m">568</span>, <span class="nv">ysize</span><span class="o">=</span><span class="m">545</span>, <span class="nv">channels</span><span class="o">=</span><span class="m">3</span>, <span class="nv">dpi</span><span class="o">=</span><span class="m">72</span>.0<span class="o">)</span>.
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Saving to asa.iset...
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Generating FeatureList...
-
-...
-
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span><span class="m">46</span>, <span class="m">44</span><span class="o">)</span> <span class="m">5</span>.871797<span class="o">[</span>dpi<span class="o">]</span>
-<span class="o">[</span>info<span class="o">]</span> Freak features - <span class="m">23</span><span class="o">[</span>info<span class="o">]</span> <span class="o">=========</span> <span class="nv">23</span> <span class="o">===========</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span><span class="m">37</span>, <span class="m">35</span><span class="o">)</span> <span class="m">4</span>.660448<span class="o">[</span>dpi<span class="o">]</span>
-<span class="o">[</span>info<span class="o">]</span> Freak features - <span class="m">19</span><span class="o">[</span>info<span class="o">]</span> <span class="o">=========</span> <span class="nv">19</span> <span class="o">===========</span>
-<span class="o">[</span>info<span class="o">]</span> <span class="o">(</span><span class="m">29</span>, <span class="m">28</span><span class="o">)</span> <span class="m">3</span>.699000<span class="o">[</span>dpi<span class="o">]</span>
-<span class="o">[</span>info<span class="o">]</span> Freak features - <span class="m">9</span><span class="o">[</span>info<span class="o">]</span> <span class="o">=========</span> <span class="nv">9</span> <span class="o">===========</span>
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Saving FeatureSet3...
-<span class="o">[</span>info<span class="o">]</span> Done.
-<span class="o">[</span>info<span class="o">]</span> Generator finished at <span class="m">2020</span>-08-01 <span class="m">16</span>:02:02 +0580
---
-
-Finished marker creation!
-Now configuring demo!
-
-Finished!
-To run demo use: <span class="s1">&#39;npm run demo&#39;</span>
-</div></code></pre><p>Now we have the required files in the output folder</p><pre><code><div class="highlight"><span></span>$ ls output
-
-me.fset me.fset3 me.iset
-</div></code></pre><h2>Creating the HTML Page</h2><p>Create a new file called <code>index.html</code> in your project folder. This is the basic template we are going to use. Replace <code>me</code> with the root filename of your image, for example <code>NeverGonnaGiveYouUp.png</code> will become <code>NeverGonnaGiveYouUp</code>. Make sure you have copied all three files from the output folder in the previous step to the root of your project folder.</p><pre><code><div class="highlight"><span></span><span class="p">&lt;</span><span class="nt">script</span> <span class="na">src</span><span class="o">=</span><span class="s">&quot;https://cdn.jsdelivr.net/gh/aframevr/aframe@1c2407b26c61958baa93967b5412487cd94b290b/dist/aframe-master.min.js&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
-<span class="p">&lt;</span><span class="nt">script</span> <span class="na">src</span><span class="o">=</span><span class="s">&quot;https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
-
-<span class="p">&lt;</span><span class="nt">style</span><span class="p">&gt;</span>
- <span class="p">.</span><span class="nc">arjs-loader</span> <span class="p">{</span>
- <span class="k">height</span><span class="p">:</span> <span class="mi">100</span><span class="kt">%</span><span class="p">;</span>
- <span class="k">width</span><span class="p">:</span> <span class="mi">100</span><span class="kt">%</span><span class="p">;</span>
- <span class="k">position</span><span class="p">:</span> <span class="kc">absolute</span><span class="p">;</span>
- <span class="k">top</span><span class="p">:</span> <span class="mi">0</span><span class="p">;</span>
- <span class="k">left</span><span class="p">:</span> <span class="mi">0</span><span class="p">;</span>
- <span class="k">background-color</span><span class="p">:</span> <span class="nb">rgba</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">);</span>
- <span class="k">z-index</span><span class="p">:</span> <span class="mi">9999</span><span class="p">;</span>
- <span class="k">display</span><span class="p">:</span> <span class="kc">flex</span><span class="p">;</span>
- <span class="k">justify-content</span><span class="p">:</span> <span class="kc">center</span><span class="p">;</span>
- <span class="k">align-items</span><span class="p">:</span> <span class="kc">center</span><span class="p">;</span>
- <span class="p">}</span>
-
- <span class="p">.</span><span class="nc">arjs-loader</span> <span class="nt">div</span> <span class="p">{</span>
- <span class="k">text-align</span><span class="p">:</span> <span class="kc">center</span><span class="p">;</span>
- <span class="k">font-size</span><span class="p">:</span> <span class="mf">1.25</span><span class="kt">em</span><span class="p">;</span>
- <span class="k">color</span><span class="p">:</span> <span class="kc">white</span><span class="p">;</span>
- <span class="p">}</span>
-<span class="p">&lt;/</span><span class="nt">style</span><span class="p">&gt;</span>
-
-<span class="p">&lt;</span><span class="nt">body</span> <span class="na">style</span><span class="o">=</span><span class="s">&quot;margin : 0px; overflow: hidden;&quot;</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;arjs-loader&quot;</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>Calculating Image Descriptors....<span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
- <span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-scene</span>
- <span class="na">vr-mode-ui</span><span class="o">=</span><span class="s">&quot;enabled: false;&quot;</span>
- <span class="na">renderer</span><span class="o">=</span><span class="s">&quot;logarithmicDepthBuffer: true;&quot;</span>
- <span class="na">embedded</span>
- <span class="na">arjs</span><span class="o">=</span><span class="s">&quot;trackingMethod: best; sourceType: webcam;debugUIEnabled: false;&quot;</span>
- <span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-nft</span>
- <span class="na">type</span><span class="o">=</span><span class="s">&quot;nft&quot;</span>
- <span class="na">url</span><span class="o">=</span><span class="s">&quot;./me&quot;</span>
- <span class="na">smooth</span><span class="o">=</span><span class="s">&quot;true&quot;</span>
- <span class="na">smoothCount</span><span class="o">=</span><span class="s">&quot;10&quot;</span>
- <span class="na">smoothTolerance</span><span class="o">=</span><span class="s">&quot;.01&quot;</span>
- <span class="na">smoothThreshold</span><span class="o">=</span><span class="s">&quot;5&quot;</span>
- <span class="p">&gt;</span>
-
- <span class="p">&lt;/</span><span class="nt">a-nft</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-entity</span> <span class="na">camera</span><span class="p">&gt;&lt;/</span><span class="nt">a-entity</span><span class="p">&gt;</span>
- <span class="p">&lt;/</span><span class="nt">a-scene</span><span class="p">&gt;</span>
-<span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;</span>
-</div></code></pre><p>In this we are creating a AFrame scene and we are telling it that we want to use NFT Tracking. The amazing part about using AFrame is that we are able to use all AFrame objects!</p><h2>Adding a simple box</h2><p>Let us add a simple box!</p><pre><code><div class="highlight"><span></span><span class="p">&lt;</span><span class="nt">a-nft</span> <span class="err">.....</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-box</span> <span class="na">position</span><span class="o">=</span><span class="s">&#39;100 0.5 -180&#39;</span> <span class="na">material</span><span class="o">=</span><span class="s">&#39;opacity: 0.5; side: double&#39;</span> <span class="na">scale</span><span class="o">=</span><span class="s">&quot;100 100 100&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">a-box</span><span class="p">&gt;</span>
-<span class="p">&lt;/</span><span class="nt">a-nft</span><span class="p">&gt;</span>
-</div></code></pre><p>Now to test it out we will need to create a simple server, I use Python's inbuilt <code>SimpleHTTPServer</code> alongside <code>ngrok</code></p><p>In one terminal window, <code>cd</code> to the project directory. Currently your project folder should have 4 files, <code>index.html</code>, <code>me.fset3</code>, <code>me.fset</code> and <code>me.iset</code></p><p>Open up two terminal windows and <code>cd</code> into your project folder then run the following commands to start up your server.</p><p>In the first terminal window start the Python Server</p><pre><code><div class="highlight"><span></span>$ <span class="nb">cd</span> ~/CodingAndStuff/ARjs
-$ python2 -m SimpleHTTPServer
-
-Serving HTTP on <span class="m">0</span>.0.0.0 port <span class="m">8000</span> ...
-</div></code></pre><p>In the other window run <code>ngrok</code> ( Make sure you have installed it prior to running this step )</p><pre><code><div class="highlight"><span></span>$ ngrok http <span class="m">8000</span>
-</div></code></pre><img src="/assets/posts/arjs/01-ngrok.png"/><p>Now copy the url to your phone and try running the example</p><img src="/assets/posts/arjs/02-box-demo.gif"/><p>👏 Congratulations! You just built an Augmented Reality experience using AR.js and AFrame</p><h2>Adding a Torus-Knot in the box</h2><p>Edit your <code>index.html</code></p><pre><code><div class="highlight"><span></span><span class="p">&lt;</span><span class="nt">a-nft</span> <span class="err">..</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-box</span> <span class="err">..</span><span class="p">&gt;</span>
- <span class="p">&lt;</span><span class="nt">a-torus-knot</span> <span class="na">radius</span><span class="o">=</span><span class="s">&#39;0.26&#39;</span> <span class="na">radius-tubular</span><span class="o">=</span><span class="s">&#39;0.05&#39;</span> <span class="p">&gt;&lt;/</span><span class="nt">a-torus-knot</span><span class="p">&gt;</span>
- <span class="p">&lt;/</span> <span class="nt">a-box</span><span class="p">&gt;</span>
-<span class="p">&lt;/</span> <span class="nt">a-nft</span><span class="p">&gt;</span>
-</div></code></pre><img src="/assets/posts/arjs/03-knot.png"/><h2>Where are the GIFs?</h2><p>Now that we know how to place a box in the scene and add a torus knot in it, what do we do next? We bring the classic internet back!</p><p><code>AFrame GIF Shader</code> is a gif shader for A-Frame created by mayognaise.</p><h3>First things first</h3><p>Add <code>&lt;script src="https://rawgit.com/mayognaise/aframe-gif-shader/master/dist/aframe-gif-shader.min.js"&gt;&lt;/script&gt; </code> to <code>&lt;head&gt;</code></p><p>Change the box's material to add the GIF shader</p><pre><code><div class="highlight"><span></span>...
-<span class="p">&lt;</span><span class="nt">a-box</span> <span class="na">position</span><span class="o">=</span><span class="s">&#39;100 0.5 -180&#39;</span> <span class="na">material</span><span class="o">=</span><span class="s">&quot;shader:gif;src:url(https://media.tenor.com/images/412b1aa9149d98d561df62db221e0789/tenor.gif);opacity:.5&quot;</span> <span class="err">.....</span><span class="p">&gt;</span>
-</div></code></pre><img src="/assets/posts/arjs/04-nyan.gif"/><h2>Bonus Idea: Integrate it with GitHub's new profile Readme Feature!</h2><h3>1) Host the code using GitHub Pages</h3><h3>2) Create a new repository ( the name should be your GitHub username )</h3><h3>3) Add QR Code to the page and tell the users to scan your profile picture</h3><h3>??) Profit 💸</h3><p>Here is a screenshot of me scanning a rounded version of my profile picture ( It still works! Even though the image is cropped and I haven't changed any line of code )</p><img src="/assets/posts/arjs/05-GitHub.jpg"/></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/hello-world/index.html b/posts/hello-world/index.html
deleted file mode 100644
index 0fe1f32..0000000
--- a/posts/hello-world/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/hello-world"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/hello-world"/><meta name="og:url" content="https://navanchauhan.github.io/posts/hello-world"/><title>Hello World | Navan Chauhan</title><meta name="twitter:title" content="Hello World | Navan Chauhan"/><meta name="og:title" content="Hello World | Navan Chauhan"/><meta name="description" content="My first post."/><meta name="twitter:description" content="My first post."/><meta name="og:description" content="My first post."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on April 16, 2019</span><span class="reading-time">Last modified on June 1, 2020</span><h1>Hello World</h1><p><strong>Why a Hello World post?</strong></p><p>Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)</p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/helloworld">hello-world</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/index.html b/posts/index.html
deleted file mode 100644
index 532f920..0000000
--- a/posts/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts"/><meta name="og:url" content="https://navanchauhan.github.io/posts"/><title>Posts | Navan Chauhan</title><meta name="twitter:title" content="Posts | Navan Chauhan"/><meta name="og:title" content="Posts | Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Posts</h1><p>Tips, tricks and tutorials which I think might be useful.</p><ul class="item-list"><li><article><h1><a href="/posts/2010-01-24-experiments">Experiments</a></h1><ul class="tag-list"><li><a href="/tags/experiment">Experiment</a></li></ul><span>🕑 1 minute read. January 24, 2010</span><p>Just a markdown file for all experiments related to the website</p></article></li><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li><li><article><h1><a href="/posts/2019-12-04-Google-Teachable-Machines">Image Classifier With Teachable Machines</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 2 minute read. December 4, 2019</span><p>Tutorial on creating a custom image classifier quickly with Google Teachable Machines</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li><li><article><h1><a href="/posts/2019-12-08-Splitting-Zips">Splitting ZIPs into Multiple Parts</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. December 8, 2019</span><p>Short code snippet for splitting zips.</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li><li><article><h1><a href="/posts/2020-01-14-Converting-between-PIL-NumPy">Converting between image and NumPy array</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. January 14, 2020</span><p>Short code snippet for converting between PIL image and NumPy arrays.</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li><li><article><h1><a href="/posts/2020-03-03-Playing-With-Android-TV">Tinkering with an Android TV</a></h1><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul><span>🕑 1 minute read. March 3, 2020</span><p>Tinkering with an Android TV</p></article></li><li><article><h1><a href="/posts/2020-03-08-Making-Vaporwave-Track">Making My First Vaporwave Track (Remix)</a></h1><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul><span>🕑 2 minute read. March 8, 2020</span><p>I made my first vaporwave remix</p></article></li><li><article><h1><a href="/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS">Fixing X11 Error on macOS Catalina for AmberTools 18/19</a></h1><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul><span>🕑 2 minute read. April 13, 2020</span><p>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li><li><article><h1><a href="/posts/hello-world">Hello World</a></h1><ul class="tag-list"><li><a href="/tags/helloworld">hello-world</a></li></ul><span>🕑 1 minute read. April 16, 2019</span><p>My first post.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index.html b/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index.html
deleted file mode 100644
index ed75a06..0000000
--- a/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response"/><meta name="twitter:url" content="https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response"/><meta name="og:url" content="https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response"/><title>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response | Navan Chauhan</title><meta name="twitter:title" content="Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response | Navan Chauhan"/><meta name="og:title" content="Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response | Navan Chauhan"/><meta name="description" content="This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response."/><meta name="twitter:description" content="This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response."/><meta name="og:description" content="This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a class="selected" href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on May 14, 2019</span><span class="reading-time">Last modified on March 14, 2020</span><h1>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response</h1><blockquote><p>Based on the project showcased at Toyota Hackathon, IITD - 17/18th December 2018</p></blockquote><p>Edit: It seems like I haven't mentioned Adrian Rosebrock of PyImageSearch anywhere. I apologize for this mistake.</p><p><a href="https://www.irjet.net/archives/V6/i5/IRJET-V6I5318.pdf">Download paper here</a></p><p>Recommended citation:</p><h3>ATP</h3><pre><code><div class="highlight"><span></span>Chauhan, N. <span class="o">(</span><span class="m">2019</span><span class="o">)</span>. <span class="p">&amp;</span>quot<span class="p">;</span>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.<span class="p">&amp;</span>quot<span class="p">;</span> &lt;i&gt;International Research Journal of Engineering and Technology <span class="o">(</span>IRJET<span class="o">)</span>, <span class="m">6</span><span class="o">(</span><span class="m">5</span><span class="o">)</span>&lt;/i&gt;.
-</div></code></pre><h3>BibTeX</h3><pre><code><div class="highlight"><span></span>@article<span class="o">{</span>chauhan_2019, <span class="nv">title</span><span class="o">={</span>Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response<span class="o">}</span>, <span class="nv">volume</span><span class="o">={</span><span class="m">6</span><span class="o">}</span>, <span class="nv">url</span><span class="o">={</span>https://www.irjet.net/archives/V6/i5/IRJET-V6I5318.pdf<span class="o">}</span>, <span class="nv">number</span><span class="o">={</span><span class="m">5</span><span class="o">}</span>, <span class="nv">journal</span><span class="o">={</span>International Research Journal of Engineering and Technology <span class="o">(</span>IRJET<span class="o">)}</span>, <span class="nv">author</span><span class="o">={</span>Chauhan, Navan<span class="o">}</span>, <span class="nv">year</span><span class="o">={</span><span class="m">2019</span><span class="o">}}</span>
-</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/publication">publication</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/publications/2020-03-14-generating-vaporwave/index.html b/publications/2020-03-14-generating-vaporwave/index.html
deleted file mode 100644
index fea110b..0000000
--- a/publications/2020-03-14-generating-vaporwave/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/publications/2020-03-14-generating-vaporwave"/><meta name="twitter:url" content="https://navanchauhan.github.io/publications/2020-03-14-generating-vaporwave"/><meta name="og:url" content="https://navanchauhan.github.io/publications/2020-03-14-generating-vaporwave"/><title>Is it possible to programmatically generate Vaporwave? | Navan Chauhan</title><meta name="twitter:title" content="Is it possible to programmatically generate Vaporwave? | Navan Chauhan"/><meta name="og:title" content="Is it possible to programmatically generate Vaporwave? | Navan Chauhan"/><meta name="description" content="This paper is about programmaticaly generating Vaporwave."/><meta name="twitter:description" content="This paper is about programmaticaly generating Vaporwave."/><meta name="og:description" content="This paper is about programmaticaly generating Vaporwave."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a class="selected" href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on March 14, 2020</span><span class="reading-time">Last modified on March 15, 2020</span><h1>Is it possible to programmatically generate Vaporwave?</h1><p>This is still a pre-print.</p><p><a href="https://indiarxiv.org/9um2r/">Download paper here</a></p><p>Recommended citation:</p><h3>APA</h3><pre><code><div class="highlight"><span></span>Chauhan, N. <span class="o">(</span><span class="m">2020</span>, March <span class="m">15</span><span class="o">)</span>. Is it possible to programmatically generate Vaporwave?. https://doi.org/10.35543/osf.io/9um2r
-</div></code></pre><h3>MLA</h3><pre><code><div class="highlight"><span></span>Chauhan, Navan. “Is It Possible to Programmatically Generate Vaporwave?.” IndiaRxiv, <span class="m">15</span> Mar. <span class="m">2020</span>. Web.
-</div></code></pre><h3>Chicago</h3><pre><code><div class="highlight"><span></span>Chauhan, Navan. <span class="m">2020</span>. “Is It Possible to Programmatically Generate Vaporwave?.” IndiaRxiv. March <span class="m">15</span>. doi:10.35543/osf.io/9um2r.
-</div></code></pre><h3>Bibtex</h3><pre><code><div class="highlight"><span></span>@misc<span class="o">{</span>chauhan_2020,
- <span class="nv">title</span><span class="o">={</span>Is it possible to programmatically generate Vaporwave?<span class="o">}</span>,
- <span class="nv">url</span><span class="o">={</span>indiarxiv.org/9um2r<span class="o">}</span>,
- <span class="nv">DOI</span><span class="o">={</span><span class="m">10</span>.35543/osf.io/9um2r<span class="o">}</span>,
- <span class="nv">publisher</span><span class="o">={</span>IndiaRxiv<span class="o">}</span>,
- <span class="nv">author</span><span class="o">={</span>Chauhan, Navan<span class="o">}</span>,
- <span class="nv">year</span><span class="o">={</span><span class="m">2020</span><span class="o">}</span>,
- <span class="nv">month</span><span class="o">={</span>Mar<span class="o">}</span>
-<span class="o">}</span>
-</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/publications/2020-03-17-Possible-Drug-Candidates-COVID-19/index.html b/publications/2020-03-17-Possible-Drug-Candidates-COVID-19/index.html
deleted file mode 100644
index 9c3ea33..0000000
--- a/publications/2020-03-17-Possible-Drug-Candidates-COVID-19/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/publications/2020-03-17-Possible-Drug-Candidates-COVID-19"/><meta name="twitter:url" content="https://navanchauhan.github.io/publications/2020-03-17-Possible-Drug-Candidates-COVID-19"/><meta name="og:url" content="https://navanchauhan.github.io/publications/2020-03-17-Possible-Drug-Candidates-COVID-19"/><title>Possible Drug Candidates for COVID-19 | Navan Chauhan</title><meta name="twitter:title" content="Possible Drug Candidates for COVID-19 | Navan Chauhan"/><meta name="og:title" content="Possible Drug Candidates for COVID-19 | Navan Chauhan"/><meta name="description" content="COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered."/><meta name="twitter:description" content="COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered."/><meta name="og:description" content="COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a class="selected" href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">1 minute read</span><span class="reading-time">Created on March 17, 2020</span><span class="reading-time">Last modified on March 18, 2020</span><h1>Possible Drug Candidates for COVID-19</h1><p>This is still a pre-print.</p><p><a href="https://chemrxiv.org/articles/Possible_Drug_Candidates_for_COVID-19/11985231">Download paper here</a></p></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/publications/index.html b/publications/index.html
deleted file mode 100644
index c6fbe19..0000000
--- a/publications/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/publications"/><meta name="twitter:url" content="https://navanchauhan.github.io/publications"/><meta name="og:url" content="https://navanchauhan.github.io/publications"/><title>Publications | Navan Chauhan</title><meta name="twitter:title" content="Publications | Navan Chauhan"/><meta name="og:title" content="Publications | Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a class="selected" href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Publications</h1><p>Hopefully these grow with time, I already have tons of drafts ready. As I am currently studying in school, this allows me to experiment in Physics, Chemistry and Computer Science. I have started using LaTeX now ;)</p><ul class="item-list"><li><article><h1><a href="/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response">Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li></ul><span>🕑 1 minute read. May 14, 2019</span><p>This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.</p></article></li><li><article><h1><a href="/publications/2020-03-14-generating-vaporwave">Is it possible to programmatically generate Vaporwave?</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 14, 2020</span><p>This paper is about programmaticaly generating Vaporwave.</p></article></li><li><article><h1><a href="/publications/2020-03-17-Possible-Drug-Candidates-COVID-19">Possible Drug Candidates for COVID-19</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 17, 2020</span><p>COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/pwabuilder-sw-register.js b/pwabuilder-sw-register.js
deleted file mode 100644
index 8850330..0000000
--- a/pwabuilder-sw-register.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// This is the service worker with the Cache-first network
-
-// Add this below content to your HTML page, or add the js file to your page at the very top to register service worker
-
-// Check compatibility for the browser we're running this in
-if ("serviceWorker" in navigator) {
- if (navigator.serviceWorker.controller) {
- console.log("[PWA Builder] active service worker found, no need to register");
- } else {
- // Register the service worker
- navigator.serviceWorker
- .register("/pwabuilder-sw.js", {
- scope: "./"
- })
- .then(function (reg) {
- console.log("[PWA Builder] Service worker has been registered for scope: " + reg.scope);
- });
- }
-}
diff --git a/pwabuilder-sw.js b/pwabuilder-sw.js
deleted file mode 100644
index 0684da5..0000000
--- a/pwabuilder-sw.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// This is the service worker with the Cache-first network
-
-const CACHE = "pwabuilder-precache";
-const precacheFiles = [
- /* Add an array of files to precache for your app */
-];
-
-self.addEventListener("install", function (event) {
- console.log("[PWA Builder] Install Event processing");
-
- console.log("[PWA Builder] Skip waiting on install");
- self.skipWaiting();
-
- event.waitUntil(
- caches.open(CACHE).then(function (cache) {
- console.log("[PWA Builder] Caching pages during install");
- return cache.addAll(precacheFiles);
- })
- );
-});
-
-// Allow sw to control of current page
-self.addEventListener("activate", function (event) {
- console.log("[PWA Builder] Claiming clients for current page");
- event.waitUntil(self.clients.claim());
-});
-
-// If any fetch fails, it will look for the request in the cache and serve it from there first
-self.addEventListener("fetch", function (event) {
- if (event.request.method !== "GET") return;
-
- event.respondWith(
- fromCache(event.request).then(
- function (response) {
- // The response was found in the cache so we responde with it and update the entry
-
- // This is where we call the server to get the newest version of the
- // file to use the next time we show view
- event.waitUntil(
- fetch(event.request).then(function (response) {
- return updateCache(event.request, response);
- })
- );
-
- return response;
- },
- function () {
- // The response was not found in the cache so we look for it on the server
- return fetch(event.request)
- .then(function (response) {
- // If request was success, add or update it in the cache
- event.waitUntil(updateCache(event.request, response.clone()));
-
- return response;
- })
- .catch(function (error) {
- console.log("[PWA Builder] Network request failed and no cache." + error);
- });
- }
- )
- );
-});
-
-function fromCache(request) {
- // Check to see if you have it in the cache
- // Return response
- // If not in the cache, then return
- return caches.open(CACHE).then(function (cache) {
- return cache.match(request).then(function (matching) {
- if (!matching || matching.status === 404) {
- return Promise.reject("no-match");
- }
-
- return matching;
- });
- });
-}
-
-function updateCache(request, response) {
- return caches.open(CACHE).then(function (cache) {
- return cache.put(request, response);
- });
-}
diff --git a/sitemap.xml b/sitemap.xml
deleted file mode 100644
index 396a16e..0000000
--- a/sitemap.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"><url><loc>https://navanchauhan.github.io/about</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2020-07-16</lastmod></url><url><loc>https://navanchauhan.github.io/posts</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2020-08-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2010-01-24-experiments</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-05-05-Custom-Snowboard-Anemone-Theme</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-12-04-Google-Teachable-Machines</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflow</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zips</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Prediction</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regression</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detector</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPy</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreate</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-03-03-Playing-With-Android-TV</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-03-08-Making-Vaporwave-Track</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-05-31-compiling-open-babel-on-ios</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-07-01-Install-rdkit-colab</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/2020-08-01-Natural-Feature-Tracking-ARJS</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-09-15</lastmod></url><url><loc>https://navanchauhan.github.io/posts/hello-world</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-06-01</lastmod></url><url><loc>https://navanchauhan.github.io/publications</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2020-03-17</lastmod></url><url><loc>https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-03-14</lastmod></url><url><loc>https://navanchauhan.github.io/publications/2020-03-14-generating-vaporwave</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-03-15</lastmod></url><url><loc>https://navanchauhan.github.io/publications/2020-03-17-Possible-Drug-Candidates-COVID-19</loc><changefreq>monthly</changefreq><priority>0.5</priority><lastmod>2020-03-18</lastmod></url></urlset> \ No newline at end of file
diff --git a/styles.css b/styles.css
deleted file mode 100644
index 4e658d7..0000000
--- a/styles.css
+++ /dev/null
@@ -1,401 +0,0 @@
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- font-size: 16px;
- -webkit-text-size-adjust: 100%;
-}
-
-body {
- background: #eee;
- color: #000;
- font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial;
- text-align: center;
-}
-
-.wrapper {
- max-width: 900px;
- margin-left: auto;
- margin-right: auto;
- padding: 40px;
- text-align: left;
-}
-
-header {
-
- background: #fff;
- position: relative;
- color: #ededed;
- line-height: 1.5em;
- padding: 0 20px;
-}
-
-/*
-
-header {
- background: #ededed;
- margin-bottom: 0em;
- padding-bottom: 2em;
- left: 0px;
- top: 0px;
- height: 8em;
- width: 100%;
-}
-.header-background {
- background-image: url(images/logo.png);
- background-size: 100% 100%;
- background-repeat: no-repeat;
- background-size: cover;
- background-position: center;
- height: 200px;
-}
-*/
-
-header .wrapper {
- padding-top: 20px;
- padding-bottom: 20px;
- text-align: left;
-}
-
-header a {
- text-decoration: none;
-}
-
-header .site-name {
- color: #000;
- margin: 0;
- cursor: pointer;
- font-weight: 50;
- font-size: 3.5em; /*#2.3em;*/
- line-height: 1em;
- letter-spacing: 1px;
-}
-
-nav {
- /*margin-top: 0.5em;*/
- text-align: left; /* right */
-}
-
-nav li {
- margin-top: 0.5em;
- display: inline-block;
- background-color: #000;
- color: #ddd;
- padding: 4px 6px;
- border-radius: 5px;
- margin-right: 5px;
-
-}
-
-nav li:hover {
- color: #000;
- background-color: #ddd;
-}
-h1 {
- margin-bottom: 20px;
- font-size: 2em;
-}
-
-h2 {
- margin: 20px 0;
- font-size: 1.5em;
-}
-
-p {
- margin-bottom: 10px;
- margin-top: 5px;
-}
-
-a {
- color: inherit;
-
-}
-
-.description {
- margin-bottom: 20px;
-}
-
-.item-list > li {
- display: block;
- padding: 20px;
- border-radius: 20px;
- background-color: #d3d3d3;
- margin-bottom: 20px
-}
-
-.item-list > li:last-child {
- margin-bottom: 0;
-}
-
-.item-list h1 {
- margin-bottom: 0px; /*15px*/
- font-size: 1.3em;
-}
-.item-list a {
- text-decoration: none;
-}
-
-.item-list p {
- margin-bottom: 0;
-}
-
-.reading-time {
- display: inline-block;
- border-radius: 5px;
- background-color: #ddd;
- color: #000;
- padding: 4px 4px;
- margin-bottom: 5px;
- margin-right: 5px;
-
-}
-
-.tag-list {
- margin-bottom: 5px; /* 15px */
-}
-
-.tag-list li,
-.tag {
- display: inline-block;
- background-color: #000;
- color: #ddd;
- padding: 4px 6px;
- border-radius: 5px;
- margin-right: 5px;
- margin-top: 0.5em;
-}
-
-.tag-list a,
-.tag a {
- text-decoration: none;
-}
-
-.item-page .tag-list {
- display: inline-block;
-}
-
-.content {
- margin-bottom: 40px;
-}
-
-.browse-all {
- display: block;
- margin-bottom: 30px;
-}
-
-.all-tags li {
- font-size: 1.4em;
- margin-right: 10px;
- padding: 6px 10px;
- margin-top: 1em;
-}
-
-img {
- max-width: 100%;
- margin-bottom: 1em;
- margin-top: 1em;
- width: auto\9;
- height: auto;
- vertical-align: middle;
- border: 0;
- -ms-interpolation-mode: bicubic;
-}
-
-footer {
- color: #000;
-}
-
-
-
-pre {
- overflow-x: auto;
- font-family: Monaco,Consolas,"Lucida Console",monospace;
- display: block;
- background-color: #fdf6e3;
- color: #586e75;
- margin-bottom: 1em;
- margin-top: 1em;
- border-radius: 4px;
-}
-
-.highlight { background-color: #fdf6e3; color: #586e75; }
-.highlight .c { color: #627272; }
-.highlight .err { color: #586e75; }
-.highlight .g { color: #586e75; }
-.highlight .k { color: #677600; }
-.highlight .l { color: #586e75; }
-.highlight .n { color: #586e75; }
-.highlight .o { color: #677600; }
-.highlight .x { color: #c14715; }
-.highlight .p { color: #586e75; }
-.highlight .cm { color: #627272; }
-.highlight .cp { color: #677600; }
-.highlight .c1 { color: #627272; }
-.highlight .cs { color: #677600; }
-.highlight .gd { color: #217d74; }
-.highlight .ge { color: #586e75; font-style: italic; }
-.highlight .gr { color: #d72825; }
-.highlight .gh { color: #c14715; }
-.highlight .gi { color: #677600; }
-.highlight .go { color: #586e75; }
-.highlight .gp { color: #586e75; }
-.highlight .gs { color: #586e75; font-weight: bold; }
-.highlight .gu { color: #c14715; }
-.highlight .gt { color: #586e75; }
-.highlight .kc { color: #c14715; }
-.highlight .kd { color: #1f76b6; }
-.highlight .kn { color: #677600; }
-.highlight .kp { color: #677600; }
-.highlight .kr { color: #1f76b6; }
-.highlight .kt { color: #d72825; }
-.highlight .ld { color: #586e75; }
-.highlight .m { color: #217d74; }
-.highlight .s { color: #217d74; }
-.highlight .na { color: #586e75; }
-.highlight .nb { color: #8d6900; }
-.highlight .nc { color: #1f76b6; }
-.highlight .no { color: #c14715; }
-.highlight .nd { color: #1f76b6; }
-.highlight .ni { color: #c14715; }
-.highlight .ne { color: #c14715; }
-.highlight .nf { color: #1f76b6; }
-.highlight .nl { color: #586e75; }
-.highlight .nn { color: #586e75; }
-.highlight .nx { color: #586e75; }
-.highlight .py { color: #586e75; }
-.highlight .nt { color: #1f76b6; }
-.highlight .nv { color: #1f76b6; }
-.highlight .ow { color: #677600; }
-.highlight .w { color: #586e75; }
-.highlight .mf { color: #217d74; }
-.highlight .mh { color: #217d74; }
-.highlight .mi { color: #217d74; }
-.highlight .mo { color: #217d74; }
-.highlight .sb { color: #627272; }
-.highlight .sc { color: #217d74; }
-.highlight .sd { color: #586e75; }
-.highlight .s2 { color: #217d74; }
-.highlight .se { color: #c14715; }
-.highlight .sh { color: #586e75; }
-.highlight .si { color: #217d74; }
-.highlight .sx { color: #217d74; }
-.highlight .sr { color: #d72825; }
-.highlight .s1 { color: #217d74; }
-.highlight .ss { color: #217d74; }
-.highlight .bp { color: #1f76b6; }
-.highlight .vc { color: #1f76b6; }
-.highlight .vg { color: #1f76b6; }
-.highlight .vi { color: #1f76b6; }
-.highlight .il { color: #217d74; }
-
-
-@media (prefers-color-scheme: dark) {
- .reading-time {
- background-color: #000;
- color: #ddd;
- }
- body {
- background-color: #222;
- }
-
- body,
- header .site-name {
- color: #ddd;
- }
- nav li {
- background-color: #ddd;
- color: #000;
-
- }
- nav li:hover {
- color: #ddd;
- background-color: #000;
- }
-
- .item-list > li {
- background-color: #333;
- }
-
- header {
- background-color: #000;
- }
- footer {
- color: #ddd;
- }
-
- pre {
- background-color: #002b36;
- color: #93a1a1;
- }
-
- .highlight { background-color: #002b36; color: #93a1a1; }
- .highlight .c { color: #759299; }
- .highlight .err { color: #93a1a1; }
- .highlight .g { color: #93a1a1; }
- .highlight .k { color: #859900; }
- .highlight .l { color: #93a1a1; }
- .highlight .n { color: #93a1a1; }
- .highlight .o { color: #859900; }
- .highlight .x { color: #e9662f; }
- .highlight .p { color: #93a1a1; }
- .highlight .cm { color: #759299; }
- .highlight .cp { color: #859900; }
- .highlight .c1 { color: #759299; }
- .highlight .cs { color: #859900; }
- .highlight .gd { color: #2aa198; }
- .highlight .ge { color: #93a1a1; font-style: italic; }
- .highlight .gr { color: #e8625f; }
- .highlight .gh { color: #e9662f; }
- .highlight .gi { color: #859900; }
- .highlight .go { color: #93a1a1; }
- .highlight .gp { color: #93a1a1; }
- .highlight .gs { color: #93a1a1; font-weight: bold; }
- .highlight .gu { color: #e9662f; }
- .highlight .gt { color: #93a1a1; }
- .highlight .kc { color: #e9662f; }
- .highlight .kd { color: #3294da; }
- .highlight .kn { color: #859900; }
- .highlight .kp { color: #859900; }
- .highlight .kr { color: #3294da; }
- .highlight .kt { color: #e8625f; }
- .highlight .ld { color: #93a1a1; }
- .highlight .m { color: #2aa198; }
- .highlight .s { color: #2aa198; }
- .highlight .na { color: #93a1a1; }
- .highlight .nb { color: #B58900; }
- .highlight .nc { color: #3294da; }
- .highlight .no { color: #e9662f; }
- .highlight .nd { color: #3294da; }
- .highlight .ni { color: #e9662f; }
- .highlight .ne { color: #e9662f; }
- .highlight .nf { color: #3294da; }
- .highlight .nl { color: #93a1a1; }
- .highlight .nn { color: #93a1a1; }
- .highlight .nx { color: #93a1a1; }
- .highlight .py { color: #93a1a1; }
- .highlight .nt { color: #3294da; }
- .highlight .nv { color: #3294da; }
- .highlight .ow { color: #859900; }
- .highlight .w { color: #93a1a1; }
- .highlight .mf { color: #2aa198; }
- .highlight .mh { color: #2aa198; }
- .highlight .mi { color: #2aa198; }
- .highlight .mo { color: #2aa198; }
- .highlight .sb { color: #759299; }
- .highlight .sc { color: #2aa198; }
- .highlight .sd { color: #93a1a1; }
- .highlight .s2 { color: #2aa198; }
- .highlight .se { color: #e9662f; }
- .highlight .sh { color: #93a1a1; }
- .highlight .si { color: #2aa198; }
- .highlight .sx { color: #2aa198; }
- .highlight .sr { color: #e8625f; }
- .highlight .s1 { color: #2aa198; }
- .highlight .ss { color: #2aa198; }
- .highlight .bp { color: #3294da; }
- .highlight .vc { color: #3294da; }
- .highlight .vg { color: #3294da; }
- .highlight .vi { color: #3294da; }
- .highlight .il { color: #2aa198; }
-}
-
diff --git a/tags/android/index.html b/tags/android/index.html
deleted file mode 100644
index 9efee5f..0000000
--- a/tags/android/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/android"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/android"/><meta name="og:url" content="https://navanchauhan.github.io/tags/android"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Android</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-03-03-Playing-With-Android-TV">Tinkering with an Android TV</a></h1><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul><span>🕑 1 minute read. March 3, 2020</span><p>Tinkering with an Android TV</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/androidtv/index.html b/tags/androidtv/index.html
deleted file mode 100644
index 7ca855e..0000000
--- a/tags/androidtv/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/androidtv"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/androidtv"/><meta name="og:url" content="https://navanchauhan.github.io/tags/androidtv"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Android-TV</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-03-03-Playing-With-Android-TV">Tinkering with an Android TV</a></h1><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul><span>🕑 1 minute read. March 3, 2020</span><p>Tinkering with an Android TV</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/anemone/index.html b/tags/anemone/index.html
deleted file mode 100644
index 6af6b62..0000000
--- a/tags/anemone/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/anemone"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/anemone"/><meta name="og:url" content="https://navanchauhan.github.io/tags/anemone"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Anemone</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/arjs/index.html b/tags/arjs/index.html
deleted file mode 100644
index 7777303..0000000
--- a/tags/arjs/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/arjs"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/arjs"/><meta name="og:url" content="https://navanchauhan.github.io/tags/arjs"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">AR.js</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/augmentedreality/index.html b/tags/augmentedreality/index.html
deleted file mode 100644
index cda912a..0000000
--- a/tags/augmentedreality/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/augmentedreality"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/augmentedreality"/><meta name="og:url" content="https://navanchauhan.github.io/tags/augmentedreality"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Augmented-Reality</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/autodock-vina/index.html b/tags/autodock-vina/index.html
deleted file mode 100644
index b97046a..0000000
--- a/tags/autodock-vina/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/autodock-vina"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/autodock-vina"/><meta name="og:url" content="https://navanchauhan.github.io/tags/autodock-vina"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">AutoDock Vina</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/cheminformatics/index.html b/tags/cheminformatics/index.html
deleted file mode 100644
index b835649..0000000
--- a/tags/cheminformatics/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/cheminformatics"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/cheminformatics"/><meta name="og:url" content="https://navanchauhan.github.io/tags/cheminformatics"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Cheminformatics</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/codesnippet/index.html b/tags/codesnippet/index.html
deleted file mode 100644
index bf5ffde..0000000
--- a/tags/codesnippet/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/codesnippet"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/codesnippet"/><meta name="og:url" content="https://navanchauhan.github.io/tags/codesnippet"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Code-Snippet</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li><li><article><h1><a href="/posts/2020-01-14-Converting-between-PIL-NumPy">Converting between image and NumPy array</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. January 14, 2020</span><p>Short code snippet for converting between PIL image and NumPy arrays.</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-08-Splitting-Zips">Splitting ZIPs into Multiple Parts</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. December 8, 2019</span><p>Short code snippet for splitting zips.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/colab/index.html b/tags/colab/index.html
deleted file mode 100644
index db6687c..0000000
--- a/tags/colab/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/colab"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/colab"/><meta name="og:url" content="https://navanchauhan.github.io/tags/colab"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Colab</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/designing/index.html b/tags/designing/index.html
deleted file mode 100644
index 57f0984..0000000
--- a/tags/designing/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/designing"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/designing"/><meta name="og:url" content="https://navanchauhan.github.io/tags/designing"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Designing</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/experiment/index.html b/tags/experiment/index.html
deleted file mode 100644
index c9154c1..0000000
--- a/tags/experiment/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/experiment"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/experiment"/><meta name="og:url" content="https://navanchauhan.github.io/tags/experiment"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Experiment</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2010-01-24-experiments">Experiments</a></h1><ul class="tag-list"><li><a href="/tags/experiment">Experiment</a></li></ul><span>🕑 1 minute read. January 24, 2010</span><p>Just a markdown file for all experiments related to the website</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/helloworld/index.html b/tags/helloworld/index.html
deleted file mode 100644
index aa7bfd8..0000000
--- a/tags/helloworld/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/helloworld"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/helloworld"/><meta name="og:url" content="https://navanchauhan.github.io/tags/helloworld"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">hello-world</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/hello-world">Hello World</a></h1><ul class="tag-list"><li><a href="/tags/helloworld">hello-world</a></li></ul><span>🕑 1 minute read. April 16, 2019</span><p>My first post.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/index.html b/tags/index.html
deleted file mode 100644
index 6212147..0000000
--- a/tags/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags"/><meta name="og:url" content="https://navanchauhan.github.io/tags"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Browse all tags</h1><ul class="all-tags"><li class="tag"><a href="/tags/arjs">AR.js</a></li><li class="tag"><a href="/tags/android">Android</a></li><li class="tag"><a href="/tags/androidtv">Android-TV</a></li><li class="tag"><a href="/tags/anemone">Anemone</a></li><li class="tag"><a href="/tags/augmentedreality">Augmented-Reality</a></li><li class="tag"><a href="/tags/autodock-vina">AutoDock Vina</a></li><li class="tag"><a href="/tags/cheminformatics">Cheminformatics</a></li><li class="tag"><a href="/tags/codesnippet">Code-Snippet</a></li><li class="tag"><a href="/tags/colab">Colab</a></li><li class="tag"><a href="/tags/designing">Designing</a></li><li class="tag"><a href="/tags/experiment">Experiment</a></li><li class="tag"><a href="/tags/jailbreak">Jailbreak</a></li><li class="tag"><a href="/tags/javascript">JavaScript</a></li><li class="tag"><a href="/tags/kaggle">Kaggle</a></li><li class="tag"><a href="/tags/linux">Linux</a></li><li class="tag"><a href="/tags/moleculardocking">Molecular-Docking</a></li><li class="tag"><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li class="tag"><a href="/tags/music">Music</a></li><li class="tag"><a href="/tags/openbabel">Open-Babel</a></li><li class="tag"><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li class="tag"><a href="/tags/snowboard">Snowboard</a></li><li class="tag"><a href="/tags/swiftui">SwiftUI</a></li><li class="tag"><a href="/tags/tensorflow">Tensorflow</a></li><li class="tag"><a href="/tags/turicreate">Turicreate</a></li><li class="tag"><a href="/tags/tutorial">Tutorial</a></li><li class="tag"><a href="/tags/vaporwave">Vaporwave</a></li><li class="tag"><a href="/tags/helloworld">hello-world</a></li><li class="tag"><a href="/tags/ios">iOS</a></li><li class="tag"><a href="/tags/macos">macOS</a></li><li class="tag"><a href="/tags/preprint">pre-print</a></li><li class="tag"><a href="/tags/publication">publication</a></li><li class="tag"><a href="/tags/tutorial">tutorial</a></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/ios/index.html b/tags/ios/index.html
deleted file mode 100644
index 93ab306..0000000
--- a/tags/ios/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/ios"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/ios"/><meta name="og:url" content="https://navanchauhan.github.io/tags/ios"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">iOS</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/jailbreak/index.html b/tags/jailbreak/index.html
deleted file mode 100644
index f6eac77..0000000
--- a/tags/jailbreak/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/jailbreak"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/jailbreak"/><meta name="og:url" content="https://navanchauhan.github.io/tags/jailbreak"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Jailbreak</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/javascript/index.html b/tags/javascript/index.html
deleted file mode 100644
index 8ade5fb..0000000
--- a/tags/javascript/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/javascript"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/javascript"/><meta name="og:url" content="https://navanchauhan.github.io/tags/javascript"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">JavaScript</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/kaggle/index.html b/tags/kaggle/index.html
deleted file mode 100644
index dd4e33c..0000000
--- a/tags/kaggle/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/kaggle"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/kaggle"/><meta name="og:url" content="https://navanchauhan.github.io/tags/kaggle"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Kaggle</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/linux/index.html b/tags/linux/index.html
deleted file mode 100644
index 2912926..0000000
--- a/tags/linux/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/linux"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/linux"/><meta name="og:url" content="https://navanchauhan.github.io/tags/linux"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Linux</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/macos/index.html b/tags/macos/index.html
deleted file mode 100644
index bdb15fb..0000000
--- a/tags/macos/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/macos"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/macos"/><meta name="og:url" content="https://navanchauhan.github.io/tags/macos"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">macOS</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS">Fixing X11 Error on macOS Catalina for AmberTools 18/19</a></h1><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul><span>🕑 2 minute read. April 13, 2020</span><p>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/moleculardocking/index.html b/tags/moleculardocking/index.html
deleted file mode 100644
index 4b01a0c..0000000
--- a/tags/moleculardocking/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/moleculardocking"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/moleculardocking"/><meta name="og:url" content="https://navanchauhan.github.io/tags/moleculardocking"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Molecular-Docking</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/moleculardynamics/index.html b/tags/moleculardynamics/index.html
deleted file mode 100644
index 879b3ee..0000000
--- a/tags/moleculardynamics/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/moleculardynamics"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/moleculardynamics"/><meta name="og:url" content="https://navanchauhan.github.io/tags/moleculardynamics"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Molecular-Dynamics</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS">Fixing X11 Error on macOS Catalina for AmberTools 18/19</a></h1><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul><span>🕑 2 minute read. April 13, 2020</span><p>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/music/index.html b/tags/music/index.html
deleted file mode 100644
index 4ffe9a5..0000000
--- a/tags/music/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/music"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/music"/><meta name="og:url" content="https://navanchauhan.github.io/tags/music"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Music</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-03-08-Making-Vaporwave-Track">Making My First Vaporwave Track (Remix)</a></h1><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul><span>🕑 2 minute read. March 8, 2020</span><p>I made my first vaporwave remix</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/openbabel/index.html b/tags/openbabel/index.html
deleted file mode 100644
index a816494..0000000
--- a/tags/openbabel/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/openbabel"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/openbabel"/><meta name="og:url" content="https://navanchauhan.github.io/tags/openbabel"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Open-Babel</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/preprint/index.html b/tags/preprint/index.html
deleted file mode 100644
index 617d559..0000000
--- a/tags/preprint/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/preprint"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/preprint"/><meta name="og:url" content="https://navanchauhan.github.io/tags/preprint"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">pre-print</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/publications/2020-03-17-Possible-Drug-Candidates-COVID-19">Possible Drug Candidates for COVID-19</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 17, 2020</span><p>COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered.</p></article></li><li><article><h1><a href="/publications/2020-03-14-generating-vaporwave">Is it possible to programmatically generate Vaporwave?</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 14, 2020</span><p>This paper is about programmaticaly generating Vaporwave.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/publication/index.html b/tags/publication/index.html
deleted file mode 100644
index 772bc82..0000000
--- a/tags/publication/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/publication"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/publication"/><meta name="og:url" content="https://navanchauhan.github.io/tags/publication"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">publication</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/publications/2020-03-17-Possible-Drug-Candidates-COVID-19">Possible Drug Candidates for COVID-19</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 17, 2020</span><p>COVID-19, has been officially labeled as a pandemic by the World Health Organisation. This paper presents cloperastine and vigabatrin as two possible drug candidates for combatting the disease along with the process by which they were discovered.</p></article></li><li><article><h1><a href="/publications/2020-03-14-generating-vaporwave">Is it possible to programmatically generate Vaporwave?</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li><li><a href="/tags/preprint">pre-print</a></li></ul><span>🕑 1 minute read. March 14, 2020</span><p>This paper is about programmaticaly generating Vaporwave.</p></article></li><li><article><h1><a href="/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response">Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response</a></h1><ul class="tag-list"><li><a href="/tags/publication">publication</a></li></ul><span>🕑 1 minute read. May 14, 2019</span><p>This paper is about Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/raspberrypi/index.html b/tags/raspberrypi/index.html
deleted file mode 100644
index b9fe50e..0000000
--- a/tags/raspberrypi/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/raspberrypi"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/raspberrypi"/><meta name="og:url" content="https://navanchauhan.github.io/tags/raspberrypi"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Raspberry-Pi</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/snowboard/index.html b/tags/snowboard/index.html
deleted file mode 100644
index 2aba936..0000000
--- a/tags/snowboard/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/snowboard"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/snowboard"/><meta name="og:url" content="https://navanchauhan.github.io/tags/snowboard"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Snowboard</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/swiftui/index.html b/tags/swiftui/index.html
deleted file mode 100644
index 2883e53..0000000
--- a/tags/swiftui/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/swiftui"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/swiftui"/><meta name="og:url" content="https://navanchauhan.github.io/tags/swiftui"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">SwiftUI</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/tensorflow/index.html b/tags/tensorflow/index.html
deleted file mode 100644
index 6b6bd48..0000000
--- a/tags/tensorflow/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/tensorflow"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/tensorflow"/><meta name="og:url" content="https://navanchauhan.github.io/tags/tensorflow"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Tensorflow</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/turicreate/index.html b/tags/turicreate/index.html
deleted file mode 100644
index 1bb9fcd..0000000
--- a/tags/turicreate/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/turicreate"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/turicreate"/><meta name="og:url" content="https://navanchauhan.github.io/tags/turicreate"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Turicreate</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/tutorial/index.html b/tags/tutorial/index.html
deleted file mode 100644
index 39f6e5d..0000000
--- a/tags/tutorial/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/tutorial"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/tutorial"/><meta name="og:url" content="https://navanchauhan.github.io/tags/tutorial"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Tutorial</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2020-01-14-Converting-between-PIL-NumPy">Converting between image and NumPy array</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. January 14, 2020</span><p>Short code snippet for converting between PIL image and NumPy arrays.</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li><li><article><h1><a href="/posts/2019-12-08-Splitting-Zips">Splitting ZIPs into Multiple Parts</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. December 8, 2019</span><p>Short code snippet for splitting zips.</p></article></li><li><article><h1><a href="/posts/2019-12-04-Google-Teachable-Machines">Image Classifier With Teachable Machines</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 2 minute read. December 4, 2019</span><p>Tutorial on creating a custom image classifier quickly with Google Teachable Machines</p></article></li><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/tags/vaporwave/index.html b/tags/vaporwave/index.html
deleted file mode 100644
index 43edece..0000000
--- a/tags/vaporwave/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/tags/vaporwave"/><meta name="twitter:url" content="https://navanchauhan.github.io/tags/vaporwave"/><meta name="og:url" content="https://navanchauhan.github.io/tags/vaporwave"/><title>Navan Chauhan</title><meta name="twitter:title" content="Navan Chauhan"/><meta name="og:title" content="Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script>var _paq=window._paq=window._paq||[];_paq.push(['trackPageView']),_paq.push(['enableLinkTracking']),function(){var a='https://navanspi.duckdns.org:6969/analytics/';_paq.push(['setTrackerUrl',a+'matomo.php']),_paq.push(['setSiteId','2']);var e=document,t=e.createElement('script'),p=e.getElementsByTagName('script')[0];t.type='text/javascript',t.async=!0,t.src=a+'matomo.js',p.parentNode.insertBefore(t,p)}();</script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Tagged with <span class="tag">Vaporwave</span></h1><a class="browse-all" href="/tags">Browse all tags</a><ul class="item-list"><li><article><h1><a href="/posts/2020-03-08-Making-Vaporwave-Track">Making My First Vaporwave Track (Remix)</a></h1><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul><span>🕑 2 minute read. March 8, 2020</span><p>I made my first vaporwave remix</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file