From 32df66afceaeb8f558096c5676fd626cfe7358fd Mon Sep 17 00:00:00 2001 From: Navan Chauhan Date: Wed, 29 Jan 2020 11:14:30 +0530 Subject: Publish deploy 2020-01-29 11:14 --- Themes/styles 2.css | 397 +++++++++++++++++++++ about/index.html | 2 +- assets/compare.css | 165 +++++++++ assets/compare.js | 79 ++++ assets/disqus 2.js | 5 + assets/disqus.js | 11 +- .../gciTales/01-teachableMachines/01-collect 3.png | Bin 0 -> 3148125 bytes .../gciTales/01-teachableMachines/02-train 3.png | Bin 0 -> 1673773 bytes .../gciTales/01-teachableMachines/03-label 3.png | Bin 0 -> 134577 bytes .../gciTales/01-teachableMachines/04-alert 3.png | Bin 0 -> 45710 bytes assets/gciTales/01-teachableMachines/05-html 3.png | Bin 0 -> 15084 bytes assets/gciTales/01-teachableMachines/06-js 3.png | Bin 0 -> 117349 bytes assets/gciTales/01-teachableMachines/07-eg 3.png | Bin 0 -> 787109 bytes assets/gciTales/01-teachableMachines/08-eg 3.png | Bin 0 -> 832865 bytes assets/gciTales/03-regression/1 3.png | Bin 0 -> 39478 bytes assets/gciTales/03-regression/2 3.png | Bin 0 -> 67134 bytes assets/gciTales/03-regression/3 3.png | Bin 0 -> 59514 bytes assets/gciTales/03-regression/4 3.png | Bin 0 -> 58153 bytes assets/gciTales/03-regression/5 3.png | Bin 0 -> 58824 bytes assets/gciTales/03-regression/6 3.png | Bin 0 -> 59554 bytes "assets/r\303\251sum\303\251 2.pdf" | Bin 0 -> 90006 bytes feed.rss | 2 +- index.html | 2 +- .../index.html | 4 +- posts/2019-12-08-Splitting-Zips/index.html | 4 +- .../index 2.html | 23 ++ .../index.html | 4 +- .../index.html | 4 +- posts/2019-12-22-Fake-News-Detector/index 2.html | 173 +++++++++ posts/2019-12-22-Fake-News-Detector/index.html | 4 +- .../index.html | 4 +- .../index 2.html | 9 + .../index.html | 4 +- .../index.html | 4 +- .../index 2.html | 1 + .../index.html | 2 +- posts/2020-01-24-experiments/index.html | 1 + posts/hello-world/index 2.html | 1 + posts/hello-world/index.html | 2 +- posts/index 2.html | 1 + posts/index.html | 2 +- .../index 2.html | 7 + .../index.html | 4 +- publications/index.html | 2 +- sitemap.xml | 2 +- tags/article/index 2.html | 1 + tags/article/index 3.html | 1 + tags/article/index.html | 2 +- tags/codesnippet/index 2.html | 1 + tags/codesnippet/index 3.html | 1 + tags/codesnippet/index.html | 2 +- tags/colab/index 2.html | 1 + tags/colab/index 3.html | 1 + tags/colab/index.html | 2 +- tags/experiment/index 2.html | 1 + tags/experiment/index 3.html | 1 + tags/experiment/index 4.html | 1 + tags/experiment/index.html | 1 + tags/helloworld/index 2.html | 1 + tags/helloworld/index 3.html | 1 + tags/helloworld/index.html | 2 +- tags/index.html | 2 +- tags/kaggle/index 2.html | 1 + tags/kaggle/index.html | 2 +- tags/linux/index 2.html | 1 + tags/linux/index 3.html | 1 + tags/linux/index 4.html | 1 + tags/linux/index.html | 2 +- tags/publication/index 2.html | 1 + tags/publication/index.html | 2 +- tags/raspberrypi/index 2.html | 1 + tags/raspberrypi/index 3.html | 1 + tags/raspberrypi/index.html | 2 +- tags/swiftui/index 2.html | 1 + tags/swiftui/index 3.html | 1 + tags/swiftui/index.html | 2 +- tags/tensorflow/index 2.html | 1 + tags/tensorflow/index 3.html | 1 + tags/tensorflow/index.html | 2 +- tags/turicreate/index 2.html | 1 + tags/turicreate/index 3.html | 1 + tags/turicreate/index.html | 2 +- tags/tutorial/index 2.html | 1 + tags/tutorial/index 3.html | 1 + tags/tutorial/index.html | 2 +- tutorials/index/index 2.html | 1 + tutorials/index/index 3.html | 1 + tutorials/index/index.html | 2 +- 88 files changed, 935 insertions(+), 47 deletions(-) create mode 100644 Themes/styles 2.css create mode 100644 assets/compare.css create mode 100644 assets/compare.js create mode 100644 assets/disqus 2.js create mode 100644 assets/gciTales/01-teachableMachines/01-collect 3.png create mode 100644 assets/gciTales/01-teachableMachines/02-train 3.png create mode 100644 assets/gciTales/01-teachableMachines/03-label 3.png create mode 100644 assets/gciTales/01-teachableMachines/04-alert 3.png create mode 100644 assets/gciTales/01-teachableMachines/05-html 3.png create mode 100644 assets/gciTales/01-teachableMachines/06-js 3.png create mode 100644 assets/gciTales/01-teachableMachines/07-eg 3.png create mode 100644 assets/gciTales/01-teachableMachines/08-eg 3.png create mode 100644 assets/gciTales/03-regression/1 3.png create mode 100644 assets/gciTales/03-regression/2 3.png create mode 100644 assets/gciTales/03-regression/3 3.png create mode 100644 assets/gciTales/03-regression/4 3.png create mode 100644 assets/gciTales/03-regression/5 3.png create mode 100644 assets/gciTales/03-regression/6 3.png create mode 100644 "assets/r\303\251sum\303\251 2.pdf" create mode 100644 posts/2019-12-10-TensorFlow-Model-Prediction/index 2.html create mode 100644 posts/2019-12-22-Fake-News-Detector/index 2.html create mode 100644 posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index 2.html create mode 100644 posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index 2.html create mode 100644 posts/2020-01-24-experiments/index.html create mode 100644 posts/hello-world/index 2.html create mode 100644 posts/index 2.html create mode 100644 publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index 2.html create mode 100644 tags/article/index 2.html create mode 100644 tags/article/index 3.html create mode 100644 tags/codesnippet/index 2.html create mode 100644 tags/codesnippet/index 3.html create mode 100644 tags/colab/index 2.html create mode 100644 tags/colab/index 3.html create mode 100644 tags/experiment/index 2.html create mode 100644 tags/experiment/index 3.html create mode 100644 tags/experiment/index 4.html create mode 100644 tags/experiment/index.html create mode 100644 tags/helloworld/index 2.html create mode 100644 tags/helloworld/index 3.html create mode 100644 tags/kaggle/index 2.html create mode 100644 tags/linux/index 2.html create mode 100644 tags/linux/index 3.html create mode 100644 tags/linux/index 4.html create mode 100644 tags/publication/index 2.html create mode 100644 tags/raspberrypi/index 2.html create mode 100644 tags/raspberrypi/index 3.html create mode 100644 tags/swiftui/index 2.html create mode 100644 tags/swiftui/index 3.html create mode 100644 tags/tensorflow/index 2.html create mode 100644 tags/tensorflow/index 3.html create mode 100644 tags/turicreate/index 2.html create mode 100644 tags/turicreate/index 3.html create mode 100644 tags/tutorial/index 2.html create mode 100644 tags/tutorial/index 3.html create mode 100644 tutorials/index/index 2.html create mode 100644 tutorials/index/index 3.html diff --git a/Themes/styles 2.css b/Themes/styles 2.css new file mode 100644 index 0000000..6042be0 --- /dev/null +++ b/Themes/styles 2.css @@ -0,0 +1,397 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-size: 16px; + -webkit-text-size-adjust: 100%; +} + +body { + background: #fff; + 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 { + + + 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: 200; + font-size: 2.3em; + letter-spacing: 1px; +} + +nav { + /*margin-top: 0.5em;*/ + text-align: 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; +} + +p { + margin-bottom: 10px; +} + +a { + color: inherit; + +} + +.description { + margin-bottom: 20px; +} + +.item-list > li { + display: block; + padding: 20px; + border-radius: 20px; + background-color: #eee; + margin-bottom: 20px +} + +.item-list > li:last-child { + margin-bottom: 0; +} + +.item-list h1 { + margin-bottom: 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; + +} + +.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 index 847797a..2d98172 100644 --- a/about/index.html +++ b/about/index.html @@ -1 +1 @@ -About Me | Navan Chauhan

About Me

Hi! My name is Navan Chauhan. Résumé

What do I like?

\ No newline at end of file +About Me | Navan Chauhan

About Me

Hi! My name is Navan Chauhan.

What do I like?

\ No newline at end of file diff --git a/assets/compare.css b/assets/compare.css new file mode 100644 index 0000000..fcc509b --- /dev/null +++ b/assets/compare.css @@ -0,0 +1,165 @@ +/* -------------------------------- + +Primary style + +-------------------------------- */ +*, *:after, *:before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + + + +img { + max-width: 100%; +} + +/* -------------------------------- + +Main components + +-------------------------------- */ + +.cd-image-container { + position: relative; + width: 90%; + max-width: 768px; + margin: 2em auto; +} +.cd-image-container img { + display: block; +} +@media only screen and (min-width: 768px) { + .cd-image-container { + margin: 4em auto; + } +} + +.cd-image-label { + position: absolute; + bottom: 0; + right: 0; + color: #ffffff; + padding: 1em; + opacity: 0; + -webkit-transform: translateY(20px); + -moz-transform: translateY(20px); + -ms-transform: translateY(20px); + -o-transform: translateY(20px); + transform: translateY(20px); + -webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0.3s 0.7s; + -moz-transition: -moz-transform 0.3s 0.7s, opacity 0.3s 0.7s; + transition: transform 0.3s 0.7s, opacity 0.3s 0.7s; +} +.cd-image-label.is-hidden { + visibility: hidden; +} +.is-visible .cd-image-label { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -ms-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); +} + +.cd-resize-img { + position: absolute; + top: 0; + left: 0; + width: 0; + height: 100%; + overflow: hidden; + background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-modified.jpg") no-repeat left top; + background-size: auto 100%; + /* Force Hardware Acceleration in WebKit */ + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.cd-resize-img .cd-image-label { + right: auto; + left: 0; +} +.is-visible .cd-resize-img { + width: 50%; + /* bounce in animation of the modified image */ + -webkit-animation: cd-bounce-in 0.7s; + -moz-animation: cd-bounce-in 0.7s; + animation: cd-bounce-in 0.7s; +} + +@-webkit-keyframes cd-bounce-in { + 0% { + width: 0; + } + 60% { + width: 55%; + } + 100% { + width: 50%; + } +} +@-moz-keyframes cd-bounce-in { + 0% { + width: 0; + } + 60% { + width: 55%; + } + 100% { + width: 50%; + } +} +@keyframes cd-bounce-in { + 0% { + width: 0; + } + 60% { + width: 55%; + } + 100% { + width: 50%; + } +} +.cd-handle { + position: absolute; + height: 44px; + width: 44px; + /* center the element */ + left: 50%; + top: 50%; + margin-left: -22px; + margin-top: -22px; + border-radius: 50%; + background: #dc717d url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/cd-arrows.svg") no-repeat center center; + cursor: move; + box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.2), 0 0 10px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); + opacity: 0; + -webkit-transform: translate3d(0, 0, 0) scale(0); + -moz-transform: translate3d(0, 0, 0) scale(0); + -ms-transform: translate3d(0, 0, 0) scale(0); + -o-transform: translate3d(0, 0, 0) scale(0); + transform: translate3d(0, 0, 0) scale(0); +} +.cd-handle.draggable { + /* change background color when element is active */ + background-color: #445b7c; +} +.is-visible .cd-handle { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0) scale(1); + -moz-transform: translate3d(0, 0, 0) scale(1); + -ms-transform: translate3d(0, 0, 0) scale(1); + -o-transform: translate3d(0, 0, 0) scale(1); + transform: translate3d(0, 0, 0) scale(1); + -webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0s 0.7s; + -moz-transition: -moz-transform 0.3s 0.7s, opacity 0s 0.7s; + transition: transform 0.3s 0.7s, opacity 0s 0.7s; +} + diff --git a/assets/compare.js b/assets/compare.js new file mode 100644 index 0000000..2d0d3e5 --- /dev/null +++ b/assets/compare.js @@ -0,0 +1,79 @@ +jQuery(document).ready(function($){ + //check if the .cd-image-container is in the viewport + //if yes, animate it + checkPosition($('.cd-image-container')); + $(window).on('scroll', function(){ + checkPosition($('.cd-image-container')); + }); + + //make the .cd-handle element draggable and modify .cd-resize-img width according to its position + drags($('.cd-handle'), $('.cd-resize-img'), $('.cd-image-container'), $('.cd-image-label[data-type="original"]'), $('.cd-image-label[data-type="modified"]')); + + //upadate images label visibility + $(window).on('resize', function(){ + updateLabel($('.cd-image-label[data-type="modified"]'), $('.cd-resize-img'), 'left'); + updateLabel($('.cd-image-label[data-type="original"]'), $('.cd-resize-img'), 'right'); + }); +}); + +function checkPosition(container) { + if( $(window).scrollTop() + $(window).height()*0.5 > container.offset().top) { + container.addClass('is-visible'); + //you can uncomment the following line if you don't have other events to bind to the window scroll + // $(window).off('scroll'); + } +} + +//draggable funtionality - credits to https://css-tricks.com/snippets/jquery/draggable-without-jquery-ui/ +function drags(dragElement, resizeElement, container, labelContainer, labelResizeElement) { + dragElement.on("mousedown vmousedown", function(e) { + dragElement.addClass('draggable'); + resizeElement.addClass('resizable'); + + var dragWidth = dragElement.outerWidth(), + xPosition = dragElement.offset().left + dragWidth - e.pageX, + containerOffset = container.offset().left, + containerWidth = container.outerWidth(), + minLeft = containerOffset + 10, + maxLeft = containerOffset + containerWidth - dragWidth - 10; + + dragElement.parents().on("mousemove vmousemove", function(e) { + leftValue = e.pageX + xPosition - dragWidth; + + //constrain the draggable element to move inside his container + if(leftValue < minLeft ) { + leftValue = minLeft; + } else if ( leftValue > maxLeft) { + leftValue = maxLeft; + } + + widthValue = (leftValue + dragWidth/2 - containerOffset)*100/containerWidth+'%'; + + $('.draggable').css('left', widthValue).on("mouseup vmouseup", function() { + $(this).removeClass('draggable'); + resizeElement.removeClass('resizable'); + }); + + $('.resizable').css('width', widthValue); + + updateLabel(labelResizeElement, resizeElement, 'left'); + updateLabel(labelContainer, resizeElement, 'right'); + + }).on("mouseup vmouseup", function(e){ + dragElement.removeClass('draggable'); + resizeElement.removeClass('resizable'); + }); + e.preventDefault(); + }).on("mouseup vmouseup", function(e) { + dragElement.removeClass('draggable'); + resizeElement.removeClass('resizable'); + }); +} + +function updateLabel(label, resizeElement, position) { + if(position == 'left') { + ( label.offset().left + label.outerWidth() < resizeElement.offset().left + resizeElement.outerWidth() ) ? label.removeClass('is-hidden') : label.addClass('is-hidden') ; + } else { + ( label.offset().left > resizeElement.offset().left + resizeElement.outerWidth() ) ? label.removeClass('is-hidden') : label.addClass('is-hidden') ; + } +} diff --git a/assets/disqus 2.js b/assets/disqus 2.js new file mode 100644 index 0000000..685f2df --- /dev/null +++ b/assets/disqus 2.js @@ -0,0 +1,5 @@ +(function() { + var t = document, + e = t.createElement("script"); + e.src = "https://REPLACE-WITH-SHORTNAME.disqus.com/embed.js", e.setAttribute("data-timestamp", +new Date), (t.head || t.body).appendChild(e) +})(); diff --git a/assets/disqus.js b/assets/disqus.js index 00c6027..0c52381 100644 --- a/assets/disqus.js +++ b/assets/disqus.js @@ -1,8 +1,5 @@ -(function() { // DON'T EDIT BELOW THIS LINE -var d = document, s = d.createElement('script'); -s.src = 'https://navan-chauhan.disqus.com/embed.js'; -s.setAttribute('data-timestamp', +new Date()); -(d.head || d.body).appendChild(s); +(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 3.png b/assets/gciTales/01-teachableMachines/01-collect 3.png new file mode 100644 index 0000000..58e0b54 Binary files /dev/null and b/assets/gciTales/01-teachableMachines/01-collect 3.png differ diff --git a/assets/gciTales/01-teachableMachines/02-train 3.png b/assets/gciTales/01-teachableMachines/02-train 3.png new file mode 100644 index 0000000..a69fd63 Binary files /dev/null and b/assets/gciTales/01-teachableMachines/02-train 3.png differ diff --git a/assets/gciTales/01-teachableMachines/03-label 3.png b/assets/gciTales/01-teachableMachines/03-label 3.png new file mode 100644 index 0000000..efe450d Binary files /dev/null and b/assets/gciTales/01-teachableMachines/03-label 3.png differ diff --git a/assets/gciTales/01-teachableMachines/04-alert 3.png b/assets/gciTales/01-teachableMachines/04-alert 3.png new file mode 100644 index 0000000..f648bad Binary files /dev/null and b/assets/gciTales/01-teachableMachines/04-alert 3.png differ diff --git a/assets/gciTales/01-teachableMachines/05-html 3.png b/assets/gciTales/01-teachableMachines/05-html 3.png new file mode 100644 index 0000000..f917c07 Binary files /dev/null and b/assets/gciTales/01-teachableMachines/05-html 3.png differ diff --git a/assets/gciTales/01-teachableMachines/06-js 3.png b/assets/gciTales/01-teachableMachines/06-js 3.png new file mode 100644 index 0000000..173a8aa Binary files /dev/null and b/assets/gciTales/01-teachableMachines/06-js 3.png differ diff --git a/assets/gciTales/01-teachableMachines/07-eg 3.png b/assets/gciTales/01-teachableMachines/07-eg 3.png new file mode 100644 index 0000000..cc8198e Binary files /dev/null and b/assets/gciTales/01-teachableMachines/07-eg 3.png differ diff --git a/assets/gciTales/01-teachableMachines/08-eg 3.png b/assets/gciTales/01-teachableMachines/08-eg 3.png new file mode 100644 index 0000000..b1261fa Binary files /dev/null and b/assets/gciTales/01-teachableMachines/08-eg 3.png differ diff --git a/assets/gciTales/03-regression/1 3.png b/assets/gciTales/03-regression/1 3.png new file mode 100644 index 0000000..b07d172 Binary files /dev/null and b/assets/gciTales/03-regression/1 3.png differ diff --git a/assets/gciTales/03-regression/2 3.png b/assets/gciTales/03-regression/2 3.png new file mode 100644 index 0000000..53531ad Binary files /dev/null and b/assets/gciTales/03-regression/2 3.png differ diff --git a/assets/gciTales/03-regression/3 3.png b/assets/gciTales/03-regression/3 3.png new file mode 100644 index 0000000..542d76e Binary files /dev/null and b/assets/gciTales/03-regression/3 3.png differ diff --git a/assets/gciTales/03-regression/4 3.png b/assets/gciTales/03-regression/4 3.png new file mode 100644 index 0000000..16101cd Binary files /dev/null and b/assets/gciTales/03-regression/4 3.png differ diff --git a/assets/gciTales/03-regression/5 3.png b/assets/gciTales/03-regression/5 3.png new file mode 100644 index 0000000..36b9c26 Binary files /dev/null and b/assets/gciTales/03-regression/5 3.png differ diff --git a/assets/gciTales/03-regression/6 3.png b/assets/gciTales/03-regression/6 3.png new file mode 100644 index 0000000..479d0e5 Binary files /dev/null and b/assets/gciTales/03-regression/6 3.png differ diff --git "a/assets/r\303\251sum\303\251 2.pdf" "b/assets/r\303\251sum\303\251 2.pdf" new file mode 100644 index 0000000..924ddb0 Binary files /dev/null and "b/assets/r\303\251sum\303\251 2.pdf" differ diff --git a/feed.rss b/feed.rss index 31a1f46..5aa5dd8 100644 --- a/feed.rss +++ b/feed.rss @@ -1,4 +1,4 @@ -Navan ChauhanWelcome to my personal fragment of the internet.https://navanchauhan.github.io/enTue, 21 Jan 2020 21:13:56 +0530Tue, 21 Jan 2020 21:13:56 +0530250https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-TerminalHow to setup Bluetooth on a Raspberry PiConnecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero Whttps://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-TerminalSun, 19 Jan 2020 15:27:00 +0530How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

]]>
https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-TuricreateCreating a Custom Image Classifier using Turicreate to detect Smoke and FireTutorial on creating a custom Image Classifier using Turicreate and a dataset from Kagglehttps://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-TuricreateThu, 16 Jan 2020 10:36:00 +0530Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire

