CINXE.COM

Using RAPIDS with PyTorch - Open Data Science - Your News Source for AI, Machine Learning & more

<!DOCTYPE html> <!--[if lt IE 7]> <html lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" class="no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" class="no-js"> <!--<![endif]--> <!-- BEGIN head --> <head> <!-- Title --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-M62L34N');</script> <!-- End Google Tag Manager --> <!-- Meta tags --> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="facebook-domain-verification" content="mq2z5ejvx3hxmh1wsy4dgvxk6tcl1f" /> <link rel="pingback" href="https://opendatascience.com/xmlrpc.php" /> <link rel="shortcut icon" href="https://opendatascience.com/wp-content/uploads/goliath/favicon1.ico" /> <!-- if page is content page --> <meta property="og:url" content="https://opendatascience.com/using-rapids-with-pytorch/"/> <meta property="og:title" content="Using RAPIDS with PyTorch" /> <meta property="og:description" content="In this post we take a look at how to use&nbsp;cuDF, the RAPIDS dataframe library, to do some of the preprocessing steps required to get the mortgage data in a format that PyTorch can process so that we can explore the performance of deep learning on tabular data and compare..." /> <meta property="og:type" content="article" /> <meta property="og:image" content="https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA-640x300.jpeg" /> <!-- if page is others --> <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js"></script> <![endif]--> <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script> <meta name='robots' content='noindex, nofollow' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <script data-no-defer="1" data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer data-cookieconsent="ignore"> var ctPublicFunctions = {"_ajax_nonce":"bcb44c06b9","_rest_nonce":"2ce075b642","_ajax_url":"\/wp-admin\/admin-ajax.php","_rest_url":"https:\/\/opendatascience.com\/wp-json\/","data__cookies_type":"native","data__ajax_type":"rest","data__bot_detector_enabled":0,"data__frontend_data_log_enabled":1,"text__wait_for_decoding":"Decoding the contact data, let us a few seconds to finish. Anti-Spam by CleanTalk","cookiePrefix":"","wprocket_detected":false,"host_url":"opendatascience.com"} </script> <script data-no-defer="1" data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer data-cookieconsent="ignore"> var ctPublic = {"_ajax_nonce":"bcb44c06b9","settings__forms__check_internal":"0","settings__forms__check_external":"0","settings__forms__force_protection":0,"settings__forms__search_test":"1","settings__data__bot_detector_enabled":0,"settings__comments__form_decoration":0,"settings__sfw__anti_crawler":0,"blog_home":"https:\/\/opendatascience.com\/","pixel__setting":"0","pixel__enabled":false,"pixel__url":null,"data__email_check_before_post":"1","data__email_check_exist_post":0,"data__cookies_type":"native","data__key_is_ok":true,"data__visible_fields_required":true,"wl_brandname":"Anti-Spam by CleanTalk","wl_brandname_short":"CleanTalk","ct_checkjs_key":"14ab67279a7be2394dae085d25b8491ccda96a2b7c3e46793e26326e802e74fa","emailEncoderPassKey":"5dec7c51fcd76545858cdb9122cde2d5","bot_detector_forms_excluded":"W10=","advancedCacheExists":false,"varnishCacheExists":false,"wc_ajax_add_to_cart":true} </script> <!-- This site is optimized with the Yoast SEO Premium plugin v23.3 (Yoast SEO v24.3) - https://yoast.com/wordpress/plugins/seo/ --> <title>Using RAPIDS with PyTorch - Open Data Science - Your News Source for AI, Machine Learning &amp; more</title> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Using RAPIDS with PyTorch" /> <meta property="og:description" content="In this post we take a look at how to use cuDF, the RAPIDS dataframe library, to do some of the preprocessing steps required to get the mortgage data in a format that PyTorch can process so that we can explore the performance of deep learning on tabular data and compare..." /> <meta property="og:url" content="https://opendatascience.com/using-rapids-with-pytorch/" /> <meta property="og:site_name" content="Open Data Science - Your News Source for AI, Machine Learning &amp; more" /> <meta property="article:publisher" content="https://www.facebook.com/OPENDATASCI/" /> <meta property="article:published_time" content="2019-06-19T14:51:28+00:00" /> <meta property="article:modified_time" content="2019-06-21T15:51:36+00:00" /> <meta property="og:image" content="https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA.jpeg" /> <meta property="og:image:width" content="800" /> <meta property="og:image:height" content="400" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="author" content="RAPIDS" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@odsc" /> <meta name="twitter:site" content="@odsc" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="RAPIDS" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="9 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://opendatascience.com/using-rapids-with-pytorch/#article","isPartOf":{"@id":"https://opendatascience.com/using-rapids-with-pytorch/"},"author":{"name":"RAPIDS","@id":"https://opendatascience.com/#/schema/person/9fcb74925bc4f4ed6ae9665e1dd73a11"},"headline":"Using RAPIDS with PyTorch","datePublished":"2019-06-19T14:51:28+00:00","dateModified":"2019-06-21T15:51:36+00:00","mainEntityOfPage":{"@id":"https://opendatascience.com/using-rapids-with-pytorch/"},"wordCount":1809,"publisher":{"@id":"https://opendatascience.com/#organization"},"image":{"@id":"https://opendatascience.com/using-rapids-with-pytorch/#primaryimage"},"thumbnailUrl":"https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA.jpeg","keywords":["Deep Learning","Machine Learning","rapids"],"articleSection":["Deep Learning","Machine Learning","Modeling","Tools &amp; Languages"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https://opendatascience.com/using-rapids-with-pytorch/","url":"https://opendatascience.com/using-rapids-with-pytorch/","name":"Using RAPIDS with PyTorch - Open Data Science - Your News Source for AI, Machine Learning &amp; more","isPartOf":{"@id":"https://opendatascience.com/#website"},"primaryImageOfPage":{"@id":"https://opendatascience.com/using-rapids-with-pytorch/#primaryimage"},"image":{"@id":"https://opendatascience.com/using-rapids-with-pytorch/#primaryimage"},"thumbnailUrl":"https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA.jpeg","datePublished":"2019-06-19T14:51:28+00:00","dateModified":"2019-06-21T15:51:36+00:00","breadcrumb":{"@id":"https://opendatascience.com/using-rapids-with-pytorch/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://opendatascience.com/using-rapids-with-pytorch/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://opendatascience.com/using-rapids-with-pytorch/#primaryimage","url":"https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA.jpeg","contentUrl":"https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA.jpeg","width":800,"height":400},{"@type":"BreadcrumbList","@id":"https://opendatascience.com/using-rapids-with-pytorch/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://opendatascience.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://opendatascience.com/blog/"},{"@type":"ListItem","position":3,"name":"Using RAPIDS with PyTorch"}]},{"@type":"WebSite","@id":"https://opendatascience.com/#website","url":"https://opendatascience.com/","name":"Open Data Science - Your News Source for AI, Machine Learning &amp; more","description":"","publisher":{"@id":"https://opendatascience.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://opendatascience.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://opendatascience.com/#organization","name":"Open Data Science - Your News Source for AI, Machine Learning & more","url":"https://opendatascience.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://opendatascience.com/#/schema/logo/image/","url":"https://opendatascience.com/wp-content/uploads/2018/04/highresodsclogo.png","contentUrl":"https://opendatascience.com/wp-content/uploads/2018/04/highresodsclogo.png","width":385,"height":101,"caption":"Open Data Science - Your News Source for AI, Machine Learning & more"},"image":{"@id":"https://opendatascience.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/OPENDATASCI/","https://x.com/odsc"]},{"@type":"Person","@id":"https://opendatascience.com/#/schema/person/9fcb74925bc4f4ed6ae9665e1dd73a11","name":"RAPIDS","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://opendatascience.com/#/schema/person/image/","url":"https://opendatascience.com/wp-content/uploads/2019/06/RAPIDS-logo-square-114x114.png","contentUrl":"https://opendatascience.com/wp-content/uploads/2019/06/RAPIDS-logo-square-114x114.png","caption":"RAPIDS"}}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel='dns-prefetch' href='//s7.addthis.com' /> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <script type="text/javascript" id="wpp-js" src="https://opendatascience.com/wp-content/plugins/wordpress-popular-posts/assets/js/wpp.min.js?ver=7.2.0" data-sampling="0" data-sampling-rate="100" data-api-url="https://opendatascience.com/wp-json/wordpress-popular-posts" data-post-id="27073" data-token="2ce075b642" data-lang="0" data-debug="0"></script> <!-- This site uses the Google Analytics by MonsterInsights plugin v9.2.4 - Using Analytics tracking - https://www.monsterinsights.com/ --> <script src="//www.googletagmanager.com/gtag/js?id=G-WQFN07TN9T" data-cfasync="false" data-wpfc-render="false" type="text/javascript" async></script> <script data-cfasync="false" data-wpfc-render="false" type="text/javascript"> var mi_version = '9.2.4'; var mi_track_user = true; var mi_no_track_reason = ''; var MonsterInsightsDefaultLocations = {"page_location":"https:\/\/opendatascience.com\/using-rapids-with-pytorch\/"}; if ( typeof MonsterInsightsPrivacyGuardFilter === 'function' ) { var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsPrivacyGuardFilter( MonsterInsightsExcludeQuery ) : MonsterInsightsPrivacyGuardFilter( MonsterInsightsDefaultLocations ); } else { var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsExcludeQuery : MonsterInsightsDefaultLocations; } var disableStrs = [ 'ga-disable-G-WQFN07TN9T', ]; /* Function to detect opted out users */ function __gtagTrackerIsOptedOut() { for (var index = 0; index < disableStrs.length; index++) { if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) { return true; } } return false; } /* Disable tracking if the opt-out cookie exists. */ if (__gtagTrackerIsOptedOut()) { for (var index = 0; index < disableStrs.length; index++) { window[disableStrs[index]] = true; } } /* Opt-out function */ function __gtagTrackerOptout() { for (var index = 0; index < disableStrs.length; index++) { document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; window[disableStrs[index]] = true; } } if ('undefined' === typeof gaOptout) { function gaOptout() { __gtagTrackerOptout(); } } window.dataLayer = window.dataLayer || []; window.MonsterInsightsDualTracker = { helpers: {}, trackers: {}, }; if (mi_track_user) { function __gtagDataLayer() { dataLayer.push(arguments); } function __gtagTracker(type, name, parameters) { if (!parameters) { parameters = {}; } if (parameters.send_to) { __gtagDataLayer.apply(null, arguments); return; } if (type === 'event') { parameters.send_to = monsterinsights_frontend.v4_id; var hookName = name; if (typeof parameters['event_category'] !== 'undefined') { hookName = parameters['event_category'] + ':' + name; } if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') { MonsterInsightsDualTracker.trackers[hookName](parameters); } else { __gtagDataLayer('event', name, parameters); } } else { __gtagDataLayer.apply(null, arguments); } } __gtagTracker('js', new Date()); __gtagTracker('set', { 'developer_id.dZGIzZG': true, }); if ( MonsterInsightsLocations.page_location ) { __gtagTracker('set', MonsterInsightsLocations); } __gtagTracker('config', 'G-WQFN07TN9T', {"forceSSL":"true"} ); window.gtag = __gtagTracker; (function () { /* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */ /* ga and __gaTracker compatibility shim. */ var noopfn = function () { return null; }; var newtracker = function () { return new Tracker(); }; var Tracker = function () { return null; }; var p = Tracker.prototype; p.get = noopfn; p.set = noopfn; p.send = function () { var args = Array.prototype.slice.call(arguments); args.unshift('send'); __gaTracker.apply(null, args); }; var __gaTracker = function () { var len = arguments.length; if (len === 0) { return; } var f = arguments[len - 1]; if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') { if ('send' === arguments[0]) { var hitConverted, hitObject = false, action; if ('event' === arguments[1]) { if ('undefined' !== typeof arguments[3]) { hitObject = { 'eventAction': arguments[3], 'eventCategory': arguments[2], 'eventLabel': arguments[4], 'value': arguments[5] ? arguments[5] : 1, } } } if ('pageview' === arguments[1]) { if ('undefined' !== typeof arguments[2]) { hitObject = { 'eventAction': 'page_view', 'page_path': arguments[2], } } } if (typeof arguments[2] === 'object') { hitObject = arguments[2]; } if (typeof arguments[5] === 'object') { Object.assign(hitObject, arguments[5]); } if ('undefined' !== typeof arguments[1].hitType) { hitObject = arguments[1]; if ('pageview' === hitObject.hitType) { hitObject.eventAction = 'page_view'; } } if (hitObject) { action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction; hitConverted = mapArgs(hitObject); __gtagTracker('event', action, hitConverted); } } return; } function mapArgs(args) { var arg, hit = {}; var gaMap = { 'eventCategory': 'event_category', 'eventAction': 'event_action', 'eventLabel': 'event_label', 'eventValue': 'event_value', 'nonInteraction': 'non_interaction', 'timingCategory': 'event_category', 'timingVar': 'name', 'timingValue': 'value', 'timingLabel': 'event_label', 'page': 'page_path', 'location': 'page_location', 'title': 'page_title', 'referrer' : 'page_referrer', }; for (arg in args) { if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { hit[gaMap[arg]] = args[arg]; } else { hit[arg] = args[arg]; } } return hit; } try { f.hitCallback(); } catch (ex) { } }; __gaTracker.create = newtracker; __gaTracker.getByName = newtracker; __gaTracker.getAll = function () { return []; }; __gaTracker.remove = noopfn; __gaTracker.loaded = true; window['__gaTracker'] = __gaTracker; })(); } else { console.log(""); (function () { function __gtagTracker() { return null; } window['__gtagTracker'] = __gtagTracker; window['gtag'] = __gtagTracker; })(); } </script> <!-- / Google Analytics by MonsterInsights --> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/opendatascience.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='ai1ec_style-css' href='//opendatascience.com/wp-content/plugins/all-in-one-event-calendar/public/themes-ai1ec/vortex/css/ai1ec_parsed_css.css?ver=3.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='reusablec-block-css-css' href='https://opendatascience.com/wp-content/plugins/reusable-content-blocks/includes/css/reusablec-block.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-quicklatex-format-css' href='https://opendatascience.com/wp-content/plugins/wp-quicklatex/css/quicklatex-format.css?ver=6.7.1' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://opendatascience.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ct_public_css-css' href='https://opendatascience.com/wp-content/plugins/cleantalk-spam-protect/css/cleantalk-public.min.css?ver=6.49' type='text/css' media='all' /> <link rel='stylesheet' id='ct_email_decoder_css-css' href='https://opendatascience.com/wp-content/plugins/cleantalk-spam-protect/css/cleantalk-email-decoder.min.css?ver=6.49' type='text/css' media='all' /> <link rel='stylesheet' id='cm-frontend-css' href='https://opendatascience.com/wp-content/plugins/constellation//assets/css/frontend.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='cookie-notice-front-css' href='https://opendatascience.com/wp-content/plugins/cookie-notice/css/front.min.css?ver=2.5.5' type='text/css' media='all' /> <link rel='stylesheet' id='likebtn_style-css' href='https://opendatascience.com/wp-content/plugins/likebtn-like-button/public/css/style.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='usp_style-css' href='https://opendatascience.com/wp-content/plugins/user-submitted-posts/resources/usp.css?ver=20191110' type='text/css' media='all' /> <link rel='stylesheet' id='video_popup_close_icon-css' href='https://opendatascience.com/wp-content/plugins/video-popup/css/vp-close-icon/close-button-icon.css?ver=1739786092' type='text/css' media='all' /> <link rel='stylesheet' id='oba_youtubepopup_css-css' href='https://opendatascience.com/wp-content/plugins/video-popup/css/YouTubePopUp.css?ver=1739786092' type='text/css' media='all' /> <link rel='stylesheet' id='rss-retriever-css' href='https://opendatascience.com/wp-content/plugins/wp-rss-retriever/inc/css/rss-retriever.css?ver=1.6.5' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-frontend-css' href='https://opendatascience.com/wp-content/plugins/wp-user-avatar/assets/css/frontend.min.css?ver=4.15.21' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-flatpickr-css' href='https://opendatascience.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.css?ver=4.15.21' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-select2-css' href='https://opendatascience.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='crp-style-rounded-thumbs-css' href='https://opendatascience.com/wp-content/plugins/contextual-related-posts/css/rounded-thumbs.min.css?ver=3.6.2' type='text/css' media='all' /> <style id='crp-style-rounded-thumbs-inline-css' type='text/css'> .crp_related.crp-rounded-thumbs a { width: 150px; height: 150px; text-decoration: none; } .crp_related.crp-rounded-thumbs img { max-width: 150px; margin: auto; } .crp_related.crp-rounded-thumbs .crp_title { width: 100%; } </style> <link rel='stylesheet' id='audioigniter-css' href='https://opendatascience.com/wp-content/plugins/audioigniter/player/build/style.css?ver=2.0.1' type='text/css' media='all' /> <link rel='stylesheet' id='wordpress-popular-posts-css-css' href='https://opendatascience.com/wp-content/plugins/wordpress-popular-posts/assets/css/wpp.css?ver=7.2.0' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-bootstrap-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/bootstrap.min.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-font-awesome-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/font-awesome.min.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-main-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/main.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-tablet-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/tablet.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-phone-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/phone.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-woocommerce-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/woocommerce.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-bbpress-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/bbpress.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-wordpress_style-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/wordpress.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-sharrre-css' href='https://opendatascience.com/wp-content/themes/goliath/theme/assets/css/sharrre.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-style-css' href='https://opendatascience.com/wp-content/themes/goliath/style.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='plsh-google-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A400%2C700%2C900%7CLato%3A400%2C700%2C900&#038;subset=latin%2Clatin-ext' type='text/css' media='all' /> <link rel='stylesheet' id='mm-compiled-options-mobmenu-css' href='https://opendatascience.com/wp-content/uploads/dynamic-mobmenu.css?ver=2.8.7-184' type='text/css' media='all' /> <link rel='stylesheet' id='mm-google-webfont-dosis-css' href='//fonts.googleapis.com/css?family=Dosis%3Ainherit%2C400&#038;subset=latin%2Clatin-ext&#038;ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='mm-google-webfont-open-sans-css' href='//fonts.googleapis.com/css?family=Open+Sans%3Ainherit%2C400&#038;subset=latin%2Clatin-ext&#038;ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='addthis_all_pages-css' href='https://opendatascience.com/wp-content/plugins/addthis/frontend/build/addthis_wordpress_public.min.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='bsf-Defaults-css' href='https://opendatascience.com/wp-content/uploads/smile_fonts/Defaults/Defaults.css?ver=3.19.15' type='text/css' media='all' /> <link rel='stylesheet' id='um_fonticons_ii-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-fonticons-ii.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_fonticons_fa-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-fonticons-fa.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='select2-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/select2/select2.min.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_modal-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-modal.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_styles-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-styles.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_members-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-members.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_profile-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-profile.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_account-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-account.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_misc-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-misc.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_fileupload-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-fileupload.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_raty-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-raty.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_scrollbar-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-scrollbar.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_crop-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-crop.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_tipsy-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-tipsy.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_responsive-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-responsive.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='um_default_css-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/assets/css/um-old-default.css?ver=2.0.17' type='text/css' media='all' /> <link rel='stylesheet' id='um_old_css-css' href='https://opendatascience.com/wp-content/plugins/ultimate-member/../../uploads/ultimatemember/um_old_settings.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='cssmobmenu-icons-css' href='https://opendatascience.com/wp-content/plugins/mobile-menu/includes/css/mobmenu-icons.css?ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='cssmobmenu-css' href='https://opendatascience.com/wp-content/plugins/mobile-menu/includes/css/mobmenu.css?ver=2.8.7' type='text/css' media='all' /> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend-gtag.min.js?ver=9.2.4" id="monsterinsights-frontend-script-js" async="async" data-wp-strategy="async"></script> <script data-cfasync="false" data-wpfc-render="false" type="text/javascript" id='monsterinsights-frontend-script-js-extra'>/* <![CDATA[ */ var monsterinsights_frontend = {"js_events_tracking":"true","download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx","inbound_paths":"[]","home_url":"https:\/\/opendatascience.com","hash_tracking":"false","v4_id":"G-WQFN07TN9T"};/* ]]> */ </script> <script type="text/javascript" data-pagespeed-no-defer src="https://opendatascience.com/wp-content/plugins/cleantalk-spam-protect/js/apbct-public-bundle.min.js?ver=6.49" id="ct_public_functions-js"></script> <script type="text/javascript" id="cookie-notice-front-js-before"> /* <![CDATA[ */ var cnArgs = {"ajaxUrl":"https:\/\/opendatascience.com\/wp-admin\/admin-ajax.php","nonce":"63a07384bc","hideEffect":"fade","position":"bottom","onScroll":true,"onScrollOffset":100,"onClick":false,"cookieName":"cookie_notice_accepted","cookieTime":2592000,"cookieTimeRejected":2592000,"globalCookie":false,"redirection":false,"cache":false,"revokeCookies":true,"revokeCookiesOpt":"manual"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/cookie-notice/js/front.min.js?ver=2.5.5" id="cookie-notice-front-js"></script> <script type="text/javascript" id="likebtn_frontend-js-extra"> /* <![CDATA[ */ var likebtn_eh_data = {"ajaxurl":"https:\/\/opendatascience.com\/wp-admin\/admin-ajax.php","security":"1de888a160"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/likebtn-like-button/public/js/frontend.js?ver=6.7.1" id="likebtn_frontend-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/user-submitted-posts/resources/jquery.cookie.js?ver=20191110" id="usp_cookie-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/user-submitted-posts/resources/jquery.parsley.min.js?ver=20191110" id="usp_parsley-js"></script> <script type="text/javascript" id="usp_core-js-before"> /* <![CDATA[ */ var usp_custom_field = "usp_custom_field"; var usp_custom_checkbox = "usp_custom_checkbox"; var usp_case_sensitivity = "false"; var usp_challenge_response = "2"; var usp_min_images = 0; var usp_max_images = 1; var usp_parsley_error = "Incorrect response."; var usp_multiple_cats = 0; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/user-submitted-posts/resources/jquery.usp.core.js?ver=20191110" id="usp_core-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/video-popup/js/YouTubePopUp.jquery.js?ver=1739786092" id="oba_youtubepopup_plugin-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/video-popup/js/YouTubePopUp.js?ver=1739786092" id="oba_youtubepopup_activate-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.js?ver=4.15.21" id="ppress-flatpickr-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.js?ver=4.15.21" id="ppress-select2-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js?ver=6.7.1" id="plsh-modernizr-js"></script> <script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js?ver=6.7.1#pubid=wp-f9e5db9af4cb6ad092321d4c474c377e" id="addthis_widget-js"></script> <!-- Google tag (gtag.js) snippet added by Site Kit --> <!-- Google Analytics snippet added by Site Kit --> <script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=G-WQFN07TN9T" id="google_gtagjs-js" async></script> <script type="text/javascript" id="google_gtagjs-js-after"> /* <![CDATA[ */ window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} gtag("set","linker",{"domains":["opendatascience.com"]}); gtag("js", new Date()); gtag("set", "developer_id.dZTNiMT", true); gtag("config", "G-WQFN07TN9T"); /* ]]> */ </script> <!-- End Google tag (gtag.js) snippet added by Site Kit --> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/masonry.min.js?ver=4.2.2" id="masonry-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/jquery.masonry.min.js?ver=3.1.2b" id="jquery-masonry-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/select2/select2.full.min.js?ver=6.7.1" id="select2-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-modal.min.js?ver=6.7.1" id="um_modal-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-jquery-form.min.js?ver=6.7.1" id="um_jquery_form-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-fileupload.min.js?ver=6.7.1" id="um_fileupload-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-raty.min.js?ver=6.7.1" id="um_raty-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-scrollto.min.js?ver=6.7.1" id="um_scrollto-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-scrollbar.min.js?ver=6.7.1" id="um_scrollbar-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-crop.min.js?ver=6.7.1" id="um_crop-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-tipsy.min.js?ver=6.7.1" id="um_tipsy-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-functions.min.js?ver=6.7.1" id="um_functions-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-gdpr.min.js?ver=2.0.17" id="um-gdpr-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-responsive.min.js?ver=6.7.1" id="um_responsive-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-conditional.min.js?ver=6.7.1" id="um_conditional-js"></script> <script type="text/javascript" id="um_scripts-js-extra"> /* <![CDATA[ */ var um_scripts = {"ajaxurl":"https:\/\/opendatascience.com\/wp-admin\/admin-ajax.php","fileupload":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Files\/ajax_file_upload\/7432132422","imageupload":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Files\/ajax_image_upload\/57e41ace8d","remove_file":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Files\/ajax_remove_file\/9cee9daa18","delete_profile_photo":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Profile\/ajax_delete_profile_photo\/aa3f186d35","delete_cover_photo":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Profile\/ajax_delete_cover_photo\/88f61dd010","resize_image":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Files\/ajax_resize_image\/d93d5c3ce5","muted_action":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Form\/ajax_muted_action\/b03e6e006c","ajax_paginate":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Query\/ajax_paginate\/65e88e65db","ajax_select_options":"https:\/\/opendatascience.com\/um-api\/route\/um!core!Form\/ajax_select_options\/abaae7c32a"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-scripts.min.js?ver=6.7.1" id="um_scripts-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-members.min.js?ver=6.7.1" id="um_members-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-profile.min.js?ver=6.7.1" id="um_profile-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/ultimate-member/assets/js/um-account.min.js?ver=6.7.1" id="um_account-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/mobile-menu/includes/js/mobmenu.js?ver=2.8.7" id="mobmenujs-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/wp-quicklatex/js/wp-quicklatex-frontend.js?ver=1.0" id="wp-quicklatex-frontend-js"></script> <link rel="https://api.w.org/" href="https://opendatascience.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://opendatascience.com/wp-json/wp/v2/posts/27073" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://opendatascience.com/xmlrpc.php?rsd" /> <link rel='shortlink' href='https://opendatascience.com/?p=27073' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://opendatascience.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fopendatascience.com%2Fusing-rapids-with-pytorch%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://opendatascience.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fopendatascience.com%2Fusing-rapids-with-pytorch%2F&#038;format=xml" /> <!-- start Simple Custom CSS and JS --> <style type="text/css"> /* Add your CSS code here. For example: .example { color: red; } For brushing up on your CSS knowledge, check out http://www.w3schools.com/css/css_syntax.asp End of comment */ /*.crp_thumb { width: 80%; }*/ .post-item .legend-default { display: block!important; } .header .logo-image { float: left; padding-top: 0px!important; margin-top: -54px!important; } .hiremenu{ background: #1979bf;} .header .logo-image { float: left; padding-top: 0px!important; /*margin-top: -52px!important;*/ } .crp_related_widget figure {display:inline;} .post-1 .post ul li { padding: 0; font-weight: normal; } .leadinModal.leadinModal-theme-default.leadinModal-v3 .leadinModal-content { border-top-width: 0; background-color: #EBEBEB; padding: 0; width: 46em!important; max-height: 100%!important; } .likebtn_container { margin-bottom: 30px;} .single-post pre { background: rgba(0, 0, 0, 0.05)!important; } /* .single-post pre span { color: #000000!important; }*/ .g-recaptcha-response{visibility: hidden;} #text-4 p{text-align:left;} #text-4 a:hover{color:#1fbdef!important} #text-4 .title-default{display:none;} #text-4 .widget-content{padding-top:0px!important} .crp_title{ float: right; width: 65%; font-size: 17px; line-height: 25px; font-weight: 900; } .crp_thumb { width: 30%; } .crp_related_widget li{ margin-bottom: 20px; } .hbspt-form { border: 1px solid #1fbdef!important; padding: 10px; } .hs-button {display: table!important; margin: 0 auto!important;} .hs-input[type=checkbox]{ border: none; box-shadow: none!important; width: 10%!important;} .botmen { background: none; z-index: 999; } .hs-richtext h5{ font-family: Open Sans, Arial, sans-serif; font-size: 20px; text-align: center; color: #1fbdef;} .hs-field-desc{text-align:center} @media only screen and (max-width: 1023px) { #searchformmobile{display:block!important;} .header .logo-image { float: left; padding-top: 0px!important; margin-top: 0px!important; margin-bottom: 15px; } } #searchformmobile{display:none;} .linkic{width: 100%; height: 100%; position: absolute;} .overl{ position: absolute; top: 35%; background: url(https://staging4.odsc.com/wp-content/uploads/2018/05/play-white.svg); width: 20%; background-repeat: no-repeat; left: 40%; height: 100%;} #searchform { padding: 10px 17px;} .botmen .nav li > a:hover{color: #196cb4!important;} .sea{ background-image: url(https://opendatascience.com/wp-content/uploads/2018/07/search.png); background-position: 7px 7px; background-repeat: no-repeat; } .menu .nav .search .form-control { position: absolute; background: white!important; background-color: white!important; border: 1px solid #fdfcfc!important; top: 7px; left: 50px!important; opacity: 1!important; width: 100px; /* transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.07s; */ } .image.limited-width img{width:100%} .header .logo-image { float: left; padding-top: 0px!important; margin-top: -10px; } .single_job_listing .company img{margin-top:-10px;} .type-job_listing .image.limited-width{display:none!important;} .type-job_listing .title p{display:none!important;} .author.url.fn, .legend-default .fa-user{display:none;} .post-item a[rel~="external"]{ display:none; } .tagy { color: #777474; /* background: #383b51; */ margin-right: 3px; /* margin-left: 3px; */ padding: 0px 3px 0px 3px; font-size: 11px; line-height: 11px; border-right: 1px solid #e2e1e1; } .tag-defaultic { background: #166fb7; color: #fff; padding-left: 2px; padding-right: 2px; } .forum-archive .sajd{display:none;} .forum-template-default .sajd{display:none;} .bbpress .sajd{display:none;} .topic-template-default .sajd{display:none;} .post-item.featured .intros{display:none} .post-item.featured .tagy,.post-item.featured .tag-default, .post-item.featured .legend-default { display:inline-block; } .bbpress button:hover, .bbp-form button:hover, .bbp_widget_login button:hover { color: #252525 !important; background: #23bdef; } .main-sidebar { /* width: 450px!important; float: right!important;*/ } .post-item.featured .author-default{display:inline-block!important} .author-default{display:inline-block!important} .post-item .tagy{ display:none; } .post-item-overlay .tagy{ display:inline-block!important; color: #f3eeee; } .wpp-post-title { font-size: 20px; line-height: 25px; font-weight: 900; } .post-item .tag-default{ display:none; } .wpp-views { margin-left: 5px; } .wpp-meta, .post-stats { display: block; font-size: 13px; font-weight: bold; padding-top: 5px; margin-left: 5px; } .wpp-list li { padding-bottom: 20px; } .post-item-overlay .tag-default{ display:inline-block!important; } .legend-default i { margin: 0 2px 0 0!important; } .popular-posts {list-style:none} .post-item .legend-default{ display:none; } .wpp-list { padding-left: 0px; } .post-item-overlay .legend-default{ display:inline-block!important; } .post-item-overlay .legend-default{ display:inline-block!important;color: #f3eeee; } .post-block-2 .post-item .title .legend-default{ display:inline-block!important; } .post-block-2 .post-item h2 { margin: 0 0 3px 0; font-size: 17px!important; line-height: 21px; font-weight: 900; } .post-item.featured .intro{ margin-bottom: 10px;} body:not(.ready) #customize-save-button-wrapper .save { visibility:visible!important; } .footer { width: 100%!important;} .navbar-default{ background: #383b51;} .respo{display:none!important;} .hbspt-form{ border: 1px solid #383b51; padding: 10px; } .hs-form-required{display:none;} .actions {margin-top:0px!important; margin-bottom:0px!important;padding-bottom:0px!important;padding-top:0px!important;} .hs-input { box-sizing: border-box; max-width: 500px; width: 95%!important; }</style> <!-- end Simple Custom CSS and JS --> <meta name="generator" content="Site Kit by Google 1.145.0" /> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.82--> <script class="hsq-set-content-id" data-content-id="blog-post"> var _hsq = _hsq || []; _hsq.push(["setContentType", "blog-post"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7722455803400496" crossorigin="anonymous"></script> <!-- Global site tag (gtag.js) - Google Ads: 836081199 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-836081199"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-836081199'); </script> <script type="text/javascript">//<![CDATA[ function external_links_in_new_windows_loop() { if (!document.links) { document.links = document.getElementsByTagName('a'); } var change_link = false; var force = ''; var ignore = ''; for (var t=0; t<document.links.length; t++) { var all_links = document.links[t]; change_link = false; if(document.links[t].hasAttribute('onClick') == false) { // forced if the address starts with http (or also https), but does not link to the current domain if(all_links.href.search(/^http/) != -1 && all_links.href.search('opendatascience.com') == -1 && all_links.href.search(/^#/) == -1) { // console.log('Changed ' + all_links.href); change_link = true; } if(force != '' && all_links.href.search(force) != -1) { // forced // console.log('force ' + all_links.href); change_link = true; } if(ignore != '' && all_links.href.search(ignore) != -1) { // console.log('ignore ' + all_links.href); // ignored change_link = false; } if(change_link == true) { // console.log('Changed ' + all_links.href); document.links[t].setAttribute('onClick', 'javascript:window.open(\'' + all_links.href.replace(/'/g, '') + '\', \'_blank\', \'noopener\'); return false;'); document.links[t].removeAttribute('target'); } } } } // Load function external_links_in_new_windows_load(func) { var oldonload = window.onload; if (typeof window.onload != 'function'){ window.onload = func; } else { window.onload = function(){ oldonload(); func(); } } } external_links_in_new_windows_load(external_links_in_new_windows_loop); //]]></script> <script type='text/javascript'> var video_popup_unprm_general_settings = { 'unprm_r_border': '' }; </script> <script type="text/javascript"> (function(url){ if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; } var addEvent = function(evt, handler) { if (window.addEventListener) { document.addEventListener(evt, handler, false); } else if (window.attachEvent) { document.attachEvent('on' + evt, handler); } }; var removeEvent = function(evt, handler) { if (window.removeEventListener) { document.removeEventListener(evt, handler, false); } else if (window.detachEvent) { document.detachEvent('on' + evt, handler); } }; var evts = 'contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop keydown keypress keyup mousedown mousemove mouseout mouseover mouseup mousewheel scroll'.split(' '); var logHuman = function() { if (window.wfLogHumanRan) { return; } window.wfLogHumanRan = true; var wfscr = document.createElement('script'); wfscr.type = 'text/javascript'; wfscr.async = true; wfscr.src = url + '&r=' + Math.random(); (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr); for (var i = 0; i < evts.length; i++) { removeEvent(evts[i], logHuman); } }; for (var i = 0; i < evts.length; i++) { addEvent(evts[i], logHuman); } })('//opendatascience.com/?wordfence_lh=1&hid=0BD436EB7E117E598B96C2B9D9C8A61D'); </script> <style type="text/css"> .request_name { display: none !important; } </style> <style id="wpp-loading-animation-styles">@-webkit-keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}@keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}.wpp-widget-block-placeholder,.wpp-shortcode-placeholder{margin:0 auto;width:60px;height:3px;background:#dd3737;background:linear-gradient(90deg,#dd3737 0%,#571313 10%,#dd3737 100%);background-size:200% auto;border-radius:3px;-webkit-animation:bgslide 1s infinite linear;animation:bgslide 1s infinite linear}</style> <style type="text/css">body { background-image: none; } body { background-size: auto; }body { background-color:#ffffff; } body { background-repeat:repeat; } body { background-attachment:scroll; } body:after { background-color:#ffffff; } body:after { border-left:1px solid #ffffff; } body:after { border-right:1px solid #ffffff; } body:after { opacity:1; } body, .form-control { font-family:Open Sans, Arial, sans-serif; } .header .logo-text { font-family:Lato, Arial, sans-serif; } .menu .nav > .menu-item > a, .default-dropdown { font-family:Open Sans, Arial, sans-serif; } .title-default { font-family:Lato, Arial, sans-serif; } body { color:#606060; } a { color:#252525; } .tag-1, .form-control { border:1px solid #e1e3ed; } .tag-1 s, .form-control { border-left:1px solid #e1e3ed; } .panel-default, .slider-tabs .items .item, .widget-tabs .items, .blog-block-1 .post-item, .blog-block-2 .post-item { border-bottom:1px solid #e1e3ed; } .post-1 .overview, .post-1-navbar li a, .post table td, .post table tbody th, .photo-galleries .items, .post table thead th, .widget-content { border-bottom:1px solid #e1e3ed; } .widget-tabs .post-item, .archives .table td, .post-block-1 .post-item, .post-block-2 .post-item, .post-1 .overview .items .row, .comments ul > li, .goliath_archive .items ul li { border-top:1px solid #e1e3ed; } .post-1-navbar { border-top:3px solid #e1e3ed; } @media only screen and (min-width: 768px) and (max-width: 1320px) {.post-1-navbar li a { border-right:1px solid #e1e3ed; } }.read-progress, .search-results .gallery-widget:after, .post-1 .overview .items .rating .content span { background:#e1e3ed; } .title-default { box-shadow:#e1e3ed 0 -3px 0 inset; } .post-block-1 .slider .thumbs { box-shadow:0 -3px 0 #e1e3ed inset; } .post-1-navbar { box-shadow:0 -1px 0 #e1e3ed inset; } .copyright { box-shadow:#e1e3ed 0 -3px 0 inset; } .gallery-item-open .thumbs { box-shadow:0 -3px 0 #e1e3ed inset; } .form-control:focus { border:1px solid #d9d9d9; } .pagination a, .pagination span, .back-to-top, .back-to-top:hover { border-bottom:1px solid #d9d9d9!important; } .slider-tabs .items .item, .widget-tabs .items, .post-1 .overview .items, .widget-content { background:#fff; } .carousel-control.left, .carousel-control.right { background:#fff; } .button-1.white, .form-control, .post code, .post pre, .pagination a { background:#fff; } .form-control { color:#252525; } .title-default > a:hover, .title-default > a.active, .title-default .view-all:hover:after, .trending .controls a:hover, .trending .controls a.active, .title-default > span.active { color:#1fbdef; } .title-default > a.active { box-shadow:#1fbdef 0 -3px 0 inset; } .title-default > span.active { box-shadow:#1fbdef 0 -3px 0 inset; } .back-to-top, .btn-default, .show-more-link:hover:after, .carousel-control { color:#1fbdef; } .tag-default, .stars { background:#1fbdef; } .post-image-sharrre { background:#1fbdef; } .trending .hotness { color:#1fbdef; } .woocommerce .products .star-rating, .woocommerce-page .products .star-rating, .woocommerce .star-rating, .woocommerce-page .star-rating, .woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce-page .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_layered_nav_filters ul li a, .woocommerce-page .widget_layered_nav_filters ul li a { background-color:#1fbdef; } .woocommerce ul.products li.product a:hover img, .woocommerce-page ul.products li.product a:hover img, .woocommerce .widget_layered_nav_filters ul li a, .woocommerce-page .widget_layered_nav_filters ul li a { border:1px solid #1fbdef; } footer .title-default > span.active { color:#1fbdef; } footer .title-default > span.active { box-shadow:#1fbdef 0 -3px 0 inset; } a:hover, .trending .social a:hover, .legend-default a:hover, .tag-default:hover, .more-link:hover:after, .reply-link:hover:after, .title-default .go-back:hover:after { color:#1fbdef; } .post-1 .post .gallery-widget a:hover, .panel-default .panel-title a, .hotness { color:#1fbdef; } .header .logo-text h2, .menu .nav li > a:hover, .menu .nav li > a:hover:after, .menu .nav .new-stories.new a, .navbar .dropdown.open > a, .navbar .dropdown.open > a:hover { color:#1fbdef; } .navbar .dropdown.open .dropdown-toggle:after, .menu .dropdown-menu .items .item a:hover, .menu .dropdown-menu .sorting a:hover, .menu .dropdown-menu .post-block-1 .post-item h2 a:hover { color:#1fbdef; } .mosaic a:hover, .slider-tabs .post-item-overlay h2 a:hover, .widget-tabs .post-item-overlay .title h2 a:hover, .post-block-1 .post-item-overlay h2 a:hover { color:#1fbdef; } .post-block-2 .post-item-featured-overlay h2 a:hover, .post-block-2 .post-item-overlay .title h2 a:hover, .post-block-3 .post-item-overlay .title h2 a:hover, .blog-block-1 .post-item-overlay h2 a:hover, .blog-block-2 .post-item-overlay h2 a:hover { color:#1fbdef; } .post-1 .post p a, .post-1 .post .gallery-widget a:hover, .post-1-navbar li a:hover:after, .post-1-navbar li.active a, .post-1-navbar li.active a:hover:after { color:#1fbdef; } .post code, .post pre, .about-author .about .social a:hover, .sticky:after, .latest-galleries .gallery-item a:hover, .gallery-item-open .control a:hover, .footer a:hover, .copyright a:hover { color:#1fbdef; } .more-link, .reply-link, .show-more-link, .carousel-control:hover, .carousel-control:active, .pagination .active a, .pagination span, .comment-reply-link { color:#1fbdef!important; } .button-1 { color:#1fbdef; } .wpb_tabs .wpb_tabs_nav > li.ui-tabs-active > a, .wpb_accordion .wpb_accordion_wrapper .ui-accordion-header-active a, .wpb_toggle.wpb_toggle_title_active, .wpb_tour .wpb_tabs_nav li.ui-tabs-active a { color:#1fbdef; } .menu .nav .dropdown-menu li.active > a:hover, .header .logo-text h2 a, .pagination span, #reply-title a, .comment-reply-link:hover:after, .latest-galleries .carousel-control i, .wpcf7 input[type=submit] { color:#1fbdef; } .back-to-top:hover, .tag-1.active, .tag-1.active:hover span, .carousel-control:hover, .read-progress span, .navbar-wrapper-responsive .bars.open > a, .post-1 .overview .items .rating .content span s { background:#1fbdef!important; } .menu .nav > .active > a, .menu .nav > .active > a:hover, .menu .nav > .active:hover > a, .btn-default:hover, .menu .dropdown-menu .btn-default:hover, .button-1:hover, .button-1.color:hover, .button-1.white:hover { background:#1fbdef; } .post q, blockquote, .post dl { border-left:3px solid #1fbdef; } .post-block-1 .slider .thumbs .active, .post-block-1 .slider .thumbs a:hover, .gallery-item-open .thumbs .active, .gallery-item-open .thumbs a:hover { box-shadow:0 -3px 0 #1fbdef inset; } .menu .container { box-shadow:#1fbdef 0 3px 0; } .dropdown-menu { box-shadow:rgba(0, 0, 0, 0.2) 0 3px 0 0, #000 0 -1px 0 inset, #1fbdef 0 3px 0 inset; } .wpb_tabs .wpb_tabs_nav > li.ui-tabs-active > a { box-shadow:#1fbdef 0 -3px 0 inset; } .tag-1.active { border:1px solid #1fbdef !important; } .navbar-wrapper-responsive .menu .nav .search:after { color:#1fbdef !important; } .affix .navbar { box-shadow:#1fbdef 0 -3px 0 inset; } .woocommerce #content input.button, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce-page #content input.button, .woocommerce-page #respond input#submit, .woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button { color:#1fbdef; } .woocommerce #content input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce-page #content input.button:hover, .woocommerce-page #respond input#submit:hover, .woocommerce-page a.button:hover, .woocommerce-page button.button:hover, .woocommerce-page input.button:hover { background-color:#1fbdef; } .woocommerce #content input.button.alt:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce-page #content input.button.alt:hover, .woocommerce-page #respond input#submit.alt:hover, .woocommerce-page a.button.alt:hover, .woocommerce-page button.button.alt:hover, .woocommerce-page input.button.alt:hover { background-color:#1fbdef!important; } .woocommerce #content div.product .woocommerce-tabs ul.tabs li.active, .woocommerce div.product .woocommerce-tabs ul.tabs li.active, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active, .woocommerce-page div.product .woocommerce-tabs ul.tabs li.active { box-shadow:#1fbdef 0 -3px 0 inset; } .woocommerce #content div.product .woocommerce-tabs ul.tabs li.active, .woocommerce div.product .woocommerce-tabs ul.tabs li.active, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active, .woocommerce-page div.product .woocommerce-tabs ul.tabs li.active, .woocommerce-page .cart-collaterals .shipping_calculator h2 a, .woocommerce .addresses .edit, .widget_shopping_cart .total .amount { color:#1fbdef; } .back-to-top, .btn-default { background:#e7e7e7; } .pagination a, .pagination span { background:#e7e7e7!important; } .menu .container, .affix .navbar, .menu .dropdown-menu .btn-default { background:#383b51; } .menu .nav li > a, .menu .dropdown-menu .btn-default { color:#fff; } .constellation .dropdown-menu { background:#333; } .navbar-wrapper-responsive .dropdown-menu.full-width { background:#333; } .footer { background:#383b51; } .blog-block-2 .post-item-overlay, .post-block-1 .post-item-overlay, .post-block-2 .post-item-overlay, .slider-tabs .post-item-overlay, .widget-tabs .post-item-overlay, .blog-block-1 .post-item-overlay, .post-block-3 .post-item-overlay { background:#383b51; } .blog-block-2 .post-item-overlay, .post-block-1 .post-item-overlay, .post-block-2 .post-item-overlay, .slider-tabs .post-item-overlay, .widget-tabs .post-item-overlay, .blog-block-1 .post-item-overlay, .post-block-3 .post-item-overlay { color:#ffffff; } .blog-block-2 .post-item-overlay h2 a, .post-block-1 .post-item-overlay h2 a, .post-block-2 .post-item-overlay .title h2 a, .slider-tabs .post-item-overlay h2 a, .widget-tabs .post-item-overlay .title h2 a, .blog-block-1 .post-item-overlay h2 a, .post-block-3 .post-item-overlay .title h2 a, .info-box.success p, .info-box.warning p { color:#ffffff; } </style> <!--Customizer CSS--> <style type="text/css"> </style> <!--/Customizer CSS --> <!-- User css --> <style type="text/css"> </style> <!--/User CSS --> <!-- User JS --> <script type="text/javascript"> </script> <!--/User JS --> <!-- Javascript settings --> <script type="text/javascript"> var plsh_settings = new Object(); </script> <!-- Javascript settings --> <meta name="generator" content="Planetshine - Goliath - 1.0.35"> <!-- Meta Pixel Code --> <script type='text/javascript'> !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js?v=next'); </script> <!-- End Meta Pixel Code --> <script type='text/javascript'> var url = window.location.origin + '?ob=open-bridge'; fbq('set', 'openbridge', '926010930818184', url); </script> <script type='text/javascript'>fbq('init', '926010930818184', {}, { "agent": "wordpress-6.7.1-4.0.1" })</script><script type='text/javascript'> fbq('track', 'PageView', []); </script> <!-- Meta Pixel Code --> <noscript> <img height="1" width="1" style="display:none" alt="fbpx" src="https://www.facebook.com/tr?id=926010930818184&ev=PageView&noscript=1" /> </noscript> <!-- End Meta Pixel Code --> <meta name="generator" content="Powered by WPBakery Page Builder - drag and drop page builder for WordPress."/> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #ffffff; } </style> <link rel="preload" as="style" href="https://opendatascience.com/wp-content/plugins/code-prettify/prettify/prettify.css" /><script data-cfasync="false" type="text/javascript">if (window.addthis_product === undefined) { window.addthis_product = "wpp"; } if (window.wp_product_version === undefined) { window.wp_product_version = "wpp-6.2.7"; } if (window.addthis_share === undefined) { window.addthis_share = {}; } if (window.addthis_config === undefined) { window.addthis_config = {"data_track_clickback":true,"ignore_server_config":true,"ui_atversion":300}; } if (window.addthis_layers === undefined) { window.addthis_layers = {}; } if (window.addthis_layers_tools === undefined) { window.addthis_layers_tools = [{"responsiveshare":{"numPreferredServices":10,"counts":"none","size":"32px","style":"responsive","shareCountThreshold":0,"services":"facebook,twitter,email,pinterest_share,linkedin,addthis","elements":".addthis_inline_share_toolbox_ht5n,.at-above-post,.at-below-post","id":"responsiveshare"}}]; } else { window.addthis_layers_tools.push({"responsiveshare":{"numPreferredServices":10,"counts":"none","size":"32px","style":"responsive","shareCountThreshold":0,"services":"facebook,twitter,email,pinterest_share,linkedin,addthis","elements":".addthis_inline_share_toolbox_ht5n,.at-above-post,.at-below-post","id":"responsiveshare"}}); } if (window.addthis_plugin_info === undefined) { window.addthis_plugin_info = {"info_status":"enabled","cms_name":"WordPress","plugin_name":"Share Buttons by AddThis","plugin_version":"6.2.7","plugin_mode":"WordPress","anonymous_profile_id":"wp-f9e5db9af4cb6ad092321d4c474c377e","page_info":{"template":"posts","post_type":""},"sharing_enabled_on_post_via_metabox":false}; } (function() { var first_load_interval_id = setInterval(function () { if (typeof window.addthis !== 'undefined') { window.clearInterval(first_load_interval_id); if (typeof window.addthis_layers !== 'undefined' && Object.getOwnPropertyNames(window.addthis_layers).length > 0) { window.addthis.layers(window.addthis_layers); } if (Array.isArray(window.addthis_layers_tools)) { for (i = 0; i < window.addthis_layers_tools.length; i++) { window.addthis.layers(window.addthis_layers_tools[i]); } } } },1000) }()); </script> <style type="text/css" id="wp-custom-css"> #customize-save-button-wrapper .save { float: left; display: block!important; visibility: visible!important; border-radius: 3px; box-shadow: none; margin-top: 0; } </style> <noscript><style> .wpb_animate_when_almost_visible { opacity: 1; }</style></noscript> </head> <body data-rsssl=1 class="post-template-default single single-post postid-27073 single-format-standard custom-background preload cookies-not-set mob-menu-slideout-over wpb-js-composer js-comp-ver-6.9.0 vc_responsive"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M62L34N" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="navbar-wrapper navbar-wrapper-responsive respo"> <div class="navbar navbar-default menu" > <div class="container"> <ul class="nav"> <li class="active"> </li> <li class="dropdown bars"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-bars"></i></a> </li> <li class="dropdown search"> <form method="get" action="https://opendatascience.com/"> <input type="text" name="s" class="form-control" placeholder="search here" /> </form> <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-search"></i></a> </li> </ul> </div> </div> </div> <!-- Menu --> <div class="navbar-wrapper"> <div class="navbar navbar-default menu"> <center> <div class=""> <div class="default-menu"><ul id="topmenu" class="nav"><li id="menu-item-15433" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-15433 dropdown"><a title="ODSC Conferences" target="_blank" href="http://odsc.com" class="dropdown-toggle" aria-haspopup="true">ODSC Conferences <span class="caret"></span></a> <div class="dropdown-menu default-dropdown"><ul role="menu" > <li id="menu-item-14780" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14780"><a title="ODSC EAST" target="_blank" href="https://odsc.com/boston">ODSC EAST</a></li> <li id="menu-item-14782" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14782"><a title="ODSC WEST" target="_blank" href="https://odsc.com/california">ODSC WEST</a></li> <li id="menu-item-14781" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14781"><a title="ODSC EUROPE" target="_blank" href="https://odsc.com/europe/">ODSC EUROPE</a></li> <li id="menu-item-18616" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18616"><a title="ODSC APAC" target="_blank" href="https://odsc.com/apac/">ODSC APAC</a></li> </ul></div> </li> <li id="menu-item-25736" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25736"><a title="MEETUPS" target="_blank" href="https://www.meetup.com/open-data-odsc/">MEETUPS</a></li> <li id="menu-item-15398" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15398"><a title="AI+ Training" target="_blank" href="https://aiplus.odsc.com/">AI+ Training</a></li> <li id="menu-item-14785" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14785"><a title="Newsletter" target="_blank" href="https://opendatascience.com/newsletter/">Newsletter</a></li> <li id="menu-item-47915" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-47915"><a title="Jobs" href="https://jobs.opendatascience.com/">Jobs</a></li> <li id="menu-item-25737" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25737"><a title="Speak at ODSC" target="_blank" href="https://odsc.com/california/call-for-speakers-west/">Speak at ODSC</a></li> <li class="search"><form role="search" method="get" id="searchform" action="https://opendatascience.com/"><input style="width:70px;" type="text" value="Search" name="s" id="s" /><input type="submit" id="searchsubmit" value="Search" /></form></li></ul></div> <ul class="nav secondary-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom dropdown search"> <form method="get" action="https://opendatascience.com/" class="search"> <input type="text" name="s" class="form-control" placeholder="search here" /> <label class="apbct_special_field" id="apbct_label_id71396" for="apbct__email_id__search_form_71396">71396</label><input id="apbct__email_id__search_form_71396" class="apbct_special_field apbct__email_id__search_form" name="apbct__email_id__search_form_71396" type="text" size="30" maxlength="200" autocomplete="off" value="71396" apbct_event_id="71396" /><input id="apbct_submit_id__search_form_71396" class="apbct_special_field apbct__email_id__search_form" name="apbct_submit_id__search_form_71396" type="submit" size="30" maxlength="200" value="71396" /></form> <a href="#" data-toggle="dropdown" data-hover="dropdown" class="dropdown-toggle disabled" aria-haspopup="true"><i class="fa fa-search"></i></a> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-spacer"></li> </ul> </div> </center> </div> </div><div id="particles"></div> <div class="read-progress"><span style="width: 40%;"></span></div> <!-- Header --> <header class="container header"> <div class="logo-image"> <a href="https://opendatascience.com/"><img src="https://opendatascience.com/wp-content/uploads/goliath/highresodsclogo.png" alt=""></a> </div> <form role="search" method="get" id="searchformmobile" action="/"><input style="width:70px;" type="text" value="" name="s" id="s" placeholder="keywords" /><input type="submit" id="searchsubmit" value="Search" /></form> <div class="banner-728x90 "><a href="https://odsc.com/boston/" target="_blank"><img src="https://opendatascience.com/wp-content/uploads/goliath/Week%20of%20Feb%2010%20Blog%20Banners_728x90.png" alt="east top 2"></a></div> <!--<div class="vc_row wpb_row vc_row-fluid"><div class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper"> <div class="logo-image"> <a href="https://opendatascience.com/"><img src="https://opendatascience.com/wp-content/uploads/goliath/highresodsclogo.png" alt=""></a> </div> </div></div></div><div class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><img src="https://newsite.opendatascience.com/wp-content/uploads/2017/11/thb_728_tech-1.png" style="width: 100%;"></div></div></div></div> --> </header> <!-- Menu responsive --> <!--<div class="navbar-wrapper navbar-wrapper-responsive"> <div class="navbar navbar-default menu"> <div class="container"> <ul class="nav"> <li class="active"> </li> <li class="dropdown bars"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-bars"></i></a> <div class="dropdown-menu full-width mobile-menu"><ul id="mobile-menu" class=""><li id="menu-item-8020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8020"><a href="https://opendatascience.com/category/modeling/">Modeling</a> <ul class="sub-menu"> <li id="menu-item-46773" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-46773"><a href="https://opendatascience.com/category/modeling/data-analytics/">Data Analytics</a></li> <li id="menu-item-45703" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45703"><a href="https://opendatascience.com/category/modeling/data-engineering/">Data Engineering</a></li> <li id="menu-item-37919" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-37919"><a href="https://opendatascience.com/category/modeling/data-visualization/">Data Visualization</a></li> <li id="menu-item-17010" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-17010"><a href="https://opendatascience.com/category/modeling/deep-learning/">Deep Learning</a></li> <li id="menu-item-41544" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-41544"><a href="https://opendatascience.com/category/modeling/generative-ai/">Generative AI</a></li> <li id="menu-item-25739" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25739"><a href="https://opendatascience.com/category/modeling/machine-learning/">Machine Learning</a></li> <li id="menu-item-17011" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-17011"><a href="https://opendatascience.com/category/modeling/nlp-text-analytics/">NLP and LLMs</a></li> <li id="menu-item-45702" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45702"><a href="https://opendatascience.com/category/tools-languages/python/">Python</a></li> </ul> </li> <li id="menu-item-15400" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15400"><a href="https://opendatascience.com/category/accelerate-ai">Business &#038; Use Cases</a></li> <li id="menu-item-25741" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25741"><a href="https://opendatascience.com/category/careers/">Career Advice</a></li> <li id="menu-item-25748" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25748"><a href="https://opendatascience.com/join-the-open-data-science-contributor-community/">Write for us</a></li> <li id="menu-item-25743" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-25743"><a href="#">Community</a> <ul class="sub-menu"> <li id="menu-item-32624" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32624"><a href="https://hubs.li/Q02zdcSk0">ODSC Community Slack Channel</a></li> <li id="menu-item-35201" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35201"><a href="https://aiplus.odsc.com/bundles/odsc-webinars">Meetups</a></li> <li id="menu-item-45704" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45704"><a href="https://odsc.substack.com/">Substack</a></li> <li id="menu-item-45705" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45705"><a href="https://medium.com/@odsc">Medium</a></li> </ul> </li> <li id="menu-item-17803" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17803"><a href="https://aiplus.training/events/">Upcoming Webinars</a></li> <li id="menu-item-45706" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-45706"><a href="https://opendatascience.com/tag/podcast/">Ai X Podcast</a> <ul class="sub-menu"> <li id="menu-item-45707" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45707"><a href="https://podcasts.apple.com/ua/podcast/odscs-ai-x-podcast/id1721516836">Apple</a></li> <li id="menu-item-45708" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45708"><a href="https://open.spotify.com/show/0TJKGcQsIO0xr0kiLKhOER?si=6f0d4cc2bfbf4728&#038;nd=1&#038;dlsi=3893757b957e4a52">Spotify</a></li> <li id="menu-item-45709" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45709"><a href="https://soundcloud.com/aixpodcast">SoundCloud</a></li> </ul> </li> <li id="menu-item-25742" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25742"><a href="https://aiplus.odsc.com/collections">Training</a></li> </ul></div> </li> </ul> </div> </div> </div>--> <!-- Menu --> <div class="navbar-wrapper"> <div class="navbar navbar-default menu botmen cic" style=" background: #00A4D4;"> <center> <div class=""> <div class="default-menu"><ul id="menu-primarys" class="nav"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8020 dropdown"><a title="Modeling" href="https://opendatascience.com/category/modeling/" class="dropdown-toggle" aria-haspopup="true">Modeling <span class="caret"></span></a> <div class="dropdown-menu default-dropdown"><ul role="menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-46773"><a title="Data Analytics" href="https://opendatascience.com/category/modeling/data-analytics/">Data Analytics</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45703"><a title="Data Engineering" href="https://opendatascience.com/category/modeling/data-engineering/">Data Engineering</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-37919"><a title="Data Visualization" href="https://opendatascience.com/category/modeling/data-visualization/">Data Visualization</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-17010"><a title="Deep Learning" href="https://opendatascience.com/category/modeling/deep-learning/">Deep Learning</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-41544"><a title="Generative AI" href="https://opendatascience.com/category/modeling/generative-ai/">Generative AI</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25739"><a title="Machine Learning" href="https://opendatascience.com/category/modeling/machine-learning/">Machine Learning</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-17011"><a title="NLP and LLMs" href="https://opendatascience.com/category/modeling/nlp-text-analytics/">NLP and LLMs</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45702"><a title="Python" href="https://opendatascience.com/category/tools-languages/python/">Python</a></li> </ul></div> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15400"><a title="Business &amp; Use Cases" href="https://opendatascience.com/category/accelerate-ai">Business &#038; Use Cases</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25741"><a title="Career Advice" href="https://opendatascience.com/category/careers/">Career Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25748"><a title="Write for us" href="https://opendatascience.com/join-the-open-data-science-contributor-community/">Write for us</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-25743 dropdown"><a title="Community" href="#" class="dropdown-toggle" aria-haspopup="true">Community <span class="caret"></span></a> <div class="dropdown-menu default-dropdown"><ul role="menu" > <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32624"><a title="ODSC Community Slack Channel" href="https://hubs.li/Q02zdcSk0">ODSC Community Slack Channel</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35201"><a title="Meetups" href="https://aiplus.odsc.com/bundles/odsc-webinars">Meetups</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45704"><a title="Substack" href="https://odsc.substack.com/">Substack</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45705"><a title="Medium" href="https://medium.com/@odsc">Medium</a></li> </ul></div> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17803"><a title="Upcoming Webinars" href="https://aiplus.training/events/">Upcoming Webinars</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-45706 dropdown"><a title="Ai X Podcast" href="https://opendatascience.com/tag/podcast/" class="dropdown-toggle" aria-haspopup="true">Ai X Podcast <span class="caret"></span></a> <div class="dropdown-menu default-dropdown"><ul role="menu" > <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45707"><a title="Apple" href="https://podcasts.apple.com/ua/podcast/odscs-ai-x-podcast/id1721516836">Apple</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45708"><a title="Spotify" href="https://open.spotify.com/show/0TJKGcQsIO0xr0kiLKhOER?si=6f0d4cc2bfbf4728&#038;nd=1&#038;dlsi=3893757b957e4a52">Spotify</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45709"><a title="SoundCloud" href="https://soundcloud.com/aixpodcast">SoundCloud</a></li> </ul></div> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25742"><a title="Training" href="https://aiplus.odsc.com/collections">Training</a></li> </ul></div> </div> </center> </div> </div> <!-- Homepage content --> <div class="container homepage-content hfeed thumb-text_width"> <div class="col-md-8 main-content-column-1 left"> <!-- Post --> <div class="post-1 hentry post-27073 post type-post status-publish format-standard has-post-thumbnail category-deep-learning category-machine-learning category-modeling category-tools-languages tag-deep-learning tag-machine-learning tag-rapids" itemscope itemtype="http://data-vocabulary.org/NewsArticle"> <div class="image limited-width text_width"> <img src="https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA-640x300.jpeg" class="full-post-thumb" alt="Using RAPIDS with PyTorch"/> <img src="https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA-750x350.jpeg" class="mobile-post-thumb" alt="Using RAPIDS with PyTorch"/> <div> <div class="social"> <div class="post-image-sharrre"> <div class="shareme" data-image="https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA.jpeg" data-url="https://opendatascience.com/using-rapids-with-pytorch/" data-text="Using RAPIDS with PyTorch"></div> </div></div> </div> </div> <div class="title"> <h1 id="intro"><a href="https://opendatascience.com/using-rapids-with-pytorch/" class="entry-title" itemprop="headline">Using RAPIDS with PyTorch</a></h1> <p> <a href="https://opendatascience.com/category/modeling/deep-learning/" title="Deep Learning" class="tag-default">Deep Learning</a><a href="https://opendatascience.com/category/modeling/machine-learning/" title="Machine Learning" class="tag-default">Machine Learning</a><a href="https://opendatascience.com/category/modeling/" title="Modeling" class="tag-default">Modeling</a><a href="https://opendatascience.com/category/tools-languages/" title="Tools &amp; Languages" class="tag-default">Tools &amp; Languages</a><a href="https://opendatascience.com/tag/deep-learning/" title="Tools &amp; Languages" class="tag-default">Deep Learning</a><a href="https://opendatascience.com/tag/machine-learning/" title="Tools &amp; Languages" class="tag-default">Machine Learning</a><a href="https://opendatascience.com/tag/rapids/" title="Tools &amp; Languages" class="tag-default">rapids</a>posted by <a href="https://opendatascience.com/user/rapids/" title="Tools &amp; Languages" class="tag-defaultic">RAPIDS</a> <span class="legend-default"> <i class="fa fa-clock-o"></i><span class="updated" >June 19, 2019</span> <i class="fa fa-user"></i><span ><a href="" class="author url fn">RAPIDS</a></span> </span> </p> <div class="tag-cloud tag-title"> <i class="fa fa-tags"></i> <a href="https://opendatascience.com/tag/deep-learning/" title="Deep Learning" class="tag-1"><span>Deep Learning</span><s>48</s></a> <a href="https://opendatascience.com/tag/machine-learning/" title="Machine Learning" class="tag-1"><span>Machine Learning</span><s>111</s></a> <a href="https://opendatascience.com/tag/rapids/" title="rapids" class="tag-1"><span>rapids</span><s>13</s></a> </div> </div> <span class="item-summary-hidden" itemprop="description">In this post we take a look at how to use cuDF, the RAPIDS dataframe library, to do some of the preprocessing...</span> <img class="item-image-hidden" itemprop="image" src="https://opendatascience.com/wp-content/uploads/2019/06/1_OgeJ5Y2fFHhRi-PLVi0HlA-640x300.jpeg" alt="Using RAPIDS with PyTorch" /> <div class="post" itemprop="articleBody"><div class="at-above-post addthis_tool" data-url="https://opendatascience.com/using-rapids-with-pytorch/"></div><section class="section section--body section--first"> <div class="section-content"> <div class="section-inner sectionLayout--insetColumn"> <p id="8af6" class="graf graf--p graf-after--figure">In this post we take a look at how to use <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/cudf" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/cudf">cuDF, the RAPIDS dataframe library</a>, to do some of the preprocessing steps required to get the mortgage data in a format that PyTorch can process so that we can explore the performance of deep learning on tabular data and compare it to the xgboost method.</p> <p id="8f78" class="graf graf--p graf-after--p">While deep learning (DL) has been successfully adopted in many domains (Vision, NLP, Recommendation, etc.), there are still areas where the use of DL is not mainstream. Tabular data problems, which consists of columns of categorical and continuous variables, commonly make use of techniques like <a class="markup--anchor markup--p-anchor" href="https://github.com/dmlc/xgboost" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/dmlc/xgboost">xgboost</a>, <a class="markup--anchor markup--p-anchor" href="https://github.com/catboost" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/catboost">catboost</a>, <a class="markup--anchor markup--p-anchor" href="https://github.com/Microsoft/LightGBM" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/Microsoft/LightGBM">gbm</a>, or even linear models. The <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/cuml" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/cuml">RAPIDS cuML library</a> is focused on building out those capabilities on GPUs, and in the <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/notebooks" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/notebooks">first notebook released by the RAPIDS team</a> we used a <a class="markup--anchor markup--p-anchor" href="https://xgboost.readthedocs.io/en/latest/gpu/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://xgboost.readthedocs.io/en/latest/gpu/">GPU-accelerated version of xgboost</a> to train a model as quickly as possible at scale on the <a class="markup--anchor markup--p-anchor" href="http://www.fanniemae.com/portal/funding-the-market/data/loan-performance-data.html" target="_blank" rel="nofollow noopener noreferrer" data-href="http://www.fanniemae.com/portal/funding-the-market/data/loan-performance-data.html">Fannie Mae mortgage dataset</a>.</p> <p><em>[Related Article: <a href="https://opendatascience.com/how-to-choose-machine-learning-or-deep-learning-for-your-business/" target="_blank" rel="noopener noreferrer">How to Choose Machine Learning or Deep Learning for Your Business</a>]</em></p> <p id="f2c6" class="graf graf--p graf-after--p">Deep learning is, however, making inroads into tabular data problems. Recent Kaggle competition winners of the <a class="markup--anchor markup--p-anchor" href="https://www.kaggle.com/c/santander-customer-transaction-prediction/discussion/89003#latest-515385" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.kaggle.com/c/santander-customer-transaction-prediction/discussion/89003#latest-515385">Santander</a>, <a class="markup--anchor markup--p-anchor" href="https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#250927" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629#250927">Porto Seguro</a>, and <a class="markup--anchor markup--p-anchor" href="http://blog.kaggle.com/2015/07/27/taxi-trajectory-winners-interview-1st-place-team-%F0%9F%9A%95/" target="_blank" rel="nofollow noopener noreferrer" data-href="http://blog.kaggle.com/2015/07/27/taxi-trajectory-winners-interview-1st-place-team-%F0%9F%9A%95/">Taxi Trajectory</a> competitions used deep learning as a significant part of their solution, and the Rossman store sales (<a class="markup--anchor markup--p-anchor" href="http://blog.kaggle.com/2016/01/22/rossmann-store-sales-winners-interview-3rd-place-cheng-gui/" target="_blank" rel="nofollow noopener noreferrer" data-href="http://blog.kaggle.com/2016/01/22/rossmann-store-sales-winners-interview-3rd-place-cheng-gui/">#3 solution</a>) and Petfinder competitions (<a class="markup--anchor markup--p-anchor" href="https://www.kaggle.com/c/petfinder-adoption-prediction/discussion/88690#latest-515029" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.kaggle.com/c/petfinder-adoption-prediction/discussion/88690#latest-515029">#6</a> and <a class="markup--anchor markup--p-anchor" href="https://www.kaggle.com/c/petfinder-adoption-prediction/discussion/88740#latest-515210" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.kaggle.com/c/petfinder-adoption-prediction/discussion/88740#latest-515210">#9 solution</a>) both had interesting architectures and methodologies that used DNNs to achieve top ten rankings. The Petfinder solutions are of particular interest because they combine tabular, image and text data in a single model. Many companies have come forward stating that they use deep learning in these or similar contexts, including <a class="markup--anchor markup--p-anchor" href="https://twimlai.com/twiml-talk-124-systems-software-machine-learning-scale-jeff-dean/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://twimlai.com/twiml-talk-124-systems-software-machine-learning-scale-jeff-dean/">Google</a>, <a class="markup--anchor markup--p-anchor" href="https://medium.com/the-graph/applying-deep-learning-to-related-pins-a6fee3c92f5e" target="_blank" rel="noopener noreferrer" data-href="https://medium.com/the-graph/applying-deep-learning-to-related-pins-a6fee3c92f5e">Pinterest</a>, <a class="markup--anchor markup--p-anchor" href="https://blog.twitter.com/engineering/en_us/topics/insights/2018/embeddingsattwitter.html" target="_blank" rel="nofollow noopener noreferrer" data-href="https://blog.twitter.com/engineering/en_us/topics/insights/2018/embeddingsattwitter.html">Twitter</a>, <a class="markup--anchor markup--p-anchor" href="https://tech.instacart.com/deep-learning-with-emojis-not-math-660ba1ad6cdc" target="_blank" rel="nofollow noopener noreferrer" data-href="https://tech.instacart.com/deep-learning-with-emojis-not-math-660ba1ad6cdc">Instacart</a>, and <a class="markup--anchor markup--p-anchor" href="https://ai.google/research/pubs/pub45530" target="_blank" rel="nofollow noopener noreferrer" data-href="https://ai.google/research/pubs/pub45530">Youtube</a>. Deep learning library<a class="markup--anchor markup--p-anchor" href="https://docs.fast.ai/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://docs.fast.ai/"> fast.ai</a> has even added support for<a class="markup--anchor markup--p-anchor" href="https://docs.fast.ai/tabular.html" target="_blank" rel="nofollow noopener noreferrer" data-href="https://docs.fast.ai/tabular.html"> tabular data</a> directly into the library in the form of <a class="markup--anchor markup--p-anchor" href="https://www.fast.ai/2018/04/29/categorical-embeddings/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.fast.ai/2018/04/29/categorical-embeddings/">categorical embeddings</a> and a range of preprocessing options required for tabular data.</p> <p id="85c6" class="graf graf--p graf-after--p graf--trailing">Please check out the <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/notebooks-extended/blob/master/advanced/E2E/mortgage/mortgage_e2e_deep_learning.ipynb" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/notebooks-extended/blob/master/advanced/E2E/mortgage/mortgage_e2e_deep_learning.ipynb">accompanying notebook</a> in the <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/">RAPIDS.AI repo</a> for the implementation details. The notebook and experiments were developed and run by <a class="markup--anchor markup--p-anchor" href="https://twitter.com/cmgreen210" target="_blank" rel="nofollow noopener noreferrer" data-href="https://twitter.com/cmgreen210">Christopher Green</a> and we’re grateful for his work.</p> </div> </div> </section> <section class="section section--body"> <div class="section-divider"> <hr class="section-divider" /> </div> <div class="section-content"> <div class="section-inner sectionLayout--insetColumn"> <h4 id="ec9f" class="graf graf--h4 graf--leading">Establishing a baseline</h4> <p id="7383" class="graf graf--p graf-after--h4">As our starting point we’ll take <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/notebooks-extended/blob/master/advanced/E2E/mortgage/mortgage_e2e.ipynb" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/notebooks-extended/blob/master/advanced/E2E/mortgage/mortgage_e2e.ipynb">the original mortgage notebook from the RAPIDS repo</a>. Feature engineering is identical in order to prevent performance improvements unrelated to deep learning.</p> <p id="3682" class="graf graf--p graf-after--p">Here, when we say performance, we’re talking about how well the algorithm is able to classify loans, which we’ll measure as the <a class="markup--anchor markup--p-anchor" href="http://www.chioka.in/differences-between-roc-auc-and-pr-auc/" target="_blank" rel="nofollow noopener noreferrer" data-href="http://www.chioka.in/differences-between-roc-auc-and-pr-auc/">Area Under the Precision Recall Curve</a>, or PR-AUC for short. We chose PR-AUC over cross entropy, accuracy and ROC-AUC because we think it provides a better representation of the performance of the algorithm. Lowest cross entropy loss often doesn’t correspond to the most accurate model when examining the model’s ability to predict whether a loan will go delinquent. On the other hand, using accuracy as the only metric hides precision/recall tradeoffs necessary when evaluating a model in the real world. Finally, <a class="markup--anchor markup--p-anchor" href="http://pages.cs.wisc.edu/~jdavis/davisgoadrichcamera2.pdf" target="_blank" rel="nofollow noopener noreferrer" data-href="http://pages.cs.wisc.edu/~jdavis/davisgoadrichcamera2.pdf">ROC-AUC is less able to distinguish between model performance when there is a class imbalance</a>, which we see in the mortgage dataset.</p> <p id="0e50" class="graf graf--p graf-after--p">We use a time-based split of the data, creating validation and test sets such that they occur after the training data in order to prevent data leakage. Since we’re predicting 12-month loan delinquency we need to ensure that the validation and test data start at least 12 months after the latest date in the training dataset. Similarly, we establish a test set from a later time window than the validation set to ensure that we don’t overfit the hyperparameters.</p> <p id="eeec" class="graf graf--p graf-after--p">Because of the size of the dataset (1.75 billion rows!) and the nature of xgboost on GPU which requires the entire training dataset to be in memory, we are only able to train on 17% with a single<a class="markup--anchor markup--p-anchor" href="https://www.nvidia.com/en-us/data-center/dgx-1/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.nvidia.com/en-us/data-center/dgx-1/"> DGX-1</a> server, which has eight<a class="markup--anchor markup--p-anchor" href="https://www.nvidia.com/en-us/data-center/tesla-v100/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.nvidia.com/en-us/data-center/tesla-v100/">Tesla-V100 32GB GPUs</a>. A single V100 can handle ~2% of the dataset. If you were to try to run this on commodity hardware like a GTX 1080-ti you’d be limited to ~0.7% of the dataset. By taking advantage of the GPU’s massive parallelism <a class="markup--anchor markup--p-anchor" href="https://github.com/dmlc/xgboost/pull/4283" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/dmlc/xgboost/pull/4283">along with recent optimizations</a>, we’re able to train the multi-gpu xgboost model in an astonishing 60 seconds. The full run time including ETL and preprocessing is 178 seconds. Scaling resources to a six-node cluster allows training across the entire dataset with similar timing, but that isn’t the focus of this post.</p> <p id="0ced" class="graf graf--p graf-after--p graf--trailing">After running a hyperparameter search we achieved a best PR-AUC of 0.814104 on the validation set, which corresponds to 0.8103 on the test set. This is the benchmark we try to reach or beat using a deep learning model.</p> </div> </div> </section> <section class="section section--body"> <div class="section-divider"> <hr class="section-divider" /> </div> <div class="section-content"> <div class="section-inner sectionLayout--insetColumn"> <h4 id="5391" class="graf graf--h4 graf--leading">Deep learning specific data transforms</h4> <p id="2915" class="graf graf--p graf-after--h4">There are many ways of encoding tabular data into a format that a deep neural network (DNN) can understand. One common approach is to <a class="markup--anchor markup--p-anchor" href="https://hackernoon.com/what-is-one-hot-encoding-why-and-when-do-you-have-to-use-it-e3c6186d008f" target="_blank" rel="nofollow noopener noreferrer" data-href="https://hackernoon.com/what-is-one-hot-encoding-why-and-when-do-you-have-to-use-it-e3c6186d008f">one-hot encode</a> categorical variables, and to normalize continuous variables before feeding them directly into the first feed-forward layer. However, in our experience this is not very effective. In our own previous testing across multiple datasets, DNNs that use one-hot encoding weren’t competitive with gradient boosting methods.</p> <p id="2d2d" class="graf graf--p graf-after--p">More recently, <a class="markup--anchor markup--p-anchor" href="https://www.fast.ai/2018/04/29/categorical-embeddings/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.fast.ai/2018/04/29/categorical-embeddings/">categorical embeddings</a> — sometimes referred to as <a class="markup--anchor markup--p-anchor" href="https://arxiv.org/pdf/1604.06737.pdf" target="_blank" rel="nofollow noopener noreferrer" data-href="https://arxiv.org/pdf/1604.06737.pdf">entity embeddings</a> — have become popular for dealing with categorical variables. Categorical embeddings assign a learnable feature vector, or embedding, to each category, generally with a size correlated with the number of unique values in that category. Each unique category value has its own associated vector, allowing for a rich representation of the data where the values are represented as multiple floating-point values, rather than a single binary. The categorical embedding outputs and normalized continuous variables are then concatenated together as the input to the model.</p> <p id="16b0" class="graf graf--p graf-after--p">Bag-of-features type approaches have also been used, where all of the features are embedded in the same size embedding and the input to the model is composed of the sum of its feature embeddings. This technique is modelled after <a class="markup--anchor markup--p-anchor" href="https://en.wikipedia.org/wiki/Bag-of-words_model" target="_blank" rel="nofollow noopener noreferrer" data-href="https://en.wikipedia.org/wiki/Bag-of-words_model">bag-of-words</a> techniques from natural language processing, the most famous of which is <a class="markup--anchor markup--p-anchor" href="https://www.kdnuggets.com/2018/04/implementing-deep-learning-methods-feature-engineering-text-data-cbow.html" target="_blank" rel="nofollow noopener noreferrer" data-href="https://www.kdnuggets.com/2018/04/implementing-deep-learning-methods-feature-engineering-text-data-cbow.html">word2vec</a>.</p> <p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-27077" src="https://opendatascience.com/wp-content/uploads/2019/06/1_LEGTisA6yHNJCcBFZtSnEg.png" alt="" width="456" height="217" srcset="https://opendatascience.com/wp-content/uploads/2019/06/1_LEGTisA6yHNJCcBFZtSnEg.png 456w, https://opendatascience.com/wp-content/uploads/2019/06/1_LEGTisA6yHNJCcBFZtSnEg-300x143.png 300w" sizes="(max-width: 456px) 100vw, 456px" /></p> <p id="ddef" class="graf graf--p graf-after--figure">This first <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/notebooks/blob/b2ff2b82af22b66ff9f90351bef8aa4560e57ac0/mortgage/E2E_Deep_Learning.ipynb" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/notebooks/blob/b2ff2b82af22b66ff9f90351bef8aa4560e57ac0/mortgage/E2E_Deep_Learning.ipynb">RAPIDS+Deep Learning notebook</a> uses the bag-of-features approach, mapping all categorical and continuous variables into a single latent space, and uses an <a class="markup--anchor markup--p-anchor" href="https://pytorch.org/docs/stable/nn.html#embeddingbag" target="_blank" rel="nofollow noopener noreferrer" data-href="https://pytorch.org/docs/stable/nn.html#embeddingbag">EmbeddingBag layer</a> to take the average of all of the feature embeddings. These aggregated features are then fed into a sequence of four linear layers of width 600. Future posts will explore a wider range of options, and introduce some new ways of processing tabular data and new architectures for tabular data, an area of research that we are actively exploring.</p> <h4 id="9054" class="graf graf--h4 graf-after--p">Continuous Input Variables</h4> <p id="a6ad" class="graf graf--p graf-after--h4">To map continuous variables to an embedding space they must be discretized. <a class="markup--anchor markup--p-anchor" href="https://rapidsai.github.io/projects/cudf/en/0.7.0/api.html#cudf.dataframe.DataFrame.quantile" target="_blank" rel="nofollow noopener noreferrer" data-href="https://rapidsai.github.io/projects/cudf/en/0.7.0/api.html#cudf.dataframe.DataFrame.quantile">We’ve added functionality to the cuDF Series</a> to map a continuous input into buckets based on<a class="markup--anchor markup--p-anchor" href="https://en.wikipedia.org/wiki/Quantile" target="_blank" rel="nofollow noopener noreferrer" data-href="https://en.wikipedia.org/wiki/Quantile"> quantiles</a> which split a distribution into equal parts. In this context, we’re converting continuous variables to categoricals in order to take advantage of the power of embeddings. For our quantization in this notebook we use a quantile of 20 regions, each with 5% of the input distribution. A quantile dividing into four regions is shown below for a normal distribution to demonstrate how the split is applied when the data isn’t uniform.</p> <p><img decoding="async" class="alignnone size-full wp-image-27076" src="https://opendatascience.com/wp-content/uploads/2019/06/1_FqgYdLXf2nKSpjdD0ov7iQ.png" alt="" width="432" height="246" srcset="https://opendatascience.com/wp-content/uploads/2019/06/1_FqgYdLXf2nKSpjdD0ov7iQ.png 432w, https://opendatascience.com/wp-content/uploads/2019/06/1_FqgYdLXf2nKSpjdD0ov7iQ-300x171.png 300w" sizes="(max-width: 432px) 100vw, 432px" /></p> <h4 id="b9be" class="graf graf--h4 graf-after--figure">Sharing an Embedding Space</h4> <p id="3da0" class="graf graf--p graf-after--h4">Because we’re mapping all of our categorical and continuous variables into the same embedding space when using the bag of features model, we also need to make sure that the same value in different categories is handled correctly and isn’t mapped to the same id. To ensure this happens we hash the name of the input column with the value to create a unique id representing the value in that specific column. These are then mapped to an embedding bag so that all embeddings for an entry can be looked up and combined in a single pass. <a class="markup--anchor markup--p-anchor" href="https://rapidsai.github.io/projects/cudf/en/0.7.0/api.html#cudf.dataframe.DataFrame.hash_columns" target="_blank" rel="nofollow noopener noreferrer" data-href="https://rapidsai.github.io/projects/cudf/en/0.7.0/api.html#cudf.dataframe.DataFrame.hash_columns">Hashing of a series was also added to cuDF</a> to make this step easy.</p> <h4 id="70ca" class="graf graf--h4 graf-after--p">Implementation Details</h4> <p id="4b28" class="graf graf--p graf-after--h4">Our final model is an <a class="markup--anchor markup--p-anchor" href="https://pytorch.org/docs/stable/nn.html#embeddingbag" target="_blank" rel="nofollow noopener noreferrer" data-href="https://pytorch.org/docs/stable/nn.html#embeddingbag">EmbeddingBag layer</a> followed by several feedforward layers as seen below. We perform a small hyperparameter search exploring learning rate [log_uniform(1e-4..1e-2)], weight decay [uniform(1e-6..1e-4)], batch size [512, 1024, 4096, 8192], embedding size [8, 16, 24, 32, 64], and activation type [relu, selu]. 200 different combinations were randomly sampled and evaluated using the validation set.</p> <p><img decoding="async" class="alignnone size-full wp-image-27074" src="https://opendatascience.com/wp-content/uploads/2019/06/0_yRDTcgUlGU9vk5WY.png" alt="" width="529" height="398" srcset="https://opendatascience.com/wp-content/uploads/2019/06/0_yRDTcgUlGU9vk5WY.png 529w, https://opendatascience.com/wp-content/uploads/2019/06/0_yRDTcgUlGU9vk5WY-300x226.png 300w" sizes="(max-width: 529px) 100vw, 529px" /></p> <h4 id="2a71" class="graf graf--h4 graf--leading">Results and Key Takeaways</h4> <p id="cea2" class="graf graf--p graf-after--h4">The best performing DNN model on the validation set (PR-AUC of 0.8146) is able to achieve a PR-AUC of 0.8105 on our test set, slightly better than that of the xgboost model. The final hyperparameters are as follows: [lr = 2.005e-3, wd = 8e-6, batch size = 8192, embedding size = 32] <p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-27075" src="https://opendatascience.com/wp-content/uploads/2019/06/1_ExFwigidY6VNJSdn7BsHgw.png" alt="" width="656" height="136" srcset="https://opendatascience.com/wp-content/uploads/2019/06/1_ExFwigidY6VNJSdn7BsHgw.png 656w, https://opendatascience.com/wp-content/uploads/2019/06/1_ExFwigidY6VNJSdn7BsHgw-300x62.png 300w" sizes="auto, (max-width: 656px) 100vw, 656px" /></p> <p id="354b" class="graf graf--p graf-after--figure">Key Takeaways:</p> <ul class="postList"> <li id="5ad7" class="graf graf--li graf-after--p">Even with a simple architecture we’re able to achieve similar performance to xgboost with deep learning.</li> <li id="4c93" class="graf graf--li graf-after--li">The deep learning model processes 208K examples/s during training, taking 6–8 hours including preprocessing and ETL on a single V100. That’s much slower than the 4.95M examples/s xgboost model that ran in 60 seconds on a DGX-1 server; but it is roughly comparable considering it equates to 620K examples/s per GPU. In future posts we’ll explore<a class="markup--anchor markup--li-anchor" href="https://github.com/NVIDIA/apex" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/NVIDIA/apex"> mixed precision</a>, multi-gpu and other techniques to speed up the training of our DNN model. Our CPU benchmark processes only 2100 examples/s on a 40 core machine, which clearly demonstrates why we’re doing deep learning on GPUs. The CPU system would take over 12 days to complete a single run!</li> <li id="6804" class="graf graf--li graf-after--li">While slower, using data loaders, we are able to train across the entire dataset using a single GPU, which is an advantage in many applications. Currently this process involves batchwise transfer of data between the CPU and GPU. In future posts we’ll be exploring in-GPU-memory data loaders to dramatically speed up training.</li> </ul> <p id="2408" class="graf graf--p graf-after--li">This first foray into deep learning for <a class="markup--anchor markup--p-anchor" href="http://rapids.ai/" target="_blank" rel="nofollow noopener noreferrer" data-href="http://rapids.ai">RAPIDS.AI</a> is a significant step, demonstrating that we can achieve similar performance to xgboost with DNNS with a reasonably simple model and motivating further exploration.</p> <h4 id="28d9" class="graf graf--h4 graf-after--p">Next Steps</h4> <p id="b8e0" class="graf graf--p graf-after--h4">In future posts we’ll undertake the following explorations.</p> <ul class="postList"> <li id="5145" class="graf graf--li graf-after--p">Simplify preprocessing of tabular data on GPUs and explore more direct ETL pipelines for getting data directly into a format that PyTorch and other deep learning frameworks can work with.</li> <li id="68a2" class="graf graf--li graf-after--li">Introduce some of the trappings of modern deep learning like dropout, batchnorm, learning rate schedules, concatenated embeddings, etc., and explore different architectures for tabular deep learning.</li> <li id="0d9a" class="graf graf--li graf-after--li">Evaluate the performance of deep learning for tabular data on a wider range of datasets.</li> <li id="3007" class="graf graf--li graf-after--li">Explore multi-GPU and multi-node scaling of DNN models.</li> </ul> <p id="438c" class="graf graf--p graf-after--li">In the meantime, please take a deeper look at <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai/notebooks-extended/blob/master/advanced/E2E/mortgage/mortgage_e2e_deep_learning.ipynb" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai/notebooks-extended/blob/master/advanced/E2E/mortgage/mortgage_e2e_deep_learning.ipynb">the notebook</a>, adapt it to your favourite dataset, and let us know your experience.</p> <p><em>[Related Article: <a href="https://opendatascience.com/how-to-use-deep-learning-to-write-shakespeare/" target="_blank" rel="noopener noreferrer">How to Use Deep Learning to Write Shakespheare</a>]</em></p> <h4 id="acb0" class="graf graf--h4 graf-after--p">Get in touch and shape the future of RAPIDS</h4> <p id="bb74" class="graf graf--p graf-after--h4">RAPIDS relies on your feedback to make it a great platform for data science on GPUs. We’re excited to blur the lines between data analytics and deep learning. RAPIDS is committed to providing a first-class user experience, so thank you for being a part of this community.</p> <p id="cf86" class="graf graf--p graf-after--p graf--trailing">You can install the latest release with <a class="markup--anchor markup--p-anchor" href="https://anaconda.org/rapidsai/repo" target="_blank" rel="nofollow noopener noreferrer" data-href="https://anaconda.org/rapidsai/repo">Conda</a> or use the container found on <a class="markup--anchor markup--p-anchor" href="https://ngc.nvidia.com/catalog/containers/nvidia%2Frapidsai%2Frapidsai" target="_blank" rel="nofollow noopener noreferrer" data-href="https://ngc.nvidia.com/catalog/containers/nvidia%2Frapidsai%2Frapidsai">NVIDIA GPU Cloud</a> or <a class="markup--anchor markup--p-anchor" href="https://hub.docker.com/u/rapidsai/" target="_blank" rel="nofollow noopener noreferrer" data-href="https://hub.docker.com/u/rapidsai/">Docker Hub</a>. Let us know what you think via <a class="markup--anchor markup--p-anchor" href="https://github.com/rapidsai" target="_blank" rel="nofollow noopener noreferrer" data-href="https://github.com/rapidsai">GitHub stars and issues</a>.</p> <p><em>[Originally posted <a href="https://medium.com/rapids-ai/using-rapids-with-pytorch-e602da018285" target="_blank" rel="noopener noreferrer">here</a> by <a href="https://twitter.com/Even_Oldridge" target="_blank" rel="noopener noreferrer">@even_oldridge]</a></em></p> </div> </div> </section> <!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post addthis_tool" data-url="https://opendatascience.com/using-rapids-with-pytorch/"></div><!-- AddThis Share Buttons generic via filter on the_content --></div> </div> <div class="post-sharrre"> <div class="sharrre-twitter" data-url="https://opendatascience.com/using-rapids-with-pytorch/" data-text="Using RAPIDS with PyTorch" data-title="Tweet"></div> <div class="sharrre-facebook" data-url="https://opendatascience.com/using-rapids-with-pytorch/" data-text="Using RAPIDS with PyTorch" data-title="Share"></div> <div class="sharrre-pinterest" data-url="https://opendatascience.com/using-rapids-with-pytorch/" data-text="Using RAPIDS with PyTorch" data-title="Pin"></div> <div class="sharrre-linkedin" data-url="https://opendatascience.com/using-rapids-with-pytorch/" data-text="Using RAPIDS with PyTorch" data-title="Share"></div> <div class="sharrre-googleplus" data-url="https://opendatascience.com/using-rapids-with-pytorch/" data-text="Using RAPIDS with PyTorch" data-title="+1"></div> </div> <!-- About author --> <div class="about-author" id="about-author"> <div class="title-default"> <a href="#" class="active">About author</a> </div> <div class="about"> <img data-del="avatar" src='https://opendatascience.com/wp-content/uploads/2019/06/RAPIDS-logo-square-119x120.png' class='avatar pp-user-avatar avatar-117 photo ' height='117' width='117'/> <h2> <a href="https://opendatascience.com/user/rapids/" title="ODSC Speaker" class="tag-defaultic">RAPIDS</a> </h2> <div class="social"> </div> </div> </div> <div id="text-4" class="sidebar-item clearfix widget_text"><div class="title-default"><span class="active"> </span></div><div class="widget-content"> <div class="textwidget"></div> </div></div>1 </div> <!-- Sidebar --> <div class="col-md-4 sajd"> <div id="goliath_sidebar_banner-3" class="sidebar-item clearfix goliath_sidebar_banner"> <div class="banner-300x250"> <a href="https://odsc.com/boston/" target="_blank"><img src="https://opendatascience.com/wp-content/uploads/goliath/Week%20of%20Feb%2010%20Blog%20Banners_300x250%20East%2040%25_.png" alt="east square"></a> </div> </div> <!-- After widget close div --> <div id="custom_html-2" class="widget_text sidebar-item clearfix widget_custom_html"><div class="title-default"><span class="active"> </span></div><div class="widget-content"><div class="textwidget custom-html-widget"><!--[if lte IE 8]> <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js"></script> <![endif]--> <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script> <script> hbspt.forms.create({ portalId: '1865444', formId: '2db28ac9-d988-42c8-bf91-29f8f7fcfac1' }); </script></div></div></div> <div id="goliath_recent_posts-2" class="sidebar-item clearfix recent-posts"> <!-- Latest reviews --> <div class="widget-tabs mobile"> <div class="title-default"> <a href="#" class="active">LATEST POSTS</a> <a href="#" class="view-all">View all</a> </div> <div class="items"> <div class="post-item" data-overlay="1" data-overlay-excerpt="Cangrade has announced an expansion of its women- and minority-owned business discount program to include Jules,..." data-overlay-url="https://opendatascience.com/cangrade-expands-women-and-minority-owned-business-discount-to-include-new-ai-copilot-jules/"> <div class="inner-wrapper"> <div class="title-image-row"> <div class="image"> <a href="https://opendatascience.com/cangrade-expands-women-and-minority-owned-business-discount-to-include-new-ai-copilot-jules/"><img src="https://opendatascience.com/wp-content/uploads/2025/02/Untitled-design-13-70x70.png" alt="Cangrade Expands Women- and Minority-Owned Business Discount to Include New AI Copilot, Jules"/></a> </div> <div class="title"> <h2> <a href="https://opendatascience.com/cangrade-expands-women-and-minority-owned-business-discount-to-include-new-ai-copilot-jules/">Cangrade Expands Women- and Minority-Owned Business Discount to Include New AI Copilot, Jules</a> </h2> <p> <a href="https://opendatascience.com/category/news/" title="AI and Data Science News" class="tag-default">AI and Data Science News</a>posted by <a href="https://opendatascience.com/user/admin_odsc/" title="AI and Data Science News" class="tag-default author-default">ODSC Team</a> <span class="legend-default"> <i class="fa fa-clock-o"></i>Feb 15, 2025 </span> <div class="intro intros"> Cangrade has announced an expansion of its women- and minority-owned business discount program to include Jules,... </div> </p> </div> </div> </div> </div><div class="post-item" data-overlay="1" data-overlay-excerpt="The release of DeepSeek R1 has sparked intense discussions across the AI community, marking a significant..." data-overlay-url="https://opendatascience.com/deepseek-r1-hype-vs-reality-a-deeper-look-at-ais-latest-disruption/"> <div class="inner-wrapper"> <div class="title-image-row"> <div class="image"> <a href="https://opendatascience.com/deepseek-r1-hype-vs-reality-a-deeper-look-at-ais-latest-disruption/"><img src="https://opendatascience.com/wp-content/uploads/2025/02/Deepseek-70x70.png" alt="DeepSeek R1: Hype vs. Reality—A Deeper Look at AI’s Latest Disruption"/></a> </div> <div class="title"> <h2> <a href="https://opendatascience.com/deepseek-r1-hype-vs-reality-a-deeper-look-at-ais-latest-disruption/">DeepSeek R1: Hype vs. Reality—A Deeper Look at AI’s Latest Disruption</a> </h2> <p> <a href="https://opendatascience.com/tag/podcast/" title="Podcast" class="tagy">Podcast</a><a href="https://opendatascience.com/category/modeling/" title="Modeling" class="tag-default">Modeling</a>posted by <a href="https://opendatascience.com/user/admin_odsc/" title="Modeling" class="tag-default author-default">ODSC Team</a> <span class="legend-default"> <i class="fa fa-clock-o"></i>Feb 14, 2025 </span> <div class="intro intros"> The release of DeepSeek R1 has sparked intense discussions across the AI community, marking a significant... </div> </p> </div> </div> </div> </div><div class="post-item" data-overlay="1" data-overlay-excerpt="We’re thrilled to introduce you to the leading experts and passionate data and AI practitioners who..." data-overlay-url="https://opendatascience.com/10-cant-miss-odsc-east-2025-sessions-to-teach-you-about-llms-and-ai-agents/"> <div class="inner-wrapper"> <div class="title-image-row"> <div class="image"> <a href="https://opendatascience.com/10-cant-miss-odsc-east-2025-sessions-to-teach-you-about-llms-and-ai-agents/"><img src="https://opendatascience.com/wp-content/uploads/2023/10/shutterstock_2354631481-70x70.jpg" alt="10 Can’t-Miss ODSC East 2025 Sessions to Teach You About LLMs and AI Agents"/></a> </div> <div class="title"> <h2> <a href="https://opendatascience.com/10-cant-miss-odsc-east-2025-sessions-to-teach-you-about-llms-and-ai-agents/">10 Can’t-Miss ODSC East 2025 Sessions to Teach You About LLMs and AI Agents</a> </h2> <p> <a href="https://opendatascience.com/tag/east-2025/" title="East 2025" class="tagy">East 2025</a><a href="https://opendatascience.com/category/conferences/" title="Conferences" class="tag-default">Conferences</a>posted by <a href="https://opendatascience.com/user/admin_odsc/" title="Conferences" class="tag-default author-default">ODSC Team</a> <span class="legend-default"> <i class="fa fa-clock-o"></i>Feb 14, 2025 </span> <div class="intro intros"> We’re thrilled to introduce you to the leading experts and passionate data and AI practitioners who... </div> </p> </div> </div> </div> </div> </div> </div> </div> <!-- After widget close div --> <div id="goliath_sidebar_banner-4" class="sidebar-item clearfix goliath_sidebar_banner"> <div class="banner-300x250"> <a href="https://odsc.com/boston/" target="_blank"><img src="https://opendatascience.com/wp-content/uploads/goliath/Week%20of%20Feb%2010%20Blog%20Banners_300x250.png" alt="east 2 square"></a> </div> </div> <!-- After widget close div --> <div id="wpp-2" class="sidebar-item clearfix popular-posts"> </div></div> <div id="goliath_sidebar_banner-2" class="sidebar-item clearfix goliath_sidebar_banner"> <div class="banner-300x250"> <a href="https://odsc.com/boston/aix-east/" target="_blank"><img src="https://opendatascience.com/wp-content/uploads/goliath/Week%20of%20Feb%2010%20Blog%20Banners_300x250%20GEN%20AI.png" alt="gen aix square"></a> </div> </div> <!-- After widget close div --> <div id="goliath_tag_cloud-3" class="sidebar-item clearfix goliath_tag_cloud"> <div class="sidebar-item clearfix"> <!-- Archive --> <div class="widget-tabs"> <div class="title-default"> <span class="active">Tags</span> </div> <div class="items tag-cloud"> <a href="https://opendatascience.com/tag/machine-learning/" class="tag-1"><span>Machine Learning</span><s>111</s></a><a href="https://opendatascience.com/tag/azure/" class="tag-1"><span>Azure</span><s>69</s></a><a href="https://opendatascience.com/tag/east-2022/" class="tag-1"><span>East 2022</span><s>65</s></a><a href="https://opendatascience.com/tag/odsc-east-2015speaker-slides/" class="tag-1"><span>ODSC East 2015|Speaker Slides</span><s>64</s></a><a href="https://opendatascience.com/tag/east-2024/" class="tag-1"><span>East 2024</span><s>58</s></a><a href="https://opendatascience.com/tag/podcast/" class="tag-1"><span>Podcast</span><s>55</s></a><a href="https://opendatascience.com/tag/west-2024/" class="tag-1"><span>West 2024</span><s>51</s></a><a href="https://opendatascience.com/tag/microsoft/" class="tag-1"><span>Microsoft</span><s>49</s></a><a href="https://opendatascience.com/tag/west-2022/" class="tag-1"><span>West 2022</span><s>49</s></a><a href="https://opendatascience.com/tag/deep-learning/" class="tag-1"><span>Deep Learning</span><s>48</s></a><a href="https://opendatascience.com/tag/east-2020/" class="tag-1"><span>East 2020</span><s>48</s></a><a href="https://opendatascience.com/tag/east-2023/" class="tag-1"><span>East 2023</span><s>47</s></a><a href="https://opendatascience.com/tag/west-2021/" class="tag-1"><span>West 2021</span><s>46</s></a><a href="https://opendatascience.com/tag/accelerate-ai/" class="tag-1"><span>Accelerate AI</span><s>43</s></a><a href="https://opendatascience.com/tag/east-2021/" class="tag-1"><span>East 2021</span><s>42</s></a><a href="https://opendatascience.com/tag/conferences/" class="tag-1"><span>Conferences</span><s>41</s></a><a href="https://opendatascience.com/tag/west-2023/" class="tag-1"><span>West 2023</span><s>40</s></a><a href="https://opendatascience.com/tag/europe-2020/" class="tag-1"><span>Europe 2020</span><s>39</s></a><a href="https://opendatascience.com/tag/europe-2021/" class="tag-1"><span>Europe 2021</span><s>38</s></a><a href="https://opendatascience.com/tag/cybersecurity/" class="tag-1"><span>cybersecurity</span><s>37</s></a> </div> </div> </div> </div> <!-- After widget close div --> <div id="widget_crp-2" class="sidebar-item clearfix crp_posts_list_widget"><div class="title-default"><span class="active">Related posts</span></div><div class="widget-content"><div class="crp_related crp_related_widget crp-rounded-thumbs"><ul><li><a href="https://opendatascience.com/foundation-models-for-times-series/" class="crp_link post-49825"><figure><img width="150" height="150" src="https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-150x150.png" class="crp_featured crp_thumb thumbnail" alt="Foundation Models for Times Series" style="" title="Foundation Models for Times Series" decoding="async" loading="lazy" srcset="https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-150x150.png 150w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-180x180.png 180w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-119x120.png 119w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-55x55.png 55w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-70x70.png 70w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-114x114.png 114w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-45x45.png 45w" sizes="auto, (max-width: 150px) 100vw, 150px" srcset="https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-150x150.png 150w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-180x180.png 180w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-119x120.png 119w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-55x55.png 55w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-70x70.png 70w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-114x114.png 114w, https://opendatascience.com/wp-content/uploads/2025/02/ZillzTop-45x45.png 45w" /></figure><span class="crp_title">Foundation Models for Times Series</span></a></li><li><a href="https://opendatascience.com/phd-level-ai-agents-the-next-frontier-and-its-impact/" class="crp_link post-49793"><figure><img width="150" height="150" src="https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-150x150.jpg" class="crp_featured crp_thumb thumbnail" alt="PhD-Level AI Agents: The Next Frontier and its Impact" style="" title="PhD-Level AI Agents: The Next Frontier and its Impact" decoding="async" loading="lazy" srcset="https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-150x150.jpg 150w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-180x180.jpg 180w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-119x120.jpg 119w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-55x55.jpg 55w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-70x70.jpg 70w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-114x114.jpg 114w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-45x45.jpg 45w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-560x560.jpg 560w" sizes="auto, (max-width: 150px) 100vw, 150px" srcset="https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-150x150.jpg 150w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-180x180.jpg 180w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-119x120.jpg 119w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-55x55.jpg 55w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-70x70.jpg 70w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-114x114.jpg 114w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-45x45.jpg 45w, https://opendatascience.com/wp-content/uploads/2025/02/Shutterstock_2391738635-560x560.jpg 560w" /></figure><span class="crp_title">PhD-Level AI Agents: The Next Frontier and its Impact</span></a></li><li><a href="https://opendatascience.com/optimizing-rag-pipelines-in-financial-services-advanced-strategies-from-fitch-group/" class="crp_link post-49747"><figure><img width="150" height="150" src="https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-150x150.png" class="crp_featured crp_thumb thumbnail" alt="Optimizing RAG Pipelines in Financial Services: Advanced Strategies from Fitch Group" style="" title="Optimizing RAG Pipelines in Financial Services: Advanced Strategies from Fitch Group" decoding="async" loading="lazy" srcset="https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-150x150.png 150w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-180x180.png 180w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-119x120.png 119w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-55x55.png 55w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-70x70.png 70w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-114x114.png 114w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-45x45.png 45w" sizes="auto, (max-width: 150px) 100vw, 150px" srcset="https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-150x150.png 150w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-180x180.png 180w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-119x120.png 119w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-55x55.png 55w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-70x70.png 70w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-114x114.png 114w, https://opendatascience.com/wp-content/uploads/2025/02/RAGTOP-45x45.png 45w" /></figure><span class="crp_title">Optimizing RAG Pipelines in Financial Services:&hellip;</span></a></li></ul><div class="crp_clear"></div></div></div></div> </div> </div> <!-- Footer --> <footer class="container footer"> <div id="text-2" class="col-md-4 sidebar-item footer-item widget widget_text"><div class="title-default"><span class="active">About us</span></div><div class="widget-content"> <div class="textwidget"><p><img decoding="async" class="aligncenter" src="https://opendatascience.com/wp-content/uploads/2017/11/ODSC-logo-blue-no-gradient-1.png" /><br /> Proactively envisioned multimedia based expertise and cross-media growth strategies. Seamlessly visualize quality intellectual capital without superior collaboration and idea-sharing. Holistically pontificate installed base portals after maintainable products.</p> </div> </div></div> <div id="goliath_category_cloud-2" class="col-md-4 sidebar-item footer-item widget goliath_category_cloud"> <div class="widget-tabs page-map"> <div class="title-default"> <span class="active">Content Map</span> </div> <div class="items archives"> <table class="table"> <tr><td><a href="https://opendatascience.com/category/modeling/">Modeling</a><span>1711</span></td><td><td><a href="https://opendatascience.com/category/conferences/">Conferences</a><span>762</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/news/">AI and Data Science News</a><span>759</span></td><td><td><a href="https://opendatascience.com/category/featured-post/">Featured Post</a><span>742</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/accelerate-ai/">Business + Management</a><span>542</span></td><td><td><a href="https://opendatascience.com/category/tools-languages/">Tools &amp; Languages</a><span>366</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/modeling/machine-learning/">Machine Learning</a><span>353</span></td><td><td><a href="https://opendatascience.com/category/modeling/nlp-text-analytics/">NLP &amp; LLMs</a><span>288</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/modeling/deep-learning/">Deep Learning</a><span>233</span></td><td><td><a href="https://opendatascience.com/category/careers/">Career Insights</a><span>214</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/conferences/odsc-speaker/">Blogs from ODSC Speakers</a><span>202</span></td><td><td><a href="https://opendatascience.com/category/blog/">Blog</a><span>201</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/modeling/data-visualization/">Data Visualization</a><span>138</span></td><td><td><a href="https://opendatascience.com/category/modeling/statistics/">Statistics</a><span>127</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/tools-languages/r/">R</a><span>125</span></td><td><td><a href="https://opendatascience.com/category/tools-languages/python/">Python</a><span>116</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/modeling/predictive-analytics/">Predictive Analytics</a><span>99</span></td><td><td><a href="https://opendatascience.com/category/accelerate-ai/technology/">Technology</a><span>77</span></td></td></tr><tr><td><a href="https://opendatascience.com/category/guest-contributor/">Guest contributor</a><span>74</span></td><td><td><a href="https://opendatascience.com/category/modeling/research-modeling/">Research</a><span>72</span></td></td></tr> </table> </div> </div> </div> <!-- After widget close div --> <div id="goliath_tag_cloud-2" class="col-md-4 sidebar-item footer-item widget goliath_tag_cloud"> <div class="sidebar-item clearfix"> <!-- Archive --> <div class="widget-tabs"> <div class="title-default"> <span class="active">Tags</span> </div> <div class="items tag-cloud"> <a href="https://opendatascience.com/tag/machine-learning/" class="tag-1"><span>Machine Learning</span><s>111</s></a><a href="https://opendatascience.com/tag/azure/" class="tag-1"><span>Azure</span><s>69</s></a><a href="https://opendatascience.com/tag/east-2022/" class="tag-1"><span>East 2022</span><s>65</s></a><a href="https://opendatascience.com/tag/odsc-east-2015speaker-slides/" class="tag-1"><span>ODSC East 2015|Speaker Slides</span><s>64</s></a><a href="https://opendatascience.com/tag/east-2024/" class="tag-1"><span>East 2024</span><s>58</s></a><a href="https://opendatascience.com/tag/podcast/" class="tag-1"><span>Podcast</span><s>55</s></a><a href="https://opendatascience.com/tag/west-2024/" class="tag-1"><span>West 2024</span><s>51</s></a><a href="https://opendatascience.com/tag/microsoft/" class="tag-1"><span>Microsoft</span><s>49</s></a><a href="https://opendatascience.com/tag/west-2022/" class="tag-1"><span>West 2022</span><s>49</s></a><a href="https://opendatascience.com/tag/deep-learning/" class="tag-1"><span>Deep Learning</span><s>48</s></a><a href="https://opendatascience.com/tag/east-2020/" class="tag-1"><span>East 2020</span><s>48</s></a><a href="https://opendatascience.com/tag/east-2023/" class="tag-1"><span>East 2023</span><s>47</s></a><a href="https://opendatascience.com/tag/west-2021/" class="tag-1"><span>West 2021</span><s>46</s></a><a href="https://opendatascience.com/tag/accelerate-ai/" class="tag-1"><span>Accelerate AI</span><s>43</s></a><a href="https://opendatascience.com/tag/east-2021/" class="tag-1"><span>East 2021</span><s>42</s></a><a href="https://opendatascience.com/tag/conferences/" class="tag-1"><span>Conferences</span><s>41</s></a><a href="https://opendatascience.com/tag/west-2023/" class="tag-1"><span>West 2023</span><s>40</s></a><a href="https://opendatascience.com/tag/europe-2020/" class="tag-1"><span>Europe 2020</span><s>39</s></a><a href="https://opendatascience.com/tag/europe-2021/" class="tag-1"><span>Europe 2021</span><s>38</s></a><a href="https://opendatascience.com/tag/cybersecurity/" class="tag-1"><span>cybersecurity</span><s>37</s></a> </div> </div> </div> </div> <!-- After widget close div --> <div id="text-3" class="col-md-4 sidebar-item footer-item widget widget_text"><div class="title-default"><span class="active">ODSC Privacy Policy</span></div><div class="widget-content"> <div class="textwidget"><p>View ODSC <a href="https://opendatascience.com/odsc-privacy-policy/">Privacy Policy</a></p> </div> </div></div> </footer> <!-- Copyright --> <div class="container copyright"> <div class="left"> Copyright Open Data Science 2025. All Rights Reserved </div> <div class="right"> <ul> <li> <a href="https://www.facebook.com/OPENDATASCI/" target="_blank"><i class="fa fa-facebook-square"></i></a><a href="https://twitter.com/_odsc" target="_blank"><i class="fa fa-twitter-square"></i></a><a href="https://www.youtube.com/channel/UCDS20hpBFiv_Kdp5Ibh0vew" target="_blank"><i class="fa fa-youtube-square"></i></a><a href="https://www.linkedin.com/groups/8245997" target="_blank"><i class="fa fa-linkedin-square"></i></a> </li> </ul> </div> </div> <a href="#" class="back-to-top"><i class="fa fa-angle-up"></i></a> <!-- LikeBtn.com BEGIN --> <script type="text/javascript">var likebtn_wl = 1; (function(d, e, s) {a = d.createElement(e);m = d.getElementsByTagName(e)[0];a.async = 1;a.src = s;m.parentNode.insertBefore(a, m)})(document, 'script', '//w.likebtn.com/js/w/widget.js'); if (typeof(LikeBtn) != "undefined") { LikeBtn.init(); }</script> <!-- LikeBtn.com END --> <div id="um_upload_single" style="display:none"> </div><div id="um_view_photo" style="display:none"> <a href="#" data-action="um_remove_modal" class="um-modal-close"><i class="um-faicon-times"></i></a> <div class="um-modal-body photo"> <div class="um-modal-photo"> </div> </div> </div><script type="text/javascript"> adroll_adv_id = "XDCO6MZFKZB6HAQENDPVJ4"; adroll_pix_id = "WXI33UTPCNAORJUY22JFZS"; (function () { var _onload = function(){ if (document.readyState && !/loaded|complete/.test(document.readyState)){setTimeout(_onload, 10);return} if (!window.__adroll_loaded){__adroll_loaded=true;setTimeout(_onload, 50);return} var scr = document.createElement("script"); var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com"); scr.setAttribute('async', 'true'); scr.type = "text/javascript"; scr.src = host + "/j/roundtrip.js"; ((document.getElementsByTagName('head') || [null])[0] || document.getElementsByTagName('script')[0].parentNode).appendChild(scr); }; if (window.addEventListener) {window.addEventListener('load', _onload, false);} else {window.attachEvent('onload', _onload)} }()); </script> <!-- Meta Pixel Event Code --> <script type='text/javascript'> document.addEventListener( 'wpcf7mailsent', function( event ) { if( "fb_pxl_code" in event.detail.apiResponse){ eval(event.detail.apiResponse.fb_pxl_code); } }, false ); </script> <!-- End Meta Pixel Event Code --> <div id='fb-pxl-ajax-code'></div><div class="mobmenu-overlay"></div><div class="mob-menu-header-holder mobmenu" data-menu-display="mob-menu-slideout-over" data-open-icon="down-open" data-close-icon="up-open"><div class="mobmenul-container"><a href="#" class="mobmenu-left-bt mobmenu-trigger-action" data-panel-target="mobmenu-left-panel" aria-label="Left Menu Button"><i class="mob-icon-menu mob-menu-icon"></i><i class="mob-icon-cancel-1 mob-cancel-button"></i></a></div><div class="mobmenur-container"><a href="#" class="mobmenu-right-bt mobmenu-trigger-action" data-panel-target="mobmenu-right-panel" aria-label="Right Menu Button"><i class="mob-icon-menu mob-menu-icon"></i><i class="mob-icon-cancel-1 mob-cancel-button"></i></a></div></div> <div class="mobmenu-left-alignment mobmenu-panel mobmenu-left-panel "> <a href="#" class="mobmenu-left-bt" aria-label="Left Menu Button"><i class="mob-icon-cancel-1 mob-cancel-button"></i></a> <div class="mobmenu-content"> <div class="menu-primary-container"><ul id="mobmenuleft" class="wp-mobile-menu" role="menubar" aria-label="Main navigation for mobile devices"><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8020"><a href="https://opendatascience.com/category/modeling/" role="menuitem" class="">Modeling</a> <ul role='menu' class="sub-menu "> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-46773"><a href="https://opendatascience.com/category/modeling/data-analytics/" role="menuitem" class="">Data Analytics</a></li> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45703"><a href="https://opendatascience.com/category/modeling/data-engineering/" role="menuitem" class="">Data Engineering</a></li> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-37919"><a href="https://opendatascience.com/category/modeling/data-visualization/" role="menuitem" class="">Data Visualization</a></li> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-17010"><a href="https://opendatascience.com/category/modeling/deep-learning/" role="menuitem" class="">Deep Learning</a></li> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-41544"><a href="https://opendatascience.com/category/modeling/generative-ai/" role="menuitem" class="">Generative AI</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25739"><a href="https://opendatascience.com/category/modeling/machine-learning/" role="menuitem" class="">Machine Learning</a></li> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-17011"><a href="https://opendatascience.com/category/modeling/nlp-text-analytics/" role="menuitem" class="">NLP and LLMs</a></li> <li role="none" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-45702"><a href="https://opendatascience.com/category/tools-languages/python/" role="menuitem" class="">Python</a></li></ul> </li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15400"><a href="https://opendatascience.com/category/accelerate-ai" role="menuitem" class="">Business &#038; Use Cases</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25741"><a href="https://opendatascience.com/category/careers/" role="menuitem" class="">Career Advice</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25748"><a href="https://opendatascience.com/join-the-open-data-science-contributor-community/" role="menuitem" class="">Write for us</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-25743"><a href="#" role="menuitem" class="">Community</a> <ul role='menu' class="sub-menu "> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32624"><a href="https://hubs.li/Q02zdcSk0" role="menuitem" class="">ODSC Community Slack Channel</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35201"><a href="https://aiplus.odsc.com/bundles/odsc-webinars" role="menuitem" class="">Meetups</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45704"><a href="https://odsc.substack.com/" role="menuitem" class="">Substack</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45705"><a href="https://medium.com/@odsc" role="menuitem" class="">Medium</a></li></ul> </li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17803"><a href="https://aiplus.training/events/" role="menuitem" class="">Upcoming Webinars</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-45706"><a href="https://opendatascience.com/tag/podcast/" role="menuitem" class="">Ai X Podcast</a> <ul role='menu' class="sub-menu "> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45707"><a href="https://podcasts.apple.com/ua/podcast/odscs-ai-x-podcast/id1721516836" role="menuitem" class="">Apple</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45708"><a href="https://open.spotify.com/show/0TJKGcQsIO0xr0kiLKhOER?si=6f0d4cc2bfbf4728&amp;nd=1&amp;dlsi=3893757b957e4a52" role="menuitem" class="">Spotify</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-45709"><a href="https://soundcloud.com/aixpodcast" role="menuitem" class="">SoundCloud</a></li></ul> </li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25742"><a href="https://aiplus.odsc.com/collections" role="menuitem" class="">Training</a></li></ul></div> </div><div class="mob-menu-left-bg-holder"></div></div> <div class="mobmenu-right-alignment mobmenu-panel mobmenu-right-panel "> <a href="#" class="mobmenu-right-bt" aria-label="Right Menu Button"><i class="mob-icon-cancel-1 mob-cancel-button"></i></a> <div class="mobmenu-content"> <div class="menu-topmenu-container"><ul id="mobmenuright" class="wp-mobile-menu" role="menubar" aria-label="Main navigation for mobile devices"><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-15433"><a target="_blank" href="http://odsc.com" role="menuitem" class="">ODSC Conferences</a> <ul role='menu' class="sub-menu "> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14780"><a target="_blank" href="https://odsc.com/boston" role="menuitem" class="">ODSC EAST</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14782"><a target="_blank" href="https://odsc.com/california" role="menuitem" class="">ODSC WEST</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14781"><a target="_blank" href="https://odsc.com/europe/" role="menuitem" class="">ODSC EUROPE</a></li> <li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18616"><a target="_blank" href="https://odsc.com/apac/" role="menuitem" class="">ODSC APAC</a></li></ul> </li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25736"><a target="_blank" href="https://www.meetup.com/open-data-odsc/" role="menuitem" class="">MEETUPS</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15398"><a target="_blank" href="https://aiplus.odsc.com/" role="menuitem" class="">AI+ Training</a></li><li role="none" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14785"><a target="_blank" href="https://opendatascience.com/newsletter/" role="menuitem" class="">Newsletter</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-47915"><a href="https://jobs.opendatascience.com/" role="menuitem" class="">Jobs</a></li><li role="none" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25737"><a target="_blank" href="https://odsc.com/california/call-for-speakers-west/" role="menuitem" class="">Speak at ODSC</a></li></ul></div> </div><div class="mob-menu-right-bg-holder"></div></div> <script type="text/javascript" id="code-prettify-js-before"> /* <![CDATA[ */ var codePrettifyLoaderBaseUrl = "https:\/\/opendatascience.com\/wp-content\/plugins\/code-prettify\/prettify"; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/code-prettify/prettify/run_prettify.js?ver=1.4.0" id="code-prettify-js"></script> <script type="text/javascript" id="leadin-script-loader-js-js-extra"> /* <![CDATA[ */ var leadin_wordpress = {"userRole":"visitor","pageType":"post","leadinPluginVersion":"11.1.82"}; /* ]]> */ </script> <script type="text/javascript" src="https://js.hs-scripts.com/1865444.js?integration=WordPress&amp;ver=11.1.82" id="leadin-script-loader-js-js"></script> <script type="text/javascript" id="rss-retriever-ajax-js-extra"> /* <![CDATA[ */ var rss_retriever = {"ajax_url":"https:\/\/opendatascience.com\/wp-admin\/admin-ajax.php"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/wp-rss-retriever/inc/js/rss-retriever-ajax.js?ver=1.6.5" id="rss-retriever-ajax-js"></script> <script type="text/javascript" id="ppress-frontend-script-js-extra"> /* <![CDATA[ */ var pp_ajax_form = {"ajaxurl":"https:\/\/opendatascience.com\/wp-admin\/admin-ajax.php","confirm_delete":"Are you sure?","deleting_text":"Deleting...","deleting_error":"An error occurred. Please try again.","nonce":"722a2b2b6d","disable_ajax_form":"false","is_checkout":"0","is_checkout_tax_enabled":"0","is_checkout_autoscroll_enabled":"true"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/wp-user-avatar/assets/js/frontend.min.js?ver=4.15.21" id="ppress-frontend-script-js"></script> <script type="text/javascript" id="audioigniter-js-extra"> /* <![CDATA[ */ var aiStrings = {"play_title":"Play %s","pause_title":"Pause %s","previous":"Previous track","next":"Next track","toggle_list_repeat":"Toggle track listing repeat","toggle_track_repeat":"Toggle track repeat","toggle_list_visible":"Toggle track listing visibility","buy_track":"Buy this track","download_track":"Download this track","volume_up":"Volume Up","volume_down":"Volume Down","open_track_lyrics":"Open track lyrics","set_playback_rate":"Set playback rate","skip_forward":"Skip forward","skip_backward":"Skip backward","shuffle":"Shuffle"}; var aiStats = {"enabled":"","apiUrl":"https:\/\/opendatascience.com\/wp-json\/audioigniter\/v1"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/plugins/audioigniter/player/build/app.js?ver=2.0.1" id="audioigniter-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/ui/effect.min.js?ver=1.13.3" id="jquery-effects-core-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/ui/effect-slide.min.js?ver=1.13.3" id="jquery-effects-slide-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-includes/js/jquery/ui/effect-size.min.js?ver=1.13.3" id="jquery-effects-size-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/bootstrap.js?ver=6.7.1" id="plsh-bootstrap-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/bootstrap-hover-dropdown.js?ver=6.7.1" id="plsh-bootstrap-hover-dropdown-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.cycle2.min.js?ver=6.7.1" id="plsh-cycle2-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.cycle2.scrollVert.js?ver=6.7.1" id="plsh-scroll-vertical-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.cycle2.swipe.min.js?ver=6.7.1" id="plsh-cycle2-swipe-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.inview.js?ver=6.7.1" id="plsh-inview-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.hoverintent.min.js?ver=6.7.1" id="plsh-hoverintent-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.sharrre.min.js?ver=6.7.1" id="plsh-sharrre-js"></script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/vendor/jquery.particleground.js?ver=6.7.1" id="plsh-particles-js"></script> <script type="text/javascript" id="plsh-theme-js-extra"> /* <![CDATA[ */ var ajax_object = {"ajaxurl":"https:\/\/opendatascience.com\/wp-admin\/admin-ajax.php","readmore":"Read more","article":"Article","show_post_quick_view":"on","show_mosaic_overlay":"on","enable_sidebar_affix":"on","particle_color":"#e8e8e8"}; /* ]]> */ </script> <script type="text/javascript" src="https://opendatascience.com/wp-content/themes/goliath/theme/assets/js/theme.js?ver=6.7.1" id="plsh-theme-js"></script> <!-- Cookie Notice plugin v2.5.5 by Hu-manity.co https://hu-manity.co/ --> <div id="cookie-notice" role="dialog" class="cookie-notice-hidden cookie-revoke-hidden cn-position-bottom" aria-label="Cookie Notice" style="background-color: rgba(50,50,58,1);"><div class="cookie-notice-container" style="color: #fff"><span id="cn-notice-text" class="cn-text-container">We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.</span><span id="cn-notice-buttons" class="cn-buttons-container"><a href="#" id="cn-accept-cookie" data-cookie-set="accept" class="cn-set-cookie cn-button" aria-label="Confirm" style="background-color: #00a99d">Confirm</a><a href="#" id="cn-refuse-cookie" data-cookie-set="refuse" class="cn-set-cookie cn-button" aria-label="No" style="background-color: #00a99d">No</a><a href="https://opendatascience.com/odsc-privacy-policy/" target="_blank" id="cn-more-info" class="cn-more-info cn-button" aria-label="Privacy policy" style="background-color: #00a99d">Privacy policy</a></span><span id="cn-close-notice" data-cookie-set="accept" class="cn-close-icon" title="No"></span></div> <div class="cookie-revoke-container" style="color: #fff"><span id="cn-revoke-text" class="cn-text-container">You can revoke your consent any time using the Revoke consent button.</span><span id="cn-revoke-buttons" class="cn-buttons-container"><a href="#" class="cn-revoke-cookie cn-button" aria-label="Revoke consent" style="background-color: #00a99d">Revoke consent</a></span> </div> </div> <!-- / Cookie Notice plugin --> <script type="text/javascript"> jQuery( '#request' ).val( '' ); </script> <!-- END body --> <script type="text/javascript"> _linkedin_data_partner_id = "44953"; </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=44953&fmt=gif" /> </noscript> </body> <!-- END html --> </html>

Pages: 1 2 3 4 5 6 7 8 9 10