{"id":31706,"date":"2017-05-25T18:26:29","date_gmt":"2017-05-25T15:26:29","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=31706"},"modified":"2018-11-29T14:33:19","modified_gmt":"2018-11-29T11:33:19","slug":"monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/","title":{"rendered":"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI"},"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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#Visualizing_performance_statistics\" >Visualizing performance statistics<\/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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#The_code_behind\" >The code behind<\/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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#The_roadmap\" >The roadmap<\/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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#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-5\" href=\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#About_the_expert\" >About the expert<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Visualizing_performance_statistics\"><\/span>Visualizing performance statistics<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>One of the sessions at <a href=\"https:\/\/www.altoros.com\/blog\/tag\/tensorbeat\/\">TensorBeat 2017<\/a> explored the tool that supplements TensorFlow operations through gathering data related to the model&#8217;s performance (GPU\/CPU usage, memory consumption, and disk I\/O). This blog post looks into the capabilities of the solution, as well provides code samples to run commands.<\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/gar1t\/\" target=\"_blank\">Garrett Smith<\/a> demonstrated <a href=\"https:\/\/guild.ai\/\" target=\"_blank\">Guild AI<\/a>\u2014a tool with a focus on the operational issues of training and serving TensorFlow models.<\/p>\n<p><center><\/center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-guild-ai-founder-garrett-smith-tensorflow-operations-monitoring-in-real-time-v11.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-guild-ai-founder-garrett-smith-tensorflow-operations-monitoring-in-real-time-v11-1024x678.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-31708\" \/><\/a><\/center><\/p>\n<p>The core features of this project include:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\"><b>Real-time updates on training.<\/b> One can monitor how model training proceeds in real time, while getting up-to-the-second feedback. With underlying intelligent polling and a high-performance embedded database, the tool allows for minimizing the impact on your system.<\/li>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-v1.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-v1.gif\" alt=\"\" width=\"460\" height=\"574\" class=\"aligncenter size-full wp-image-31714\" \/><\/a><small><a href=\"https:\/\/guild.ai\/\" rel=\"noopener\" target=\"_blank\">Image credit<\/a><\/small><\/center><\/p>\n<li style=\"margin-bottom: 6px;\"><b>Comparison and analysis.<\/b> The tool summarizes important run results, illustrates them in a filterable table in real time, and compares against the previous runs. Furthermore, one can compare TensorFlow scalars and the system\u2019s statistics. With the integrated TensorBoard\u2019s charting component, users can compare series data by global step, relative time, and wall time. It also provides support for series smoothing and logarithmic Y axis.<\/li>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-comparison-v1.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-comparison-v1-1006x1024.png\" alt=\"\" width=\"560\" class=\"aligncenter size-large wp-image-31711\" \/><\/a><small><a href=\"https:\/\/gar1t.github.io\/2017-05-07-tensorbeat\/\" rel=\"noopener\" target=\"_blank\">Image credit<\/a><\/small><\/center><\/p>\n<li style=\"margin-bottom: 6px;\"><b>Advanced data gathering.<\/b> In addition to TensorFlow event logs, one can collect a wider range of statistics: script output, command flags, or system attributes and statuses (e.g., GPU or CPU utilization).<\/li>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-data-gathering-v1.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-data-gathering-v1.png\" alt=\"\" width=\"560\" class=\"aligncenter size-full wp-image-31712\" \/><\/a><small><a href=\"https:\/\/gar1t.github.io\/2017-05-07-tensorbeat\/\" rel=\"noopener\" target=\"_blank\">Image credit<\/a><\/small><\/center><\/p>\n<li style=\"margin-bottom: 6px;\"><b>TensorBoard integration.<\/b> It eliminates the need to start a separate <a href=\"https:\/\/www.altoros.com\/blog\/visualizing-tensorflow-graphs-with-tensorboard\/\">TensorBoard<\/a> process, as the tool handles it in the background upon running the <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">view<\/code> command. The integration is also responsible for proxying requests and bundling TensorBoard Polymer components.<\/li>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-tensorboard-integration-v1.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-streamlining-tensorflow-operations-with-guild-ai-tensorboard-integration-v1-1024x748.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-31713\" \/><\/a><small><a href=\"https:\/\/gar1t.github.io\/2017-05-07-tensorbeat\/\" rel=\"noopener\" target=\"_blank\">Image credit<\/a><\/small><\/center><\/p>\n<li style=\"margin-bottom: 6px;\"><b>Simplified training workflow<\/b> comprising four commands: <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">prepare<\/code>, <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">train<\/code>, <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">evaluate<\/code>, and <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">serve<\/code>. The tool fills in the details for each command via the project file.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Self-documenting project structure.<\/b> Projects are text files easy to read, while providing instructions to perform the <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">prepare<\/code>, <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">train<\/code>, and <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">evaluate<\/code> operations.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Integrated HTTP server<\/b> to test the trained models before deploying them to TensorFlow serving.<\/li>\n<\/ul>\n<p>Guild AI has an indexed database that stores run series data with a standard SQLite interface. There are also data collectors responsible for gathering TensorFlow events, system statistics (based on the <a href=\"https:\/\/github.com\/giampaolo\/psutil\" target=\"_blank\">psutil<\/a> module with customization applied), and GPU statistics (based on <a href=\"https:\/\/developer.download.nvidia.com\/compute\/cuda\/6_0\/rel\/gdk\/nvidia-smi.331.38.pdf\" target=\"_blank\">nvidia-smi<\/a>). The tool utilizes Polymer web components, as well. <\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_code_behind\"><\/span>The code behind<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Garrett then demonstrated how things actually work on the code level.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-guild-ai-founder-garrett-smith-tensorflow-operations-monitoring-v12.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-guild-ai-founder-garrett-smith-tensorflow-operations-monitoring-v12-1024x678.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-31709\" \/><\/a><\/center><\/p>\n<p>Defining flags:<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">parser = argparse.ArgumentParser()\r\nparser.add_argument(&quot;--datadir&quot;,    default=&quot;\/tmp\/MNIST_data&quot;,)\r\nparser.add_argument(&quot;--rundir&quot;,     default=&quot;\/tmp\/MNIST_train&quot;)\r\nparser.add_argument(&quot;--batch_size&quot;, type=int, default=100)\r\nparser.add_argument(&quot;--epochs&quot;,     type=int, default=10)\r\nparser.add_argument(&quot;--prepare&quot;,    action=&quot;store_true&quot;, dest='just_data')\r\nparser.add_argument(&quot;--test&quot;,       action=&quot;store_true&quot;)\r\n\r\nFLAGS, _ = parser.parse_known_args()\r\n<\/pre>\n<p><\/p>\n<p>Using flags:<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">steps = (NUM_EXAMPLES \/\/ FLAGS.batch_size) * FLAGS.epochs\r\nfor step in range(steps + 1):\r\n    images, labels = mnist.train.next_batch(FLAGS.batch_size)\r\n    batch = {x: images, y_: labels}\r\n    sess.run(train_op, batch)\r\n<\/pre>\n<p><\/p>\n<p>Using <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">rundir<\/code>. Specified as a command line option and environment variable, <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">rundir<\/code> locates all the run artifacts. (Note: Scripts should be modified to use this value.)<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">train      = tf.summary.FileWriter(FLAGS.rundir + &quot;\/train&quot;)\r\nvalidation = tf.summary.FileWriter(FLAGS.rundir + &quot;\/validation&quot;)\r\n\r\ntf.gfile.MakeDirs(FLAGS.rundir + &quot;\/model&quot;)\r\ntf.train.Saver().save(sess, FLAGS.rundir + &quot;\/model\/export&quot;)\r\n\r\nsaver = tf.train.import_meta_graph(\r\n            FLAGS.rundir + &quot;\/model\/export.meta&quot;)\r\nsaver.restore(sess, FLAGS.rundir + &quot;\/model\/export&quot;)<\/pre>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_roadmap\"><\/span>The roadmap<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In the future, it is planned to enhance visualization capabilities of the tool, as well further improve analytical and comparative algorithms. The project\u2019s developers also want to deliver plugin exchange with TensorBoard and build a \u201cmodel zoo\u201d with more examples available. You can check out <a href=\"https:\/\/github.com\/guildai\/guildai\" target=\"_blank\">Guild AI\u2019s GitHub repo<\/a> for details or browse through <a href=\"https:\/\/gar1t.github.io\/2017-05-07-tensorbeat\/\" target=\"_blank\">Garrett\u2019s presentation<\/a>.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-guild-ai-founder-garrett-smith-tensorflow-v12.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/tensorbeat-2017-guild-ai-founder-garrett-smith-tensorflow-v12-1024x678.jpg\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-31710\" \/><\/a><\/center><\/p>\n<p>Join <a href=\"https:\/\/www.meetup.com\/TensorFlow\/\" target=\"_blank\">our group<\/a> to stay tuned with the upcoming events.<\/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\/5ctke72prz.jsonp\" async><\/script><script src=\"https:\/\/fast.wistia.com\/assets\/external\/E-v1.js\" async><\/script><\/p>\n<div class=\"wistia_embed wistia_async_5ctke72prz\" style=\"height:360px;width:640px\">&nbsp;<\/div>\n<p><\/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\/visualizing-tensorflow-graphs-with-tensorboard\/\">Visualizing TensorFlow Graphs with TensorBoard<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-action-tensorboard-training-a-model-and-deep-q-learning\/\">TensorFlow in Action: TensorBoard, Training a Model, and Deep Q-learning<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/logical-graphs-native-control-flow-operations-in-tensorflow\/\">Logical Graphs: Native Control Flow Operations in TensorFlow<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/tensorflow-in-the-cloud-accelerating-resources-with-elastic-gpus\/\">TensorFlow in the Cloud: Accelerating Resources with Elastic GPUs<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_expert\"><\/span>About the expert<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/gar1t\/\" target=\"_blank\">Garrett Smith<\/a> is a founder of Guild AI, an open-source toolkit that helps developers to gain insight into their TensorFlow experiments. He has 20+ years of software development experience and has managed teams across a wide range of product development efforts. Garrett has expertise in building reliable, distributed back-end systems. Prior to founding Guild AI, he led CloudBees PaaS division, which hosted hundreds of thousands of Java applications at scale. Garrett is a frequent instructor, as well as speaker at software conferences and an active member of the Erlang community, maintaining several prominent open-source projects.<\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visualizing performance statistics<\/p>\n<p>One of the sessions at TensorBeat 2017 explored the tool that supplements TensorFlow operations through gathering data related to the model&#8217;s performance (GPU\/CPU usage, memory consumption, and disk I\/O). This blog post looks into the capabilities of the solution, as well provides code samples to run commands.<\/p>\n<p>Garrett Smith [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":31721,"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-31706","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>Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI | Altoros<\/title>\n<meta name=\"description\" content=\"This blog post overviews a monitoring tool for TensorFlow enabling analysis of event logs, script output, command flags, system attributes and statuses, etc.\" \/>\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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI | Altoros\" \/>\n<meta property=\"og:description\" content=\"Visualizing performance statistics One of the sessions at TensorBeat 2017 explored the tool that supplements TensorFlow operations through gathering data related to the model&#8217;s performance (GPU\/CPU usage, memory consumption, and disk I\/O). This blog post looks into the capabilities of the solution, as well provides code samples to run commands. Garrett Smith [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-25T15:26:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-29T11:33:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/\",\"name\":\"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.gif\",\"datePublished\":\"2017-05-25T15:26:29+00:00\",\"dateModified\":\"2018-11-29T11:33:19+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.gif\",\"width\":640,\"height\":424},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI\"}]},{\"@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":"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI | Altoros","description":"This blog post overviews a monitoring tool for TensorFlow enabling analysis of event logs, script output, command flags, system attributes and statuses, etc.","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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/","og_locale":"en_US","og_type":"article","og_title":"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI | Altoros","og_description":"Visualizing performance statistics One of the sessions at TensorBeat 2017 explored the tool that supplements TensorFlow operations through gathering data related to the model&#8217;s performance (GPU\/CPU usage, memory consumption, and disk I\/O). This blog post looks into the capabilities of the solution, as well provides code samples to run commands. Garrett Smith [...]","og_url":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/","og_site_name":"Altoros","article_published_time":"2017-05-25T15:26:29+00:00","article_modified_time":"2018-11-29T11:33:19+00:00","og_image":[{"width":640,"height":424,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.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\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/","url":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/","name":"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.gif","datePublished":"2017-05-25T15:26:29+00:00","dateModified":"2018-11-29T11:33:19+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/05\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai-v1.gif","width":640,"height":424},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/monitoring-and-visualizing-tensorflow-operations-in-real-time-with-guild-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Monitoring and Visualizing TensorFlow Operations in Real Time with Guild AI"}]},{"@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\/31706","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=31706"}],"version-history":[{"count":11,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/31706\/revisions"}],"predecessor-version":[{"id":39651,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/31706\/revisions\/39651"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/31721"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=31706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=31706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=31706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}