For setting up Kaggle with Google Colab, please refer to my previous post

Dataset

Mounting Google Drive

import os +Navan ChauhanWelcome to my personal fragment of the internet.https://navanchauhan.github.io/enWed, 29 Jan 2020 10:45:27 +0530Wed, 29 Jan 2020 10:45:27 +0530250https://navanchauhan.github.io/posts/2020-01-24-experimentsExperimentsJust a markdown file for all experiments related to the websitehttps://navanchauhan.github.io/posts/2020-01-24-experimentsFri, 24 Jan 2020 23:43:00 +0530Experiments

https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-original.jpg

]]>
https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-TerminalHow to setup Bluetooth on a Raspberry PiConnecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero Whttps://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-TerminalSun, 19 Jan 2020 15:27:00 +0530How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

]]>
https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-TuricreateCreating a Custom Image Classifier using Turicreate to detect Smoke and FireTutorial on creating a custom Image Classifier using Turicreate and a dataset from Kagglehttps://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-TuricreateThu, 16 Jan 2020 10:36:00 +0530Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire

For setting up Kaggle with Google Colab, please refer to my previous post

Dataset

Mounting Google Drive

import os from google.colab import drive drive.mount('/content/drive')
diff --git a/index.html b/index.html index 587db0a..ff01b52 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Hi! | Navan Chauhan

