{"id":1328,"date":"2021-05-27T11:40:06","date_gmt":"2021-05-27T11:40:06","guid":{"rendered":"https:\/\/blog.amt.in\/?p=1328"},"modified":"2021-05-27T11:40:06","modified_gmt":"2021-05-27T11:40:06","slug":"introduction-to-tensorflow","status":"publish","type":"post","link":"https:\/\/blog.amt.in\/index.php\/2021\/05\/27\/introduction-to-tensorflow\/","title":{"rendered":"Introduction to TensorFlow"},"content":{"rendered":"<p>TensorFlow\u00c2\u00a0is an\u00c2\u00a0open-source\u00c2\u00a0software library\u00c2\u00a0for\u00c2\u00a0data-flow programming\u00c2\u00a0across a range of tasks. It is a symbolic math library, and is also used for\u00c2\u00a0machine learning\u00c2\u00a0applications such as\u00c2\u00a0neural networks.\u00c2\u00a0\u00c2\u00a0It is used for both research and production at\u00c2\u00a0Google,\u00e2\u20ac\u008d\u00c2\u00a0often replacing its closed-source predecessor, DistBelief.<\/p>\n<p>Starting in 2011, Google Brain built DistBelief as a\u00c2\u00a0proprietary\u00c2\u00a0machine learning\u00c2\u00a0system based on\u00c2\u00a0deep learning\u00c2\u00a0neural networks. Its use grew rapidly across diverse\u00c2\u00a0Alphabet\u00c2\u00a0companies in both research and commercial applications.\u00c2\u00a0Google assigned multiple computer scientists, including\u00c2\u00a0Jeff Dean, to simplify and\u00c2\u00a0refactor\u00c2\u00a0the code-base of DistBelief into a faster, more robust application-grade library, which became TensorFlow.\u00c2\u00a0In 2009, the team, led by\u00c2\u00a0Geoffrey Hinton, had implemented generalized\u00c2\u00a0back-propagation\u00c2\u00a0and other improvements which allowed generation of neural networks with substantially higher accuracy, for instance a 25% reduction in errors in speech recognition.<\/p>\n<p>TensorFlow is Google Brain&#8217;s second generation system. Version 1.0.0 was released on February 11, 2017.\u00c2\u00a0While the\u00c2\u00a0reference implementation\u00c2\u00a0runs on single devices, TensorFlow can run on multiple\u00c2\u00a0CPUs\u00c2\u00a0and\u00c2\u00a0GPUs\u00c2\u00a0(with optional\u00c2\u00a0CUDA\u00c2\u00a0and\u00c2\u00a0SYCL\u00c2\u00a0extensions for\u00c2\u00a0general-purpose computing on graphics processing units).\u00c2\u00a0TensorFlow is available on 64-bit\u00c2\u00a0Linux,\u00c2\u00a0macOS,\u00c2\u00a0Windows, and mobile computing platforms including\u00c2\u00a0Android\u00c2\u00a0and\u00c2\u00a0iOS.<\/p>\n<p>TensorFlow computations are expressed as\u00c2\u00a0stateful\u00c2\u00a0data-flow\u00c2\u00a0graphs. The name TensorFlow derives from the operations that such neural networks perform on multidimensional data arrays. These arrays are referred to as &#8220;tensors&#8221;. In June 2016, Dean stated that 1,500 repositories on\u00c2\u00a0GitHub\u00c2\u00a0mentioned TensorFlow, of which only 5 were from Google.<\/p>\n<p>In May 2016, Google announced its\u00c2\u00a0Tensor processing unit (TPU), an\u00c2\u00a0ASIC\u00c2\u00a0built specifically for\u00c2\u00a0machine learning\u00c2\u00a0and tailored for TensorFlow. TPU is a programmable\u00c2\u00a0AI accelerator- designed to provide high\u00c2\u00a0throughput\u00c2\u00a0of low-precision arithmetic (e.g.,\u00c2\u00a08-bit), and oriented toward using or running models rather than\u00c2\u00a0training\u00c2\u00a0them. Google announced they had been running TPUs inside their data centers for more than a year, and had found them to deliver an\u00c2\u00a0order of magnitude\u00c2\u00a0better-optimized\u00c2\u00a0performance per watt\u00c2\u00a0for machine learning.<\/p>\n<p>In May 2017, Google announced the second-generation, as well as the availability of the\u00c2\u00a0TPUs in\u00c2\u00a0Google Compute Engine. The second-generation TPUs deliver up to 180 teraflops of performance, and when organized into clusters of 64 TPUs, provide up to 11.5 petaflops.<\/p>\n<p>In February 2018, Google announced that they were making\u00c2\u00a0TPUs\u00c2\u00a0available in beta on the\u00c2\u00a0Google Cloud Platform.<\/p>\n<p>In May 2017, Google announced a software stack specifically for\u00c2\u00a0Android\u00c2\u00a0development, TensorFlow Lite,\u00c2\u00a0beginning with\u00c2\u00a0Android Oreo.<\/p>\n<p>On March 1, 2018, Google released its Machine Learning Crash Course (MLCC). Originally designed to help equip Google employees with practical artificial intelligence and machine learning fundamentals, Google rolled out its free TensorFlow workshops in several cities around the world before finally releasing the course to the public.<\/p>\n<p>TensorFlow provides official\u00c2\u00a0Python\u00c2\u00a0API\u00c2\u00a0and C API\u00c2\u00a0and without API stability guarantee:\u00c2\u00a0C++,\u00c2\u00a0Go,\u00c2\u00a0and\u00c2\u00a0Java. Third party packages are available for\u00c2\u00a0C#,<span style=\"font-size: 14.1667px;\">\u00c2\u00a0<\/span>Haskell,<span style=\"font-size: 14.1667px;\">\u00c2\u00a0<\/span>Julia,<span style=\"font-size: 14.1667px;\">\u00c2\u00a0<\/span>R,<span style=\"font-size: 14.1667px;\">\u00c2\u00a0<\/span>Scala,\u00c2\u00a0Rust,\u00c2\u00a0and\u00c2\u00a0OCaml.<\/p>\n<p>A &#8220;WebGL\u00c2\u00a0accelerated, browser based JavaScript library for training and deploying ML models&#8221; (where &#8220;for inference, TensorFlow.js with WebGL is 1.5-2x slower than TensorFlow Python with AVX. For training, we have seen small models train faster in the browser and large models train up to 10-15x slower in the browser&#8221;) was released by Tensorflow.org on March 30, 2018.<\/p>\n<p>The above is a brief about TensorFlow which was compiled from various sites. Watch this space for more updates on the latest trends in Technology.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TensorFlow\u00c2\u00a0is an\u00c2\u00a0open-source\u00c2\u00a0software library\u00c2\u00a0for\u00c2\u00a0data-flow programming\u00c2\u00a0across a<\/p>\n","protected":false},"author":1,"featured_media":1329,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[150,7,149],"tags":[152,18,151],"class_list":["post-1328","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source-software-library","category-techtrends","category-tensorflow","tag-open-source-software-library","tag-technology","tag-tensorflow"],"_links":{"self":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/comments?post=1328"}],"version-history":[{"count":1,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1328\/revisions"}],"predecessor-version":[{"id":1330,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1328\/revisions\/1330"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media\/1329"}],"wp:attachment":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media?parent=1328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/categories?post=1328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/tags?post=1328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}