{"id":31437,"date":"2017-06-06T19:27:42","date_gmt":"2017-06-06T16:27:42","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=31437"},"modified":"2018-11-29T14:31:41","modified_gmt":"2018-11-29T11:31:41","slug":"tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/","title":{"rendered":"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#Issues_across_training_scenarios\" >Issues across training scenarios<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#How_to_accelerate\" >How to accelerate?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#Want_details_Watch_the_video\" >Want details? Watch the video!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#Related_slides\" >Related slides<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#Further_reading\" >Further reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#About_the_experts\" >About the experts<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Issues_across_training_scenarios\"><\/span>Issues across training scenarios<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Combined with GPUs, TensorFlow poses a powerful instrument for deep learning. However, it may still be difficult to switch between CPUs and GPUs\u2014both in a local environment and in the cloud. One of the sessions at <a href=\"https:\/\/www.altoros.com\/blog\/tag\/tensorbeat\/\">TensorBeat 2017<\/a> explored the ways to address the associated challenges and to maximize the usage of computational powers with Elastic GPUs.<\/p>\n<p>Why would one even need to switch between CPU and GPU? The obvious reason to employ GPUs for machine learning is to accelerate the process of model training. Still, everything comes at a price, according to <a href=\"https:\/\/www.linkedin.com\/in\/subburama\/\" target=\"_blank\">Subbu Rama<\/a> of Bitfusion.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/subbu-rama-bitfusion-how-to-run-tensorflow-cheaper-in-the-cloud-with-elastic-gpus-v1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/subbu-rama-bitfusion-how-to-run-tensorflow-cheaper-in-the-cloud-with-elastic-gpus-v1-1024x678.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-31440\" \/><\/a><\/p>\n<p>Subbu outlined the pitfalls that occur when initiating different scenarios of training a TensorFlow-based model on a GPU.<\/p>\n<p>For instance, managing dependencies can be quite laboursome even with <b>a single GPU<\/b> implementation. When moving from CPU to GPU, \u201cit can be hugely beneficial to explicitly put data tasks on CPU and number crunching (gradient calculations) on GPUs with <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">tf.device()<\/code>,\u201d as Subbu noted.<\/p>\n<p>In case of <b>multiple GPUs<\/b>, one also has to write additional code to define device placement with <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">tf.device()<\/code>. And more code-writing is needed to calculate gradients on each GPU and an average gradient for the update.<\/p>\n<p>What about <b>distributed TensorFlow<\/b>? Assume you utilize one parameter server, a number of worker servers, and a shared file system. The code changes to introduce are as follows:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Define a parameter server and worker ones<\/li>\n<li style=\"margin-bottom: 6px;\">Implement <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">tf.MonitoredSession()<\/code><\/li>\n<li style=\"margin-bottom: 6px;\">Either set up a cluster manager or individually kick off each job on each worker and parameter server<\/li>\n<\/ul>\n<p>The <b>TensorFlow on Spark<\/b> scenario with one parameter server and a number of worker servers requires data to be placed in HDFS. In this case, one needs to rename a few variables of a <a href=\"https:\/\/www.altoros.com\/blog\/distributed-tensorflow-and-classification-of-time-series-data-using-neural-networks\/\">distributed implementation<\/a>. For example, <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">(tf.train.Server()<\/code> becomes <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">TFNode.start_cluster_server()<\/code>. In addition, one has to clearly understand multiple utils for reading\/writing to HDFS.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_to_accelerate\"><\/span>How to accelerate?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A typical life cycle of a deep learning-based app involves <em>development<\/em> in a local environment, <em>training a model<\/em> on servers, and <em>deployment<\/em> in the cloud. In the context of a growing team and expanding resources, Subbu highlights \u201cthe huge untapped opportunity,\u201d which resides in \u201cthe acceleration of the existing CPU resources and broader enterprise teams and initiatives.\u201d<\/p>\n<p>Cost-efficient on-demand GPU acceleration of the existing CPU resources may happen through adding <a href=\"https:\/\/aws.amazon.com\/ec2\/elastic-graphics\/\" target=\"_blank\">Elastic GPUs<\/a> to a data center or a cloud.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/gpu-attach-on-a-cpu-node-on-premises-tensorflow-in-cloud-cheaper-with-elastic-gpus-v1.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/gpu-attach-on-a-cpu-node-on-premises-tensorflow-in-cloud-cheaper-with-elastic-gpus-v1.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-31441\" \/><\/a><\/p>\n<p>This way, development may start on CPU machines with notebooks, code editors, or any other tools of choice. Then, one can attach an Elastic GPU from within a data center, later on scale out to multiple ones with no code changes needed, or utilize a local GPU with attached Elastic GPUs from the data centers.<\/p>\n<p>The approach offers accelerated computations with smart scheduling and auto-allocation across multiple concurrent workloads and users. As a bonus, Subbu noted, the underlying infrastructure \u201cdoesn\u2019t have to be a money pit\u201d through smart scaling.<\/p>\n<p>Subbu then outlined how to simplify adding Elastic GPUs in the cloud or on-premises with <a href=\"https:\/\/bitfusion.io\/products\/flex\" target=\"_blank\">Flex<\/a>\u2014Bitfusion\u2019s AI platform.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/running-tensorflow-cheaper-in-the-cloud-with-elastic-gpus-v1.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/running-tensorflow-cheaper-in-the-cloud-with-elastic-gpus-v1.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-31442\" \/><\/a><\/p>\n<p>The whole AI infrastructure can be operated in 5 steps:<\/p>\n<ol>\n<li style=\"margin-bottom: 6px;\">Get started with pre-built deep learning containers or create your own. Start initial development locally or on shared CPUs with interactive workspaces.<\/li>\n<li style=\"margin-bottom: 6px;\">Attach one or more GPUs on-demand for accelerated training of a model.<\/li>\n<li style=\"margin-bottom: 6px;\">Perform batch scheduling for maximum resource efficiency and parallel training of a model for enhanced speed.<\/li>\n<li style=\"margin-bottom: 6px;\">Expose finalized models for production inference.<\/li>\n<li style=\"margin-bottom: 6px;\">Manage cluster resources, containers, and users.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tim-gasper-bitfusion-how-to-run-tensorflow-cheaper-in-the-cloud-with-elastic-gpus-v1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tim-gasper-bitfusion-how-to-run-tensorflow-cheaper-in-the-cloud-with-elastic-gpus-v1-1024x678.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-31443\" \/><\/a><\/p>\n<p>According to Bitfusion, <a href=\"https:\/\/bitfusion.io\/wp-content\/uploads\/2017\/05\/Bitfusion_DataSheet.pdf\" target=\"_blank\">this combined solution<\/a> may enable up to &#8220;10x faster development, greater efficiency, and unlimited scalability.&#8221;<\/p>\n<p>To demonstrate how this happens in practice, <a href=\"https:\/\/www.linkedin.com\/in\/timgasper\/\" target=\"_blank\">Tim Gasper<\/a>, a Bitfusion&#8217;s fellow, provided a brief demo during the session.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Want_details_Watch_the_video\"><\/span>Want details? Watch the video!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><center><script src=\"https:\/\/fast.wistia.com\/embed\/medias\/lyfe8ulbik.jsonp\" async><\/script><script src=\"https:\/\/fast.wistia.com\/assets\/external\/E-v1.js\" async><\/script><\/p>\n<div class=\"wistia_embed wistia_async_lyfe8ulbik\" style=\"height:360px;width:640px\">&nbsp;<\/div>\n<p><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_slides\"><\/span>Related slides<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><center><iframe loading=\"lazy\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/key\/vvdsTPK2TzpneB\" width=\"595\" height=\"485\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/mastering-game-development-with-deep-reinforcement-learning-and-gpus\/\">Mastering Game Development with Deep Reinforcement Learning and GPUs<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/the-diversity-of-tensorflow-wrappers-gpus-generative-adversarial-networks-etc\/\">The Diversity of TensorFlow: Wrappers, GPUs, Generative Adversarial Networks, etc.<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/research-papers\/performance-of-distributed-tensorflow-a-multi-node-and-multi-gpu-configuration\/\">Performance of Distributed TensorFlow: A Multi-Node and Multi-GPU Configuration<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_experts\"><\/span>About the experts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/subburama\/\" target=\"_blank\">Subbu Rama<\/a> is a co-founder and CEO at Bitfusion, a company providing tools to make AI app development and infrastructure management faster and easier. Previously, he worked in various roles at Intel, leading engineering efforts spanning across design, automation, validation, and post-silicon. Subbu worked on Intel\u2019s first Integrated Graphics CPU, as well as on first low-power CPU Atom and its SOC, high-performance micro-servers using low-power mobile phone processors, and Xeon servers.<\/small><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/timgasper\/\" target=\"_blank\">Tim Gasper<\/a> is a product manager at Bitfusion. With 9+ years in product management and marketing, he is experienced in building SaaS and enterprise software platforms utilizing big data, IoT, analytics, and cloud orchestration. Tim held key positions at Rackspace, CSC, and Infochimps (acquired by CSC in 2013). He also co-founded Keepstream, which was later acquired by Infochimps in 2011.<\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Issues across training scenarios<\/p>\n<p>Combined with GPUs, TensorFlow poses a powerful instrument for deep learning. However, it may still be difficult to switch between CPUs and GPUs\u2014both in a local environment and in the cloud. One of the sessions at TensorBeat 2017 explored the ways to address the associated challenges and [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":31445,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[748,916,749],"class_list":["post-31437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-machine-learning","tag-tensorbeat","tag-tensorflow"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs | Altoros<\/title>\n<meta name=\"description\" content=\"Learn how to maximize the usage of computational powers when training a model with TensorFlow and Elastic GPUs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs | Altoros\" \/>\n<meta property=\"og:description\" content=\"Issues across training scenarios Combined with GPUs, TensorFlow poses a powerful instrument for deep learning. However, it may still be difficult to switch between CPUs and GPUs\u2014both in a local environment and in the cloud. One of the sessions at TensorBeat 2017 explored the ways to address the associated challenges and [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-06T16:27:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-29T11:31:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"424\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Sophia Turol\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Turol\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/\",\"name\":\"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif\",\"datePublished\":\"2017-06-06T16:27:42+00:00\",\"dateModified\":\"2018-11-29T11:31:41+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif\",\"width\":640,\"height\":424},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e\",\"name\":\"Sophia Turol\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg\",\"caption\":\"Sophia Turol\"},\"description\":\"Sophia Turol is passionate about delivering well-structured articles that cater for picky technical audience. With 3+ years in technical writing and 5+ years in editorship, she enjoys collaboration with developers to create insightful, yet intelligible technical tutorials, overviews, and case studies. Sophie is enthusiastic about deep learning solutions\u2014TensorFlow in particular\u2014and PaaS systems, such as Cloud Foundry.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/sophie-turol\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs | Altoros","description":"Learn how to maximize the usage of computational powers when training a model with TensorFlow and Elastic GPUs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/","og_locale":"en_US","og_type":"article","og_title":"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs | Altoros","og_description":"Issues across training scenarios Combined with GPUs, TensorFlow poses a powerful instrument for deep learning. However, it may still be difficult to switch between CPUs and GPUs\u2014both in a local environment and in the cloud. One of the sessions at TensorBeat 2017 explored the ways to address the associated challenges and [...]","og_url":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/","og_site_name":"Altoros","article_published_time":"2017-06-06T16:27:42+00:00","article_modified_time":"2018-11-29T11:31:41+00:00","og_image":[{"width":640,"height":424,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif","type":"image\/gif"}],"author":"Sophia Turol","twitter_misc":{"Written by":"Sophia Turol","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/","url":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/","name":"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif","datePublished":"2017-06-06T16:27:42+00:00","dateModified":"2018-11-29T11:31:41+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/06\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus.gif","width":640,"height":424},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e","name":"Sophia Turol","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","caption":"Sophia Turol"},"description":"Sophia Turol is passionate about delivering well-structured articles that cater for picky technical audience. With 3+ years in technical writing and 5+ years in editorship, she enjoys collaboration with developers to create insightful, yet intelligible technical tutorials, overviews, and case studies. Sophie is enthusiastic about deep learning solutions\u2014TensorFlow in particular\u2014and PaaS systems, such as Cloud Foundry.","url":"https:\/\/www.altoros.com\/blog\/author\/sophie-turol\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/31437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=31437"}],"version-history":[{"count":4,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/31437\/revisions"}],"predecessor-version":[{"id":39649,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/31437\/revisions\/39649"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/31445"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=31437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=31437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=31437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}