Hi!

Welcome to my personal fragment of the internet.

Latest content

\ No newline at end of file +Hi! | Navan Chauhan

Hi!

Welcome to my personal fragment of the internet.

Latest content

\ 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 index 1d027fb..7e9b06e 100644 --- a/posts/2019-12-08-Image-Classifier-Tensorflow/index.html +++ b/posts/2019-12-08-Image-Classifier-Tensorflow/index.html @@ -1,4 +1,4 @@ -Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan
🕑 4 minute read.

Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria

Done during Google Code-In. Org: Tensorflow.

Imports

%tensorflow_version 2.x #This is for telling Colab that you want to use TF 2.0, ignore if running on local machine +Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan
🕑 4 minute read.

Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria

Done during Google Code-In. Org: Tensorflow.

Imports

%tensorflow_version 2.x #This is for telling Colab that you want to use TF 2.0, ignore if running on local machine from PIL import Image # We use the PIL Library to resize images import numpy as np @@ -120,4 +120,4 @@ Validation Loss: 0.0
-

We have achieved 98% Accuracy!

Link to Colab Notebook

Tagged with:
\ No newline at end of file +

We have achieved 98% Accuracy!

Link to Colab Notebook

Tagged with:
\ 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 index b1f7c30..0d1e1b2 100644 --- a/posts/2019-12-08-Splitting-Zips/index.html +++ b/posts/2019-12-08-Splitting-Zips/index.html @@ -1,4 +1,4 @@ -Splitting ZIPs into Multiple Parts | Navan Chauhan
🕑 0 minute read.

