

{"id":77623,"date":"2020-04-23T10:00:36","date_gmt":"2020-04-23T04:30:36","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=77623"},"modified":"2021-08-25T13:55:21","modified_gmt":"2021-08-25T08:25:21","slug":"keras-backend","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/keras-backend\/","title":{"rendered":"Keras Backend &#8211; Tensorflow and Theano"},"content":{"rendered":"<p>Keras supports multiple backends, although the performance of your neural network may vary for different <strong>Keras backends<\/strong>. In this article, we will study two of the most commonly used Keras backends i.e TensorFlow and theano. This article will explain how to change the backend of Keras.We will also create a demo neural network model and test its performance on both the backends.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-77624 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg\" alt=\"Keras Backend\" width=\"802\" height=\"420\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg 802w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend-520x272.jpg 520w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/a><\/p>\n<h3>Keras backends<\/h3>\n<p>Keras, being a high-level API for developing neural networks, does not handle low-level computations. For these low-level tasks, Keras relies on \u201cbackend engines\u201d. Keras provides this backend support in a modular way, i.e. we can attach multiple backends with Keras.<\/p>\n<p><strong>Tensorflow and Theano<\/strong> are commonly used Keras backends.<\/p>\n<h4>1. Tensorflow<\/h4>\n<p>It is an open-source machine learning platform developed by Google and released in November 2015.<\/p>\n<h4>2. Theano<\/h4>\n<p>It is a Python library used for manipulating and evaluating a mathematical expression, developed at the University of Montreal and released in 2007.<\/p>\n<h3>Changing Keras backends<\/h3>\n<p>By default, Keras contains a <strong>TensorFlow backend.\u00a0<\/strong>If you want to check the backend, go to Keras configuration file at :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">$HOME\/.keras\/keras.json<\/pre>\n<p>It looks like:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">{\r\n    \t\t\t\"image_data_format\": \"channels_last\",\r\n    \t\t\t\"epsilon\": 1e-07,\r\n    \t\t\t\"floatx\": \"float32\",\r\n    \t\t\t\"backend\": \"tensorflow\"\r\n}<\/pre>\n<p>Or, import keras and type:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">keras.backend.backend()<\/pre>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-77629 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name.png\" alt=\"Backend of keras\" width=\"1905\" height=\"911\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name.png 1905w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name-150x72.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name-300x143.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name-768x367.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name-1024x490.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/1_keras_backend_name-520x249.png 520w\" sizes=\"auto, (max-width: 1905px) 100vw, 1905px\" \/><\/a><\/p>\n<p>To change the Keras backend, follow the below steps:<\/p>\n<ul>\n<li>Open the configuration file in any text editor, I prefer sublime text.\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">subl $HOME\/.keras\/keras.json<\/pre>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-77630 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json.png\" alt=\"Keras jason\" width=\"1909\" height=\"1000\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json.png 1909w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json-150x79.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json-300x157.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json-768x402.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json-1024x536.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/2_keras_json-520x272.png 520w\" sizes=\"auto, (max-width: 1909px) 100vw, 1909px\" \/><\/a><\/p>\n<ul>\n<li>Edit the backend to \u201ctheano\u201d<\/li>\n<li>Check the backend again using<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">keras.backend.backend()<\/pre>\n<p>It takes one step to change the backend. You do not have to change any line of code of your model, and you can run or test your Keras model on different backends, which we will do next.<\/p>\n<h3>Test your model on different Keras backends<\/h3>\n<p>Here, we will create a multi-level perceptron neural network for binary classification. We will test the performance of our model on the basis of model training time and the accuracy of the model.<\/p>\n<p>Firstly, we will use the <a href=\"https:\/\/data-flair.training\/blogs\/tensorflow-features\/\">TensorFlow<\/a> backend and test the model performance.<\/p>\n<p>For this case study, I am using<\/p>\n<p><strong>Intel core i5 7 th gen cpu processor ,<\/strong><br \/>\n<strong>keras version 2.3.1 ,<\/strong><br \/>\n<strong>python 3.6.0 ,<\/strong><br \/>\n<strong>tensorflow 1.14.0<\/strong><br \/>\n<strong>and theano version 1.0.4.<\/strong><\/p>\n<p>The results are relative and may vary in accordance with the systems configuration and different versions of the above libraries.<\/p>\n<p><strong>Create the neural network:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import numpy as np\r\n\r\nfrom keras.models import Sequential\r\nfrom keras.layers import Dense, Dropout<\/pre>\n<p><strong># generate random input for testing purpose<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">x_train=np.random.random((1000,20))\r\ny_train=np.random.randint(2,size=(100,1))\r\nx_test=np.random.random((100,20))\r\ny_test=np.random.randint(2,size=(100,1))<\/pre>\n<p><strong># create model<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">model=Sequential()\r\nmodel.add(Dense(64, input_dim=20,activation=\u2019relu\u2019))\r\nmodel.add(Dropout(0.5))\r\nmodel.add(Dense(64, activation=\u2019relu\u2019))\r\nmodel.add(Dropout(0.5))\r\nmodel.add(Dense(1,activation=\u2019sigmoid\u2019))<\/pre>\n<p><strong>#compile your model<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">model.compile(loss=\u2019binary_crossentropy\u2019, optimizer=\u2019rmsprop\u2019,metrics=[\u2018accuracy\u2019])<\/pre>\n<p><strong># to calculate the training time , use python time module and calculate the difference of the time instances after and before training the model<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import time\r\nstart=time.time()\r\nmodel.fit(x_train,y_tarin,epochs=20,batch_size=128)\r\nend=time.time()\r\nprint(\u201crunning time: \u201d,end-start)<\/pre>\n<p><strong># calculate the loss value and accuracy of model<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">score=model.evaluate(x_test,y_test,batch_size=128)\r\n\r\nprint(\u201cscore: \u201d,score)<\/pre>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-77631 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow.png\" alt=\"Keras Tensorflow\" width=\"1920\" height=\"911\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow-150x71.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow-300x142.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow-768x364.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow-1024x486.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/3_score_tensorflow-520x247.png 520w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>You can see model took, 0.5446 seconds for training, has a loss of 0.6998 and accuracy of 0.4199<\/p>\n<p>Now switch to theano backend, and run the same program again and check its training time and accuracy,<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-77632 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score.png\" alt=\"Keras Theano\" width=\"1905\" height=\"911\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score.png 1905w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score-150x72.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score-300x143.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score-768x367.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score-1024x490.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/4_theano_score-520x249.png 520w\" sizes=\"auto, (max-width: 1905px) 100vw, 1905px\" \/><\/a><\/p>\n<p>The model took a training time of 1.066 seconds, has a loss value of 0.6747 and accuracy of 0.6700<\/p>\n<p>So, on my system, TensorFlow takes less time in training the model but theano has better accuracy.<\/p>\n<h3>Summary<\/h3>\n<p>This article explains how Keras support different backend engines and how to switch among these backends. Here we studied TensorFlow and theano as Keras backend engines. It also shows a simple comparison between the neural network model trained on both the backends.<\/p>\n<p>Hope you are enjoying Keras tutorial series. If you are facing issues with Python, check <a href=\"https:\/\/data-flair.training\/python-course\/\">DataFlair Python course<\/a> to learn complete python.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Keras supports multiple backends, although the performance of your neural network may vary for different Keras backends. In this article, we will study two of the most commonly used Keras backends i.e TensorFlow and&#46;&#46;&#46;<\/p>\n","protected":false},"author":10,"featured_media":77624,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22185],"tags":[22195,22196],"class_list":["post-77623","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-keras","tag-keras-backend","tag-keras-with-tensorflow-backend"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Keras Backend - Tensorflow and Theano - DataFlair<\/title>\n<meta name=\"description\" content=\"Keras backends - Learn the 2 popular backend engines used by keras - Theano and Tensorflow. Learn how to change the backend in keras.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/keras-backend\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Keras Backend - Tensorflow and Theano - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Keras backends - Learn the 2 popular backend engines used by keras - Theano and Tensorflow. Learn how to change the backend in keras.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/keras-backend\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-23T04:30:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-25T08:25:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Keras Backend - Tensorflow and Theano - DataFlair","description":"Keras backends - Learn the 2 popular backend engines used by keras - Theano and Tensorflow. Learn how to change the backend in keras.","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:\/\/data-flair.training\/blogs\/keras-backend\/","og_locale":"en_US","og_type":"article","og_title":"Keras Backend - Tensorflow and Theano - DataFlair","og_description":"Keras backends - Learn the 2 popular backend engines used by keras - Theano and Tensorflow. Learn how to change the backend in keras.","og_url":"https:\/\/data-flair.training\/blogs\/keras-backend\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2020-04-23T04:30:36+00:00","article_modified_time":"2021-08-25T08:25:21+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/a90b082e16aa38d207212d22b0581f33"},"headline":"Keras Backend &#8211; Tensorflow and Theano","datePublished":"2020-04-23T04:30:36+00:00","dateModified":"2021-08-25T08:25:21+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/"},"wordCount":529,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg","keywords":["keras backend","keras with tensorflow backend"],"articleSection":["Keras Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/keras-backend\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/","url":"https:\/\/data-flair.training\/blogs\/keras-backend\/","name":"Keras Backend - Tensorflow and Theano - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg","datePublished":"2020-04-23T04:30:36+00:00","dateModified":"2021-08-25T08:25:21+00:00","description":"Keras backends - Learn the 2 popular backend engines used by keras - Theano and Tensorflow. Learn how to change the backend in keras.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/keras-backend\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/04\/keras-backend.jpg","width":802,"height":420,"caption":"Keras Backend"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/keras-backend\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Keras Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/keras\/"},{"@type":"ListItem","position":3,"name":"Keras Backend &#8211; Tensorflow and Theano"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/a90b082e16aa38d207212d22b0581f33","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dd6de0d647a0185cd6faf264e4ba860b0d85d08d7070766f9cd41bea5bb0b227?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dd6de0d647a0185cd6faf264e4ba860b0d85d08d7070766f9cd41bea5bb0b227?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6de0d647a0185cd6faf264e4ba860b0d85d08d7070766f9cd41bea5bb0b227?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team is passionate about delivering top-notch tutorials and resources on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. With expertise in the tech industry, we simplify complex topics to help learners excel. Stay updated with our latest insights.","url":"https:\/\/data-flair.training\/blogs\/author\/dfadteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/77623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=77623"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/77623\/revisions"}],"predecessor-version":[{"id":77658,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/77623\/revisions\/77658"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/77624"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=77623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=77623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=77623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}