| Тип | бібліотека длямашинного навчання |
|---|---|
| Розробник | КомандаGoogle Brain[1] |
| Перший випуск | 9 листопада2015; 10 років тому (2015-11-09) |
| Стабільний випуск | 1.0[2] (15 лютого2017; 9 років тому (2017-02-15)) |
| Платформа | Linux,macOS,Windows |
| Операційна система | Windows, Linux, macOS, iOS і Android |
| Мова програмування | Python,C++ |
| Стан розробки | Активний |
| Ліцензія | Відкрита ліцензія Apache 2.0 |
| Онлайн-документація | tensorflow.org/learn tensorflow.org/api_docs |
| Репозиторій | github.com/tensorflow/tensorflow |
| Вебсайт | www.tensorflow.org |
|twitter=
TensorFlow —відкритапрограмна бібліотека длямашинного навчання цілій низці задач, розроблена компанієюGoogle для задоволення її потреб у системах, здатних будувати та тренуватинейронні мережі для виявляння та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди.[4] Її наразі застосовують як для досліджень, так і для розробкипродуктів Google,[4]:хв. 0:15—2:17 [5]:с. 2 [4]:0:26—2:17 часто замінюючи на його ролі їїзакритого попередника,DistBelief. TensorFlow було початково розроблено командоюGoogle Brain для внутрішнього використання в Google, поки її не було випущено підвідкритою ліцензією Apache 2.0 9 листопада 2015 року.[1][6]
Починаючи з 2011 року,Google Brain будувала DistBelief яквласницьку системумашинного навчання на основінейронних мережглибокого навчання. Її використання швидко росло в різноманітних компаніяхAlphabet як у дослідницьких, так і в комерційних застосуваннях.[5][7] Google призначила декількох інформатиків, включно зДжеффом Діном, спростити тапереробити кодову основу DistBelief на швидшу, надійнішу бібліотеку рівнязастосунків, якою стала TensorFlow.[8] 2009 року команда під проводомДжефрі Гінтона реалізувала узагальненезворотне поширення та інші вдосконалення, які дозволити породжувати нейронні мережі з суттєво вищою точністю, наприклад, зниженням похибки врозпізнаванні мовлення на 25 %.[9]
TensorFlow є системоюмашинного навчанняGoogle Brain другого покоління, випущеною яквідкрите програмне забезпечення 9 листопада 2015 року. В той час якеталонна реалізація[en] працює на одиничних пристроях, TensorFlow може працювати на декількохцентральних таграфічних процесорах (включно з додатковими розширеннямиCUDA дляобчислень загального призначення на графічних процесорах).[10] TensorFlow доступна для 64-розряднихLinux,macOS,Windows, та для мобільних обчислювальних платформ, включно зAndroid таiOS.
Обчислення TensorFlow виражаються якстанові[en]графипотоків даних. Назва TensorFlow походить від операцій, що такі нейронні мережі виконують над багатовимірними масивами даних. Ці багатовимірні масиви називають«тензорами». В червні 2016 року Джефф Дін з Google заявив, що TensorFlow згадували 1 500 репозиторіїв наGitHub, лише 5 з яких були від Google.[11]
У травні 2016 року Google анонсувала свійтензорний процесор (ТП,англ.tensor processing unit, TPU),спеціалізовану мікросхему, побудовану спеціально длямашинного навчання, й підігнану під TensorFlow.ТП є програмованимШІ-прискорювачем, розробленим для забезпечення високоїпродуктивності варифметиці низької точності (наприклад,8-бітній), і спрямованим радше на використання або виконання моделей, аніж на їхнєтренування. Google оголосила, що вони використовувалиТП у своїх центрах обробки даних понад рік, і виявили, що вони забезпечують для машинного навчанняна порядок краще оптимізованупродуктивність на ват[en].[12]
TensorFlow забезпечуєППІ дляPython[Архівовано 22 листопада 2015 уWayback Machine.], а також дляC++[Архівовано 6 червня 2017 уWayback Machine.],Haskell[Архівовано 1 травня 2019 уWayback Machine.],Java[Архівовано 21 лютого 2017 уWayback Machine.] таGo[Архівовано 21 лютого 2017 уWayback Machine.].
Платформа спочатку розроблена командоюGoogle Brain і використовуються в сервісах Google длярозпізнавання мови, виділення облич на фотографіях, визначення схожості зображень, відсіюванняспаму вGmail, підбору новин уGoogle News і організації перекладу з урахуванням контексту. Розподілені системи машинного навчання можна створювати на типовому обладнанні, завдяки вбудованій підтримці в TensorFlow рознесення обчислень на кількаCPU абоGPU.
Серед застосувань, для яких TensorFlow є основою, єпрограмне забезпечення автоматизованого опису зображень, таке якDeepDream.[13] 26 жовтня 2015 року Google офіційно реалізувалаRankBrain[en], який підтримує TensorFlow. RankBrain тепер обробляє суттєве число пошукових записів, замінюючи та доповнюючи традиційні статичні алгоритми на основі результатів пошуку.[14]
Іншими застосуванням є використання у складі програм FakeApp[15] з метою безшовного поєднання фото- та відеозображень для створення підробних, але правдоподібних відео, відомих під назвоюDeepfake.
TensorFlow надаєбібліотеку готових алгоритмів чисельних обчислень, реалізованих через графипотоків даних (data flow graphs). Вузли в таких графах реалізують математичні операції або точки входу/виводу, в той час як ребра графу представляють багатовимірні масиви даних (тензори), які перетікають між вузлами. Вузли можуть бути закріплені за обчислювальними пристроями і виконуватися асинхронно, паралельно обробляючи разом все підходящі до них тензори, що дозволяє організувати одночасну роботу вузлів в нейронної мережі за аналогією з одночасною активацією нейронів в мозку.
Інтеграція TensorFlow з Python забезпечується не лише черезpip, а й у дистрибутивіAnaconda.