TensorFlow особливо показаний для глибокого навчання, тобто нейронних мереж з великою кількістю шарів і дивних топологій.
Це воно. Це альтернатива Theano , але розроблена Google.
І в TensorFlow, і в Theano ви програмуєте символічно. Ви визначаєте свою нейронну мережу у вигляді алгеабрейних операцій (ці вузли множать на ці ваги, а потім застосовується нелінійне перетворення, бла-бла-бла), які внутрішньо представлені графіком (що у випадку TensorFlow, але не Theano, ви можете насправді побачити, щоб налагодити вашу нейронну мережу).
Тоді TensorFlow (або Theano) пропонують алгоритми оптимізації, які роблять важку роботу щодо з'ясування того, які ваги мінімізують будь-яку функцію витрат, яку ви хочете мінімізувати. Якщо ваша нейронна мережа призначена для вирішення проблеми регресії, ви, можливо, захочете мінімізувати суму квадратних різниць між передбачуваними значеннями та справжніми значеннями. TensorFlow виконує важку роботу з розмежування вашої функції витрат і всього цього.
EDIT: Забув зазначити, що, звичайно, SVM можна розглядати як тип нейронної мережі , тому очевидно, що ви можете тренувати SVM, використовуючи інструменти оптимізації TensorFlow. Але TensorFlow поставляється лише з оптимізаторами на основі градієнта спуску, які трохи нерозумно використовувати для тренування SVM, якщо у вас є багато спостережень, оскільки є специфічні оптимізатори для SVM, які не зациклюються на локальних мінімумах.
Також, напевно, варто згадати, що TensorFlow і Theano є досить низькими рамками. Більшість людей використовують рамки, побудовані на них і простіші у використанні. Я не пропоную тут жодного, тому що це породжує власну дискусію. Дивіться тут пропозиції про прості у користуванні пакети.