TensorFlow
Тип | бібліотека для машинного навчання |
---|---|
Розробник | Команда Google Brain[1] |
Перший випуск | 9 листопада 2015 |
Стабільний випуск | 1.0[2] (15 лютого 2017 ) |
Платформа | 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 |
TensorFlow — відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявляння та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди.[4] Її наразі застосовують як для досліджень, так і для розробки продуктів Google,[4] [5] [4] часто замінюючи на його ролі її закритого попередника, 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.
- Офіційний сайт (англ.)
- TensorFlow на GitHub (англ.)
|
|
- Програмне забезпечення за алфавітом
- Програмне забезпечення глибокого навчання
- Вільне програмне забезпечення на C++
- Вільне програмне забезпечення на Python
- Безплатне статистичне програмне забезпечення
- Відкритий штучний інтелект
- Наукові бібліотеки для Python
- Програмне забезпечення, що використовує ліцензію Apache
- Програмне забезпечення 2015