O TensorFlow é especialmente indicado para aprendizado profundo, ou seja, redes neurais com muitas camadas e topologias estranhas.
É isso aí. É uma alternativa ao Theano , mas desenvolvido pelo Google.
No TensorFlow e no Theano, você programa simbolicamente. Você define sua rede neural na forma de operações algébricas (esses nós são multiplicados por esses pesos e, em seguida, uma transformação não linear é aplicada, bla bla bla), que internamente são representadas por um gráfico (que no caso do TensorFlow, mas não Theano, você pode realmente ver para depurar sua rede neural).
Então, o TensorFlow (ou Theano) oferece algoritmos de otimização que fazem o trabalho pesado de descobrir quais pesos minimizam qualquer função de custo que você queira minimizar. Se sua rede neural é destinada a resolver um problema de regressão, convém minimizar a soma das diferenças quadráticas entre os valores previstos e os valores reais. O TensorFlow faz o trabalho pesado de diferenciar sua função de custo e tudo mais.
EDIT: Esqueci de mencionar que, é claro, os SVMs podem ser vistos como um tipo de rede neural ; portanto, obviamente, você pode treinar um SVM usando as ferramentas de otimização do TensorFlow. Mas o TensorFlow vem apenas com otimizadores baseados em descida de gradiente que são um pouco estúpidos de usar para treinar um SVM, a menos que você tenha muitas observações, pois existem otimizadores específicos para SVM que não ficam presos nos mínimos locais.
Além disso, provavelmente vale a pena mencionar, que o TensorFlow e o Theano são estruturas de baixo nível. A maioria das pessoas usa estruturas que são construídas sobre elas e são mais fáceis de usar. Não vou sugerir aqui nenhum, porque isso geraria sua própria discussão. Veja aqui sugestões para pacotes fáceis de usar.