Splitting ZIPs into Multiple Parts

Tested on macOS

Creating the archive:

zip -r -s 5 oodlesofnoodles.zip website/ +Splitting ZIPs into Multiple Parts | Navan Chauhan
🕑 0 minute read.

Splitting ZIPs into Multiple Parts

Tested on macOS

Creating the archive:

zip -r -s 5 oodlesofnoodles.zip website/

5 stands for each split files' size (in mb, kb and gb can also be specified)

For encrypting the zip:

zip -er -s 5 oodlesofnoodles.zip website @@ -7,4 +7,4 @@

Extracting Files

First we need to collect all parts, then

zip -F oodlesofnoodles.zip --out merged.zip
-
Tagged with:
\ No newline at end of file +
Tagged with:
\ No newline at end of file diff --git a/posts/2019-12-10-TensorFlow-Model-Prediction/index 2.html b/posts/2019-12-10-TensorFlow-Model-Prediction/index 2.html new file mode 100644 index 0000000..3b71ea8 --- /dev/null +++ b/posts/2019-12-10-TensorFlow-Model-Prediction/index 2.html @@ -0,0 +1,23 @@ +Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan
🕑 1 minute read.

Making Predictions using Image Classifier (TensorFlow)

This was tested on TF 2.x and works as of 2019-12-10

If you want to understand how to make your own custom image classifier, please refer to my previous post.

If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.

First we import the following if we have not imported these before

import cv2 +import os +
+ +

Then we read the file using OpenCV.

image=cv2.imread(imagePath) +
+ +

The cv2. imread() function returns a NumPy array representing the image. Therefore, we need to convert it before we can use it.

image_from_array = Image.fromarray(image, 'RGB') +
+ +

Then we resize the image

size_image = image_from_array.resize((50,50)) +
+ +

After this we create a batch consisting of only one image

p = np.expand_dims(size_image, 0) +
+ +

We then convert this uint8 datatype to a float32 datatype

img = tf.cast(p, tf.float32) +
+ +

Finally we make the prediction

print(['Infected','Uninfected'][np.argmax(model.predict(img))]) +
+ +

Infected

Tagged with:
\ 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 index 7b4d177..3b71ea8 100644 --- a/posts/2019-12-10-TensorFlow-Model-Prediction/index.html +++ b/posts/2019-12-10-TensorFlow-Model-Prediction/index.html @@ -1,4 +1,4 @@ -Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan
🕑 1 minute read.

Making Predictions using Image Classifier (TensorFlow)

This was tested on TF 2.x and works as of 2019-12-10

If you want to understand how to make your own custom image classifier, please refer to my previous post.

If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.

First we import the following if we have not imported these before

import cv2 +Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan
🕑 1 minute read.

Making Predictions using Image Classifier (TensorFlow)

This was tested on TF 2.x and works as of 2019-12-10

If you want to understand how to make your own custom image classifier, please refer to my previous post.

If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.

First we import the following if we have not imported these before

import cv2 import os
@@ -20,4 +20,4 @@

Finally we make the prediction

print(['Infected','Uninfected'][np.argmax(model.predict(img))])
-

Infected

Tagged with:
\ No newline at end of file +

Infected

Tagged with:
\ 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 index 0e3dd19..ad90be2 100644 --- a/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html +++ b/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html @@ -1,4 +1,4 @@ -Polynomial Regression Using TensorFlow | Navan Chauhan
🕑 16 minute read.

Polynomial Regression Using TensorFlow

In this tutorial you will learn about polynomial regression and how you can implement it in Tensorflow.

In this, we will be performing polynomial regression using 5 types of equations -

  • Linear
  • Quadratic
  • Cubic
  • Quartic
  • Quintic

Regression

What is Regression?

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 ).

What is Polynomial Regression

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).

Imports

import tensorflow.compat.v1 as tf +Polynomial Regression Using TensorFlow | Navan Chauhan
🕑 16 minute read.

Polynomial Regression Using TensorFlow

In this tutorial you will learn about polynomial regression and how you can implement it in Tensorflow.

In this, we will be performing polynomial regression using 5 types of equations -

  • Linear
  • Quadratic
  • Cubic
  • Quartic
  • Quintic

Regression

What is Regression?

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 ).

What is Polynomial Regression

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).

Imports

import tensorflow.compat.v1 as tf tf.disable_v2_behavior() import matplotlib.pyplot as plt import numpy as np @@ -366,4 +366,4 @@ plt.show()
-

Results and Conclusion

You just learnt Polynomial Regression using TensorFlow!

Notes

Overfitting

> 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 generalize.

Source: Machine Learning Mastery

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

Tagged with:
\ No newline at end of file +

Results and Conclusion

You just learnt Polynomial Regression using TensorFlow!

Notes

Overfitting

> 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 generalize.

Source: Machine Learning Mastery

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

Tagged with:
\ No newline at end of file diff --git a/posts/2019-12-22-Fake-News-Detector/index 2.html b/posts/2019-12-22-Fake-News-Detector/index 2.html new file mode 100644 index 0000000..a29cd6c --- /dev/null +++ b/posts/2019-12-22-Fake-News-Detector/index 2.html @@ -0,0 +1,173 @@ +Building a Fake News Detector with Turicreate | Navan Chauhan
🕑 6 minute read.

