It was developed by the Google Brain team for Google's internal use in research and production.[7][8][9] The initial version was released under the Apache License 2.0 in 2015.[1][10] Google released an updated version, TensorFlow 2.0, in September 2019.[11]
TensorFlow can be used in a wide variety of programming languages, including Python, JavaScript, C++, and Java,[12] facilitating its use in a range of applications in many sectors.
History
DistBelief
Starting in 2011, Google Brain built DistBelief as a proprietarymachine learning system based on deep learningneural networks. Its use grew rapidly across diverse Alphabet companies in both research and commercial applications.[13][14] Google assigned multiple computer scientists, including Jeff Dean, to simplify and refactor the codebase of DistBelief into a faster, more robust application-grade library, which became TensorFlow.[15] In 2009, the team, led by Geoffrey Hinton, had implemented generalized backpropagation and other improvements, which allowed generation of neural networks with substantially higher accuracy, for instance a 25% reduction in errors in speech recognition.[16]
Its flexible architecture allows for easy deployment of computation across a variety of platforms (CPUs, GPUs, TPUs), and from desktops to clusters of servers to mobile and edge devices.
TensorFlow computations are expressed as statefuldataflowgraphs. The name TensorFlow derives from the operations that such neural networks perform on multidimensional data arrays, which are referred to as tensors.[19] During the Google I/O Conference in June 2016, Jeff Dean stated that 1,500 repositories on GitHub mentioned TensorFlow, of which only 5 were from Google.[20]
In March 2018, Google announced TensorFlow.js version 1.0 for machine learning in JavaScript.[21]
In Jan 2019, Google announced TensorFlow 2.0.[22] It became officially available in September 2019.[11]
In May 2019, Google announced TensorFlow Graphics for deep learning in computer graphics.[23]
In May 2017, Google announced the second-generation, as well as the availability of the TPUs in Google Compute Engine.[25] 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.[citation needed]
In May 2018, Google announced the third-generation TPUs delivering up to 420 teraflops of performance and 128 GB high bandwidth memory (HBM). Cloud TPU v3 Pods offer 100+ petaflops of performance and 32 TB HBM.[26]
In February 2018, Google announced that they were making TPUs available in beta on the Google Cloud Platform.[27]
Edge TPU
In July 2018, the Edge TPU was announced. Edge TPU is Google's purpose-built ASIC chip designed to run TensorFlow Lite machine learning (ML) models on small client computing devices such as smartphones[28] known as edge computing.
TensorFlow Lite
In May 2017, Google announced a software stack specifically for mobile development, TensorFlow Lite.[29] In January 2019, the TensorFlow team released a developer preview of the mobile GPU inference engine with OpenGL ES 3.1 Compute Shaders on Android devices and Metal Compute Shaders on iOS devices.[30] In May 2019, Google announced that their TensorFlow Lite Micro (also known as TensorFlow Lite for Microcontrollers) and ARM's uTensor would be merging.[31]
TensorFlow 2.0
As TensorFlow's market share among research papers was declining to the advantage of PyTorch,[32] the TensorFlow Team announced a release of a new major version of the library in September 2019. TensorFlow 2.0 introduced many changes, the most significant being TensorFlow eager, which changed the automatic differentiation scheme from the static computational graph to the "Define-by-Run" scheme originally made popular by Chainer and later PyTorch.[32] Other major changes included removal of old libraries, cross-compatibility between trained models on different versions of TensorFlow, and significant improvements to the performance on GPU.[33]
Features
AutoDifferentiation
AutoDifferentiation is the process of automatically calculating the gradient vector of a model with respect to each of its parameters. With this feature, TensorFlow can automatically compute the gradients for the parameters in a model, which is useful to algorithms such as backpropagation which require gradients to optimize performance.[34] To do so, the framework must keep track of the order of operations done to the input Tensors in a model, and then compute the gradients with respect to the appropriate parameters.[34]
Eager execution
TensorFlow includes an “eager execution” mode, which means that operations are evaluated immediately as opposed to being added to a computational graph which is executed later.[35] Code executed eagerly can be examined step-by step-through a debugger, since data is augmented at each line of code rather than later in a computational graph.[35] This execution paradigm is considered to be easier to debug because of its step by step transparency.[35]
Distribute
In both eager and graph executions, TensorFlow provides an API for distributing computation across multiple devices with various distribution strategies.[36] This distributed computing can often speed up the execution of training and evaluating of TensorFlow models and is a common practice in the field of AI.[36][37]
In order to assess the performance of machine learning models, TensorFlow gives API access to commonly used metrics. Examples include various accuracy metrics (binary, categorical, sparse categorical) along with other metrics such as Precision, Recall, and Intersection-over-Union (IoU).[39]
TensorFlow offers a set of optimizers for training neural networks, including ADAM, ADAGRAD, and Stochastic Gradient Descent (SGD).[41] When training a model, different optimizers offer different modes of parameter tuning, often affecting a model's convergence and performance.[42]
Usage and extensions
TensorFlow
TensorFlow serves as a core platform and library for machine learning. TensorFlow's APIs use Keras to allow users to make their own machine-learning models.[33][43] In addition to building and training their model, TensorFlow can also help load the data to train the model, and deploy it using TensorFlow Serving.[44]
TensorFlow also has a library for machine learning in JavaScript. Using the provided JavaScript APIs, TensorFlow.js allows users to use either Tensorflow.js models or converted models from TensorFlow or TFLite, retrain the given models, and run on the web.[44][62]
TFLite
TensorFlow Lite has APIs for mobile apps or embedded devices to generate and deploy TensorFlow models.[63] These models are compressed and optimized in order to be more efficient and have a higher performance on smaller capacity devices.[64]
TensorFlow Lite uses FlatBuffers as the data serialization format for network models, eschewing the Protocol Buffers format used by standard TensorFlow models.[64]
TFX
TensorFlow Extended (abbrev. TFX) provides numerous components to perform all the operations needed for end-to-end production.[65] Components include loading, validating, and transforming data, tuning, training, and evaluating the machine learning model, and pushing the model itself into production.[44][65]
Integrations
Numpy
Numpy is one of the most popular Python data libraries, and TensorFlow offers integration and compatibility with its data structures.[66] Numpy NDarrays, the library's native datatype, are automatically converted to TensorFlow Tensors in TF operations; the same is also true vice versa.[66] This allows for the two libraries to work in unison without requiring the user to write explicit data conversions. Moreover, the integration extends to memory optimization by having TF Tensors share the underlying memory representations of Numpy NDarrays whenever possible.[66]
Extensions
TensorFlow also offers a variety of libraries and extensions to advance and extend the models and methods used.[67] For example, TensorFlow Recommenders and TensorFlow Graphics are libraries for their respective functionalities in recommendation systems and graphics, TensorFlow Federated provides a framework for decentralized data, and TensorFlow Cloud allows users to directly interact with Google Cloud to integrate their local code to Google Cloud.[68] Other add-ons, libraries, and frameworks include TensorFlow Model Optimization, TensorFlow Probability, TensorFlow Quantum, and TensorFlow Decision Forests.[67][68]
Google Colab
Google also released Colaboratory, a TensorFlow Jupyter notebook environment that does not require any setup.[69] It runs on Google Cloud and allows users free access to GPUs and the ability to store and share notebooks on Google Drive.[70]
Google JAX is a machine learning framework for transforming numerical functions.[71][72][73] It is described as bringing together a modified version of autograd (automatic obtaining of the gradient function through differentiation of a function) and TensorFlow's XLA (Accelerated Linear Algebra). It is designed to follow the structure and workflow of NumPy as closely as possible and works with TensorFlow as well as other frameworks such as PyTorch. The primary functions of JAX are:[71]
grad: automatic differentiation
jit: compilation
vmap: auto-vectorization
pmap: SPMD programming
Applications
Medical
GE Healthcare used TensorFlow to increase the speed and accuracy of MRIs in identifying specific body parts.[74] Google used TensorFlow to create DermAssist, a free mobile application that allows users to take pictures of their skin and identify potential health complications.[75]Sinovation Ventures used TensorFlow to identify and classify eye diseases from optical coherence tomography (OCT) scans.[75]
Social media
Twitter implemented TensorFlow to rank tweets by importance for a given user, and changed their platform to show tweets in order of this ranking.[76] Previously, tweets were simply shown in reverse chronological order.[76] The photo sharing app VSCO used TensorFlow to help suggest custom filters for photos.[75]
Search Engine
Google officially released RankBrain on October 26, 2015, backed by TensorFlow.[77]
Education
InSpace, a virtual learning platform, used TensorFlow to filter out toxic chat messages in classrooms.[78] Liulishuo, an online English learning platform, utilized TensorFlow to create an adaptive curriculum for each student.[79] TensorFlow was used to accurately assess a student's current abilities, and also helped decide the best future content to show based on those capabilities.[79]
Retail
The e-commerce platform Carousell used TensorFlow to provide personalized recommendations for customers.[75] The cosmetics company ModiFace used TensorFlow to create an augmented reality experience for customers to test various shades of make-up on their face.[80]
2016 comparison of original photo (left) and with TensorFlow neural style applied (right)
^Abadi, Martín; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). TensorFlow: A System for Large-Scale Machine Learning(PDF). Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’16). arXiv:1605.08695. Archived(PDF) from the original on December 12, 2020. Retrieved October 26, 2020.
^TensorFlow: Open source machine learning. Google. 2015. Archived from the original on November 11, 2021. "It is machine learning software being used for various kinds of perceptual and language understanding tasks" – Jeffrey Dean, minute 0:47 / 2:17 from YouTube clip
^ abCiaramella, Alberto; Ciaramella, Marco (July 2024). Introduction to Artificial Intelligence: from data analysis to generative AI. Intellisemantic Editions. ISBN9788894787603.
^Malmaud, Jon (August 12, 2019). "A Julia wrapper for TensorFlow". GitHub. Archived from the original on July 24, 2017. Retrieved August 14, 2019. operations like sin, * (matrix multiplication), .* (element-wise multiplication), etc [..]. Compare to Python, which requires learning specialized namespaced functions like tf.matmul.
Fuerza Aérea de la República de Singapur Republic of Singapore Air Force Angkatan Udara Republik SingapuraActiva 1 de abril de 1975País SingapurTipo Fuerza aéreaFunción Supremacía aérea y defensa aéreaTamaño 13 500 efectivosParte de Fuerzas Armadas de la República de SingapurEquipamiento 422 aeronavesAlto mandoJefe de la Fuerza Aérea Mayor general Ng Chee MengCultura e historiaAniversarios 1 de abril (Día de la Fuerza Aérea)Guerras y batallas Guerra de AfganistánGuerra de ...
Grote Moskee van Parijs Locatie Parijs Frankrijk In gebruik 1926 Architectuur Architect Maurice Tranchant de Lunel Architectuurstijl Moors Bouwperiode 1922-1926 Aantal minaretten 1 Hoogte minaretten 33 meter Portaal Islam De Grote Moskee van Parijs is een moskee gelegen in het 5e arrondissement van Parijs. Het is de grootste moskee van Frankrijk en op twee na grootste van Europa. De moskee is na de Eerste Wereldoorlog opgericht als Franse dank voor de hulp tijdens ...
Bowling at the 2019 SEA GamesVenueCoronado Lanes, Starmall EDSA-ShawLocationMandaluyong, PhilippinesDates3–8 DecemberNations8← 20172021 → Bowling at the2019 SEA GamesSinglesmenwomenDoublesmenwomenmixedTeammenwomenMastersmenwomenvte The bowling competitions at the 2019 SEA Games in the Philippines was held from 3 to 8 December 2019 at Coronado Lanes within Starmall EDSA-Shaw in Mandaluyong, Metro Manila.[1] Events The following events will be contested: Sin...
Pertunjukkan Yeongsanhoesang di Istana Changgyeong. Yeongsan-hoesang (영산회상) adalah sebuah repertoar musik tradisional Korea.[1][2] Repertoar ini berasal dari musik dan lagu agama Buddha yang menceritakan tentang khotbah Buddha kepada para pengikutnya.[2] Repertoar ini melantunkan 7 buah kata-kata yeongsan hoesang bulbosal. Kalimat ini awalnya dinyanyikan di episode pertama yeongsanhoesang, namun sekarang sudah menjadi instrumental sepenuhnya.[2] Yeongsa...
American comic book artist This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (July 2015) (Learn how and when to remove this template message) Sol BrodskyCover of Marvel Age 22 (January 1985)Featuring Sol Brodsky, art by John Romita Sr.Born(1923-04-22)April 22, 1923Brooklyn, New York City, New YorkDiedJune 4, 1984(1984-06-04) (aged 61)NationalityAmerica...
زلزال تركيا 2020 معلومات التاريخ 24 يناير 2020 البلد تركيا مكان الزلزال 38°19′48″N 39°05′02″E / 38.330°N 39.084°E / 38.330; 39.084 إحداثيات 38°23′24″N 39°04′52″E / 38.39°N 39.081°E / 38.39; 39.081[1] القوة 6.7 [1](مقياس درجة العزم) النتائج الخسائر البشرية 29 قتلى، 272 جريح[...
Sebuah fragmen dari Septizodium, tempat dimana pemilihan tersebut diadakan Pemilihan Paus 21 September sampai 25 Oktober 1241[1] memilih Kardinal Goffredo da Castiglione sebagai Paus Selestinus IV. Setelah pemilihan Selestinus IV wafat pada 17 hari setelah ia terpilih Catatan ^ Gregorovius gives November 1 for the termination of the election; Kington-Oliphant gives October 16; the difference is due to the election predating the adoption of the kalender Gregorian. See Gregorovius, 1906...
American singer-songwriter Annie HartAnnie Hart, 2016Background informationOriginBrooklyn, New YorkGenresSynth-popYears active2003 (2003)–presentLabelsInstant Records, Uninhabitable Mansions, Our Secret Record Company, EMI, Moshi MoshiWebsitewww.anniehart.nycMusical artist Annie Hart is an American film singer-songwriter and composer. She primarily composes and performs in the band Au Revoir Simone.[1] In 2017, she released a solo album entitled Impossible Accomplice.[2]...
In het gewone spraakgebruik verstaan we onder de dimensies (van het Latijn: afmeting) van een voorwerp de parameters waarmee zijn vorm en afmetingen worden vastgelegd. Gewoonlijk zijn dat lengte, breedte en hoogte. Afmetingen kunnen worden weergegeven met het vermenigvuldigingsteken ×, bijvoorbeeld 2 × 3 meter (twee bij drie meter), met spaties aan beide zijden van het teken.[1] In de wiskunde zijn de dimensies van een ruimte de parameters waarmee een element van die ruimte wordt be...
Strong-weak duality in supersymmetric theories of theoretical physics String theory Fundamental objects String Cosmic string Brane D-brane Perturbative theory Bosonic Superstring (Type I, Type II, Heterotic) Non-perturbative results S-duality T-duality U-duality M-theory F-theory AdS/CFT correspondence Phenomenology Phenomenology Cosmology Landscape Mathematics Geometric Langlands correspondence Mirror symmetry Monstrous moonshine Vertex algebra Related concepts Theory of everything Conformal...
Comics character IcicleJoar Mahkent (top) and Cameron Mahkent (bottom).Respective art by Irwin Hasen and Alan Davis.Publication informationPublisherDC ComicsFirst appearance(Joar): All-American Comics #90 (October 1947) (Cameron): Infinity, Inc. #34 (January 1987)Created by(Joar): Robert KanigherIrwin Hasen (Cameron): Roy ThomasDann ThomasTodd McFarlaneIn-story informationAlter ego(Joar): Dr. Joar Mahkent(Cameron): Cameron MahkentSpeciesMetahumanTeam affiliations(Joar): Injustice Society(Came...
Russian civil engineer, architect and educator Ivan Ivanovich RerbergBorn4 October 1869MoscowDiedOctober 15, 1932 (aged 63)MoscowNationalityRussian Empire, Soviet UnionOccupationArchitectPracticeRoman Klein firm (1897–1909)Own practiceBuildingsCentral Telegraph and Kiyevsky Rail Terminal (Moscow) Northern Insurance clock tower, 1909–1912 Ivan Ivanovich Rerberg (October 4, 1869 – October 15, 1932)[1] was a Russian civil engineer, architect and educator active in Moscow in...
Ito's drawing depicting an onibaba and her victims. Inspired by Yoshitoshi. Seiu Ito (伊藤晴雨, Itō Seiu), also romanised as Seiyu Itoh (3 March 1882 in Tokyo – 28 January 1961 in Truro), was a Japanese painter, recognised today as the father of modern kinbaku.[1] Ito's life was the subject of director Noboru Tanaka's 1977 Nikkatsu Roman porno film Beauty's Exotic Dance: Torture!, the final entry in his Showa Era trilogy.[2] Biography Ito was born Hajime Ito (伊�...
Minor league baseball teamOgden RaptorsFounded in 1994 Ogden, Utah Team logo Cap insignia Minor league affiliationsClassIndependent (from 2021)Previous classesRookie Advanced (1994–2020)LeaguePioneer League (1994–present)DivisionSouth DivisionMajor league affiliationsPrevious teams Los Angeles Dodgers (2003–2020) Milwaukee Brewers (1996–2002) Independent (1994–1995) Minor league titlesLeague titles (2)20172023Division titles (11)19962005201020112012201420162017201820192023Team dataN...
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: My Homies – news · newspapers · books · scholar · JSTOR (November 2020) (Learn how and when to remove this template message) 1998 studio album by ScarfaceMy HomiesStudio album by ScarfaceReleasedMarch 3, 1998Recorded1997-1998GenreHip hopLength136:33Labe...
Worldview centred on or biased towards Chinese civilisation This article is about the diplomatic system and state ideology. For ethnocentric attitudes among ethnic Han within China, see Han chauvinism. For Han ethnic-related nationalism, see Han nationalism. This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (May 2022) SinocentrismTraditional Chi...
2020 single by EveKaikai KitanSingle by Evefrom the EP Kaikai Kitan/Ao no Waltz LanguageJapaneseReleasedOctober 3, 2020 (2020-10-03)Recorded2020GenreJ-popLength3:39LabelToy's FactorySongwriter(s)EveProducer(s)EveEve singles chronology Snow (2019) Kaikai Kitan (2020) Promise (2020) Kaikai Kitan (廻廻奇譚) is a song recorded by Japanese singer Eve. It was released on October 3, 2020 by Toy's Factory. It was used as the first opening theme for the anime series Jujutsu Kaisen.&...