Keras suporta tanto TensorFlow e Theano como backend: quais são as vantagens / desvantagens de escolher um contra o outro, além do fato de que, atualmente, nem todas as operações são implementadas com o backend TensorFlow?
Keras suporta tanto TensorFlow e Theano como backend: quais são as vantagens / desvantagens de escolher um contra o outro, além do fato de que, atualmente, nem todas as operações são implementadas com o backend TensorFlow?
Respostas:
Se eu tivesse a opção, eu iria com Theano .
Razões:
No entanto, o TensorFlow suporta as interfaces cpp e Python, o que pode ser uma vantagem para a comunidade cpp. Mas, quando se trata de produtos de ML e de ciência de dados, o Python é o padrão, por isso não seria uma IMO de ponta.
Porém, a implantação do modelo e a facilidade de uso na produção é onde o TensorFlow tem a vantagem real. Como ele usa o Eigen para uma implantação fácil e aprimorada, seria um problema para os engenheiros. Se for compatível com o Windows, você verá uma grande migração. Mas, eu me acostumei com a sobrecarga do Python, posso esperar até que fique mais polida.
Então, Theano por enquanto. Felizmente, espero que o TensorFlow o atualize.
Se você estiver implantando redes neurais de complexidade simples a média, vá com o Tensorflow. Se aprendizagem profunda, então Theano.
Foi anunciado em 28/09/2017 que o Theano será descontinuado:
Em https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY (Yoshua Bengio):
Após quase dez anos de desenvolvimento, lamentamos anunciar que encerraremos o desenvolvimento do Theano após o lançamento da versão 1.0, que deve ocorrer nas próximas semanas. Continuaremos com a manutenção mínima para mantê-lo funcionando por um ano, mas pararemos de implementar ativamente novos recursos. O Theano continuará disponível depois, conforme nosso compromisso com o software de código aberto, mas o MILA não se compromete a gastar tempo em manutenção ou suporte após esse período.
Portanto, o TensorFlow é uma opção melhor.