Building a Fake News Detector with Turicreate

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

Note: These commands are written as if you are running a jupyter notebook.

Building the Machine Learning Model

Data Gathering

To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and wheter 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

Dependencies

I used a Google Colab instance for training my model. If you also plan on using Google Colab then I reccomend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreat is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.

!pip install turicreate +!pip uninstall -y mxnet +!pip install mxnet-cu100==1.4.0.post0 +
+ +

If you do not wish to train on GPU or are running it on your computer, you can ignore the last two lines

Downloading the Dataset

!wget -q "https://github.com/joolsa/fake_real_news_dataset/raw/master/fake_or_real_news.csv.zip" +!unzip fake_or_real_news.csv.zip +
+ +

Model Creation

import turicreate as tc +tc.config.set_num_gpus(-1) # If you do not wish to use GPUs, set it to 0 +
+ +
dataSFrame = tc.SFrame('fake_or_real_news.csv') +
+ +

The dataset contains a column named "X1", which is of no use to us. Therefore, we simply drop it

dataSFrame.remove_column('X1') +
+ +

Splitting Dataset

train, test = dataSFrame.random_split(.9) +
+ +

Training

model = tc.text_classifier.create( + dataset=train, + target='label', + features=['title','text'] +) +
+ +
+-----------+----------+-----------+--------------+-------------------+---------------------+ +| Iteration | Passes | Step size | Elapsed Time | Training Accuracy | Validation Accuracy | ++-----------+----------+-----------+--------------+-------------------+---------------------+ +| 0 | 2 | 1.000000 | 1.156349 | 0.889680 | 0.790036 | +| 1 | 4 | 1.000000 | 1.359196 | 0.985952 | 0.918149 | +| 2 | 6 | 0.820091 | 1.557205 | 0.990260 | 0.914591 | +| 3 | 7 | 1.000000 | 1.684872 | 0.998689 | 0.925267 | +| 4 | 8 | 1.000000 | 1.814194 | 0.999063 | 0.925267 | +| 9 | 14 | 1.000000 | 2.507072 | 1.000000 | 0.911032 | ++-----------+----------+-----------+--------------+-------------------+---------------------+ +
+ +

Testing the Model

est_predictions = model.predict(test) +accuracy = tc.evaluation.accuracy(test['label'], test_predictions) +print(f'Topic classifier model has a testing accuracy of {accuracy*100}% ', flush=True) +
+ +
Topic classifier model has a testing accuracy of 92.3076923076923% +
+ +

We have just created our own Fake News Detection Model which has an accuracy of 92%!

example_text = {"title": ["Middling ‘Rise Of Skywalker’ Review Leaves Fan On Fence About Whether To Threaten To Kill Critic"], "text": ["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."]} +example_prediction = model.classify(tc.SFrame(example_text)) +print(example_prediction, flush=True) +
+ +
+-------+--------------------+ +| class | probability | ++-------+--------------------+ +| FAKE | 0.9245648658345308 | ++-------+--------------------+ +[1 rows x 2 columns] +
+ +

Exporting the Model

model_name = 'FakeNews' +coreml_model_name = model_name + '.mlmodel' +exportedModel = model.export_coreml(coreml_model_name) +
+ +

Note: To download files from Google Volab, simply click on the files section in the sidebar, right click on filename and then click on downlaod

Link to Colab Notebook

Building the App using SwiftUI

Initial Setup

First we create a single view app (make sure you check the use SwiftUI button)

Then we copy our .mlmodel file to our project (Just drag and drop the file in the XCode Files Sidebar)

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 regatd of grammar or order, but noting multiplicity

We define our bag of words function

func bow(text: String) -> [String: Double] { + var bagOfWords = [String: Double]() + + let tagger = NSLinguisticTagger(tagSchemes: [.tokenType], options: 0) + let range = NSRange(location: 0, length: text.utf16.count) + let options: NSLinguisticTagger.Options = [.omitPunctuation, .omitWhitespace] + tagger.string = text + + tagger.enumerateTags(in: range, unit: .word, scheme: .tokenType, options: options) { _, tokenRange, _ in + let word = (text as NSString).substring(with: tokenRange) + if bagOfWords[word] != nil { + bagOfWords[word]! += 1 + } else { + bagOfWords[word] = 1 + } + } + + return bagOfWords + } +
+ +

We also declare our variables

@State private var title: String = "" +@State private var headline: String = "" +@State private var alertTitle = "" +@State private var alertText = "" +@State private var showingAlert = false +
+ +

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

Complete Code

import SwiftUI + +struct ContentView: View { + @State private var title: String = "" + @State private var headline: String = "" + + @State private var alertTitle = "" + @State private var alertText = "" + @State private var showingAlert = false + + var body: some View { + NavigationView { + VStack(alignment: .leading) { + Text("Headline").font(.headline) + TextField("Please Enter Headline", text: $title) + .lineLimit(nil) + Text("Body").font(.headline) + TextField("Please Enter the content", text: $headline) + .lineLimit(nil) + } + .navigationBarTitle("Fake News Checker") + .navigationBarItems(trailing: + Button(action: classifyFakeNews) { + Text("Check") + }) + .padding() + .alert(isPresented: $showingAlert){ + Alert(title: Text(alertTitle), message: Text(alertText), dismissButton: .default(Text("OK"))) + } + } + + } + + func classifyFakeNews(){ + let model = FakeNews() + let myTitle = bow(text: title) + let myText = bow(text: headline) + do { + let prediction = try model.prediction(title: myTitle, text: myText) + alertTitle = prediction.label + alertText = "It is likely that this piece of news is \(prediction.label.lowercased())." + print(alertText) + } catch { + alertTitle = "Error" + alertText = "Sorry, could not classify if the input news was fake or not." + } + + showingAlert = true + } + func bow(text: String) -> [String: Double] { + var bagOfWords = [String: Double]() + + let tagger = NSLinguisticTagger(tagSchemes: [.tokenType], options: 0) + let range = NSRange(location: 0, length: text.utf16.count) + let options: NSLinguisticTagger.Options = [.omitPunctuation, .omitWhitespace] + tagger.string = text + + tagger.enumerateTags(in: range, unit: .word, scheme: .tokenType, options: options) { _, tokenRange, _ in + let word = (text as NSString).substring(with: tokenRange) + if bagOfWords[word] != nil { + bagOfWords[word]! += 1 + } else { + bagOfWords[word] = 1 + } + } + + return bagOfWords + } +} + +struct ContentView_Previews: PreviewProvider { + static var previews: some View { + ContentView() + } +} +
+ +
Tagged with:
\ 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 index b1feb90..a29cd6c 100644 --- a/posts/2019-12-22-Fake-News-Detector/index.html +++ b/posts/2019-12-22-Fake-News-Detector/index.html @@ -1,4 +1,4 @@ -Building a Fake News Detector with Turicreate | Navan Chauhan
🕑 6 minute read.

Building a Fake News Detector with Turicreate

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

Note: These commands are written as if you are running a jupyter notebook.

Building the Machine Learning Model

Data Gathering

To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and wheter 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

Dependencies

I used a Google Colab instance for training my model. If you also plan on using Google Colab then I reccomend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreat is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.

!pip install turicreate +Building a Fake News Detector with Turicreate | Navan Chauhan
🕑 6 minute read.

Building a Fake News Detector with Turicreate

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

Note: These commands are written as if you are running a jupyter notebook.

Building the Machine Learning Model

Data Gathering

To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and wheter 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

Dependencies

I used a Google Colab instance for training my model. If you also plan on using Google Colab then I reccomend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreat is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.

!pip install turicreate !pip uninstall -y mxnet !pip install mxnet-cu100==1.4.0.post0
@@ -170,4 +170,4 @@ }
-
Tagged with:
\ No newline at end of file +
Tagged with:
\ 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 index b64d37d..6b595e9 100644 --- a/posts/2020-01-14-Converting-between-PIL-NumPy/index.html +++ b/posts/2020-01-14-Converting-between-PIL-NumPy/index.html @@ -1,4 +1,4 @@ -Converting between image and NumPy array | Navan Chauhan
🕑 0 minute read.

Converting between image and NumPy array

import numpy +Converting between image and NumPy array | Navan Chauhan
🕑 0 minute read.

Converting between image and NumPy array

import numpy import PIL # Convert PIL Image to NumPy array @@ -16,4 +16,4 @@ img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)
-
Tagged with:
\ No newline at end of file +
Tagged with:
\ No newline at end of file diff --git a/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index 2.html b/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index 2.html new file mode 100644 index 0000000..ab122f4 --- /dev/null +++ b/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index 2.html @@ -0,0 +1,9 @@ +Setting up Kaggle to use with Google Colab | Navan Chauhan
🕑 1 minute read.

Setting up Kaggle to use with Google Colab

In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)

Grabbing Our Tokens

Go to Kaggle

Click on your User Profile and Click on My Account

Scroll Down untill you see Create New API Token

This will download your token as a JSON file

Copy the File to the root folder of your Google Drive

Setting up Colab

Mounting Google Drive

import os +from google.colab import drive +drive.mount('/content/drive') +
+ +

After this click on the URL in the output section, login and then paste the Auth Code

Configuring Kaggle

os.environ['KAGGLE_CONFIG_DIR'] = "/content/drive/My Drive/" +
+ +

Voila! You can now download kaggel datasets

Tagged with:
\ 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 index 73de24f..ab122f4 100644 --- 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 @@ -1,4 +1,4 @@ -Setting up Kaggle to use with Google Colab | Navan Chauhan
🕑 1 minute read.

Setting up Kaggle to use with Google Colab

In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)

Grabbing Our Tokens

Go to Kaggle

Click on your User Profile and Click on My Account

Scroll Down untill you see Create New API Token

This will download your token as a JSON file

Copy the File to the root folder of your Google Drive

Setting up Colab

Mounting Google Drive

import os +Setting up Kaggle to use with Google Colab | Navan Chauhan
🕑 1 minute read.

Setting up Kaggle to use with Google Colab

In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)

Grabbing Our Tokens

Go to Kaggle

Click on your User Profile and Click on My Account

Scroll Down untill you see Create New API Token

This will download your token as a JSON file

Copy the File to the root folder of your Google Drive

Setting up Colab

Mounting Google Drive

import os from google.colab import drive drive.mount('/content/drive')
@@ -6,4 +6,4 @@

After this click on the URL in the output section, login and then paste the Auth Code

Configuring Kaggle

os.environ['KAGGLE_CONFIG_DIR'] = "/content/drive/My Drive/"
-

Voila! You can now download kaggel datasets

Tagged with:
\ No newline at end of file +

Voila! You can now download kaggel datasets

Tagged with:
\ 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 index 8aeb7e0..3a8bc33 100644 --- a/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html +++ b/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html @@ -1,4 +1,4 @@ -Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan
🕑 6 minute read.

Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire

For setting up Kaggle with Google Colab, please refer to my previous post

Dataset

Mounting Google Drive

import os +Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan
🕑 6 minute read.

Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire

For setting up Kaggle with Google Colab, please refer to my previous post

Dataset

Mounting Google Drive

import os from google.colab import drive drive.mount('/content/drive')
@@ -210,4 +210,4 @@ 0.9316455696202531
-

We just got an accuracy of 94% on Training Data and 97% on Validation Data!

Tagged with:
\ No newline at end of file +

We just got an accuracy of 94% on Training Data and 97% on Validation Data!

Tagged with:
\ No newline at end of file diff --git a/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index 2.html b/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index 2.html new file mode 100644 index 0000000..4f56a6d --- /dev/null +++ b/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index 2.html @@ -0,0 +1 @@ +How to setup Bluetooth on a Raspberry Pi | Navan Chauhan
🕑 0 minute read.

How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

Tagged with:
\ 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 index 66d037e..4f56a6d 100644 --- 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 @@ -1 +1 @@ -How to setup Bluetooth on a Raspberry Pi | Navan Chauhan
🕑 0 minute read.

How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

Tagged with:
\ No newline at end of file +How to setup Bluetooth on a Raspberry Pi | Navan Chauhan
🕑 0 minute read.

How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

Tagged with:
\ No newline at end of file diff --git a/posts/2020-01-24-experiments/index.html b/posts/2020-01-24-experiments/index.html new file mode 100644 index 0000000..38e66ad --- /dev/null +++ b/posts/2020-01-24-experiments/index.html @@ -0,0 +1 @@ +Experiments | Navan Chauhan
🕑 0 minute read.

Experiments

https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-original.jpg

Tagged with:
\ No newline at end of file diff --git a/posts/hello-world/index 2.html b/posts/hello-world/index 2.html new file mode 100644 index 0000000..e819ba1 --- /dev/null +++ b/posts/hello-world/index 2.html @@ -0,0 +1 @@ +Hello World | Navan Chauhan
🕑 0 minute read.

Hello World

Why a Hello World post?

Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)

Tagged with:
\ No newline at end of file diff --git a/posts/hello-world/index.html b/posts/hello-world/index.html index 970e618..e819ba1 100644 --- a/posts/hello-world/index.html +++ b/posts/hello-world/index.html @@ -1 +1 @@ -Hello World | Navan Chauhan
🕑 0 minute read.

Hello World

Why a Hello World post?

Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)

Tagged with:
\ No newline at end of file +Hello World | Navan Chauhan
🕑 0 minute read.

Hello World

Why a Hello World post?

Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)

Tagged with:
\ No newline at end of file diff --git a/posts/index 2.html b/posts/index 2.html new file mode 100644 index 0000000..9ac470f --- /dev/null +++ b/posts/index 2.html @@ -0,0 +1 @@ +Posts | Navan Chauhan

Posts

Tips, tricks and tutorials which I think might be useful.

\ No newline at end of file diff --git a/posts/index.html b/posts/index.html index 2d6f69e..9ac470f 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1 +1 @@ -Posts | Navan Chauhan

Posts

Tips, tricks and tutorials which I think might be useful.

\ No newline at end of file +Posts | Navan Chauhan

Posts

Tips, tricks and tutorials which I think might be useful.

\ 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 2.html b/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index 2.html new file mode 100644 index 0000000..aa29830 --- /dev/null +++ b/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Response/index 2.html @@ -0,0 +1,7 @@ +Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response | Navan Chauhan
🕑 1 minute read.

Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response

Based on the project showcased at Toyota Hackathon, IITD - 17/18th December 2018

Download paper here

Recommended citation:

ATP

Chauhan, N. (2019). &quot;Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.&quot; <i>International Research Journal of Engineering and Technology (IRJET), 6(5)</i>. +
+ +

BibTeX

@article{chauhan_2019, title={Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response}, volume={6}, url={https://www.irjet.net/archives/V6/i5/IRJET-V6I5318.pdf}, number={5}, journal={International Research Journal of Engineering and Technology (IRJET)}, author={Chauhan, Navan}, year={2019}} +
+ +
Tagged with:
\ 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 index 8eb8c94..aa29830 100644 --- 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 @@ -1,7 +1,7 @@ -Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response | Navan Chauhan
🕑 1 minute read.

Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response

Based on the project showcased at Toyota Hackathon, IITD - 17/18th December 2018

Download paper here

Recommended citation:

ATP

Chauhan, N. (2019). &quot;Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.&quot; <i>International Research Journal of Engineering and Technology (IRJET), 6(5)</i>. +Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response | Navan Chauhan
🕑 1 minute read.

Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response

Based on the project showcased at Toyota Hackathon, IITD - 17/18th December 2018

Download paper here

Recommended citation:

ATP

Chauhan, N. (2019). &quot;Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response.&quot; <i>International Research Journal of Engineering and Technology (IRJET), 6(5)</i>.

BibTeX

@article{chauhan_2019, title={Detecting Driver Fatigue, Over-Speeding, and Speeding up Post-Accident Response}, volume={6}, url={https://www.irjet.net/archives/V6/i5/IRJET-V6I5318.pdf}, number={5}, journal={International Research Journal of Engineering and Technology (IRJET)}, author={Chauhan, Navan}, year={2019}}
-
Tagged with:
\ No newline at end of file +
Tagged with:
\ No newline at end of file diff --git a/publications/index.html b/publications/index.html index 2c7b6e6..3949978 100644 --- a/publications/index.html +++ b/publications/index.html @@ -1 +1 @@ -Publications | Navan Chauhan

Publications

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 ;)

\ No newline at end of file +Publications | Navan Chauhan

Publications

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 ;)

\ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 74258f6..47b00d9 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://navanchauhan.github.io/aboutdaily1.02020-01-14https://navanchauhan.github.io/postsdaily1.02020-01-19https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflowmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zipsmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Predictionmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regressionmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detectormonthly0.52020-01-18https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPymonthly0.52020-01-18https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colabmonthly0.52020-01-19https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreatemonthly0.52020-01-19https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminalmonthly0.52020-01-20https://navanchauhan.github.io/posts/hello-worldmonthly0.52020-01-04https://navanchauhan.github.io/publicationsdaily1.02020-01-14https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Responsemonthly0.52020-01-04https://navanchauhan.github.io/tutorials/indexmonthly0.52020-01-18 \ No newline at end of file +https://navanchauhan.github.io/aboutdaily1.02020-01-29https://navanchauhan.github.io/postsdaily1.02020-01-24https://navanchauhan.github.io/posts/2019-12-08-Image-Classifier-Tensorflowmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-08-Splitting-Zipsmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-10-TensorFlow-Model-Predictionmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-16-TensorFlow-Polynomial-Regressionmonthly0.52020-01-18https://navanchauhan.github.io/posts/2019-12-22-Fake-News-Detectormonthly0.52020-01-18https://navanchauhan.github.io/posts/2020-01-14-Converting-between-PIL-NumPymonthly0.52020-01-18https://navanchauhan.github.io/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colabmonthly0.52020-01-19https://navanchauhan.github.io/posts/2020-01-16-Image-Classifier-Using-Turicreatemonthly0.52020-01-19https://navanchauhan.github.io/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminalmonthly0.52020-01-20https://navanchauhan.github.io/posts/2020-01-24-experimentsmonthly0.52020-01-29https://navanchauhan.github.io/posts/hello-worldmonthly0.52020-01-04https://navanchauhan.github.io/publicationsdaily1.02020-01-14https://navanchauhan.github.io/publications/2019-05-14-Detecting-Driver-Fatigue-Over-Speeding-and-Speeding-up-Post-Accident-Responsemonthly0.52020-01-04https://navanchauhan.github.io/tutorials/indexmonthly0.52020-01-18 \ No newline at end of file diff --git a/tags/article/index 2.html b/tags/article/index 2.html new file mode 100644 index 0000000..115b617 --- /dev/null +++ b/tags/article/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with article

Browse all tags
\ No newline at end of file diff --git a/tags/article/index 3.html b/tags/article/index 3.html new file mode 100644 index 0000000..115b617 --- /dev/null +++ b/tags/article/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with article

Browse all tags
\ No newline at end of file diff --git a/tags/article/index.html b/tags/article/index.html index ac2eb18..115b617 100644 --- a/tags/article/index.html +++ b/tags/article/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with article

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with article

Browse all tags
\ No newline at end of file diff --git a/tags/codesnippet/index 2.html b/tags/codesnippet/index 2.html new file mode 100644 index 0000000..d47dff5 --- /dev/null +++ b/tags/codesnippet/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with code-snippet

Browse all tags
\ No newline at end of file diff --git a/tags/codesnippet/index 3.html b/tags/codesnippet/index 3.html new file mode 100644 index 0000000..d47dff5 --- /dev/null +++ b/tags/codesnippet/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with code-snippet

Browse all tags
\ No newline at end of file diff --git a/tags/codesnippet/index.html b/tags/codesnippet/index.html index 5d6d891..d47dff5 100644 --- a/tags/codesnippet/index.html +++ b/tags/codesnippet/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with code-snippet

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with code-snippet

Browse all tags
\ No newline at end of file diff --git a/tags/colab/index 2.html b/tags/colab/index 2.html new file mode 100644 index 0000000..f2fcaed --- /dev/null +++ b/tags/colab/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with colab

Browse all tags
\ No newline at end of file diff --git a/tags/colab/index 3.html b/tags/colab/index 3.html new file mode 100644 index 0000000..f2fcaed --- /dev/null +++ b/tags/colab/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with colab

Browse all tags
\ No newline at end of file diff --git a/tags/colab/index.html b/tags/colab/index.html index e2ed804..f2fcaed 100644 --- a/tags/colab/index.html +++ b/tags/colab/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with colab

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with colab

Browse all tags
\ No newline at end of file diff --git a/tags/experiment/index 2.html b/tags/experiment/index 2.html new file mode 100644 index 0000000..8522460 --- /dev/null +++ b/tags/experiment/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with experiment

Browse all tags
\ No newline at end of file diff --git a/tags/experiment/index 3.html b/tags/experiment/index 3.html new file mode 100644 index 0000000..8522460 --- /dev/null +++ b/tags/experiment/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with experiment

Browse all tags
\ No newline at end of file diff --git a/tags/experiment/index 4.html b/tags/experiment/index 4.html new file mode 100644 index 0000000..8522460 --- /dev/null +++ b/tags/experiment/index 4.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with experiment

Browse all tags
\ No newline at end of file diff --git a/tags/experiment/index.html b/tags/experiment/index.html new file mode 100644 index 0000000..8522460 --- /dev/null +++ b/tags/experiment/index.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with experiment

Browse all tags
\ No newline at end of file diff --git a/tags/helloworld/index 2.html b/tags/helloworld/index 2.html new file mode 100644 index 0000000..1d38cef --- /dev/null +++ b/tags/helloworld/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with hello-world

Browse all tags
\ No newline at end of file diff --git a/tags/helloworld/index 3.html b/tags/helloworld/index 3.html new file mode 100644 index 0000000..1d38cef --- /dev/null +++ b/tags/helloworld/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with hello-world

Browse all tags
\ No newline at end of file diff --git a/tags/helloworld/index.html b/tags/helloworld/index.html index e7d2889..1d38cef 100644 --- a/tags/helloworld/index.html +++ b/tags/helloworld/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with hello-world

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with hello-world

Browse all tags
\ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 47f8bdb..bb64c6f 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1 +1 @@ -Navan Chauhan
\ No newline at end of file +Navan Chauhan
\ No newline at end of file diff --git a/tags/kaggle/index 2.html b/tags/kaggle/index 2.html new file mode 100644 index 0000000..ac37b96 --- /dev/null +++ b/tags/kaggle/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with kaggle

Browse all tags
\ No newline at end of file diff --git a/tags/kaggle/index.html b/tags/kaggle/index.html index 02a7baa..ac37b96 100644 --- a/tags/kaggle/index.html +++ b/tags/kaggle/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with kaggle

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with kaggle

Browse all tags
\ No newline at end of file diff --git a/tags/linux/index 2.html b/tags/linux/index 2.html new file mode 100644 index 0000000..69572e7 --- /dev/null +++ b/tags/linux/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with linux

Browse all tags
\ No newline at end of file diff --git a/tags/linux/index 3.html b/tags/linux/index 3.html new file mode 100644 index 0000000..69572e7 --- /dev/null +++ b/tags/linux/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with linux

Browse all tags
\ No newline at end of file diff --git a/tags/linux/index 4.html b/tags/linux/index 4.html new file mode 100644 index 0000000..69572e7 --- /dev/null +++ b/tags/linux/index 4.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with linux

Browse all tags
\ No newline at end of file diff --git a/tags/linux/index.html b/tags/linux/index.html index b62275f..69572e7 100644 --- a/tags/linux/index.html +++ b/tags/linux/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with linux

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with linux

Browse all tags
\ No newline at end of file diff --git a/tags/publication/index 2.html b/tags/publication/index 2.html new file mode 100644 index 0000000..22f4c9f --- /dev/null +++ b/tags/publication/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with publication

Browse all tags
\ No newline at end of file diff --git a/tags/publication/index.html b/tags/publication/index.html index 17847dd..22f4c9f 100644 --- a/tags/publication/index.html +++ b/tags/publication/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with publication

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with publication

Browse all tags
\ No newline at end of file diff --git a/tags/raspberrypi/index 2.html b/tags/raspberrypi/index 2.html new file mode 100644 index 0000000..05ac496 --- /dev/null +++ b/tags/raspberrypi/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with raspberry-pi

Browse all tags
\ No newline at end of file diff --git a/tags/raspberrypi/index 3.html b/tags/raspberrypi/index 3.html new file mode 100644 index 0000000..05ac496 --- /dev/null +++ b/tags/raspberrypi/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with raspberry-pi

Browse all tags
\ No newline at end of file diff --git a/tags/raspberrypi/index.html b/tags/raspberrypi/index.html index 6b1ce63..05ac496 100644 --- a/tags/raspberrypi/index.html +++ b/tags/raspberrypi/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with raspberry-pi

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with raspberry-pi

Browse all tags
\ No newline at end of file diff --git a/tags/swiftui/index 2.html b/tags/swiftui/index 2.html new file mode 100644 index 0000000..ae2aae9 --- /dev/null +++ b/tags/swiftui/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with swiftUI

Browse all tags
\ No newline at end of file diff --git a/tags/swiftui/index 3.html b/tags/swiftui/index 3.html new file mode 100644 index 0000000..ae2aae9 --- /dev/null +++ b/tags/swiftui/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with swiftUI

Browse all tags
\ No newline at end of file diff --git a/tags/swiftui/index.html b/tags/swiftui/index.html index 5ad859c..ae2aae9 100644 --- a/tags/swiftui/index.html +++ b/tags/swiftui/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with swiftUI

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with swiftUI

Browse all tags
\ No newline at end of file diff --git a/tags/tensorflow/index 2.html b/tags/tensorflow/index 2.html new file mode 100644 index 0000000..aea07cc --- /dev/null +++ b/tags/tensorflow/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with tensorflow

Browse all tags
\ No newline at end of file diff --git a/tags/tensorflow/index 3.html b/tags/tensorflow/index 3.html new file mode 100644 index 0000000..aea07cc --- /dev/null +++ b/tags/tensorflow/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with tensorflow

Browse all tags
\ No newline at end of file diff --git a/tags/tensorflow/index.html b/tags/tensorflow/index.html index 875d184..aea07cc 100644 --- a/tags/tensorflow/index.html +++ b/tags/tensorflow/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with tensorflow

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with tensorflow

Browse all tags
\ No newline at end of file diff --git a/tags/turicreate/index 2.html b/tags/turicreate/index 2.html new file mode 100644 index 0000000..d47d2a9 --- /dev/null +++ b/tags/turicreate/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with turicreate

Browse all tags
\ No newline at end of file diff --git a/tags/turicreate/index 3.html b/tags/turicreate/index 3.html new file mode 100644 index 0000000..d47d2a9 --- /dev/null +++ b/tags/turicreate/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with turicreate

Browse all tags
\ No newline at end of file diff --git a/tags/turicreate/index.html b/tags/turicreate/index.html index db64873..d47d2a9 100644 --- a/tags/turicreate/index.html +++ b/tags/turicreate/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with turicreate

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with turicreate

Browse all tags
\ No newline at end of file diff --git a/tags/tutorial/index 2.html b/tags/tutorial/index 2.html new file mode 100644 index 0000000..e7c310a --- /dev/null +++ b/tags/tutorial/index 2.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with tutorial

Browse all tags
\ No newline at end of file diff --git a/tags/tutorial/index 3.html b/tags/tutorial/index 3.html new file mode 100644 index 0000000..e7c310a --- /dev/null +++ b/tags/tutorial/index 3.html @@ -0,0 +1 @@ +Navan Chauhan

Tagged with tutorial

Browse all tags
\ No newline at end of file diff --git a/tags/tutorial/index.html b/tags/tutorial/index.html index 4732ede..e7c310a 100644 --- a/tags/tutorial/index.html +++ b/tags/tutorial/index.html @@ -1 +1 @@ -Navan Chauhan

Tagged with tutorial

Browse all tags
\ No newline at end of file +Navan Chauhan

Tagged with tutorial

Browse all tags
\ No newline at end of file diff --git a/tutorials/index/index 2.html b/tutorials/index/index 2.html new file mode 100644 index 0000000..3060536 --- /dev/null +++ b/tutorials/index/index 2.html @@ -0,0 +1 @@ +Tutorials | Navan Chauhan
\ No newline at end of file diff --git a/tutorials/index/index 3.html b/tutorials/index/index 3.html new file mode 100644 index 0000000..3060536 --- /dev/null +++ b/tutorials/index/index 3.html @@ -0,0 +1 @@ +Tutorials | Navan Chauhan
\ No newline at end of file diff --git a/tutorials/index/index.html b/tutorials/index/index.html index be89f74..3060536 100644 --- a/tutorials/index/index.html +++ b/tutorials/index/index.html @@ -1 +1 @@ -Tutorials | Navan Chauhan
\ No newline at end of file +Tutorials | Navan Chauhan
\ No newline at end of file -- cgit v1.2.3