He trabajado con Theano y Torch. Ambos tienen aproximadamente la misma velocidad, ya que ambos usan más o menos las mismas bibliotecas BLAS subyacentes. Sin embargo, en términos de convoluciones, Theano tiene algunas convoluciones FFT muy rápidas (ver referencias de soumith / convnet).
Sin embargo, uso Torch porque me resulta más fácil de entender, optimizar y usar. Theano es un gran compilador. Usarlo implica codificar en un lenguaje simbólico, lo que dificulta la depuración.
La antorcha no es simbólica. Usted ensambla su diagrama de flujo computacional usando Módulos (antorcha / nn). Los gráficos expresivos se pueden estructurar utilizando contenedores (como en el patrón de diseño compuesto). Esto facilita la depuración. También puede crear fácilmente sus propios módulos cambiando fácilmente de C / CUDA de bajo nivel a Lua de alto nivel. Modificar C / CUDA en Theano es mucho menos sencillo, tienes que buscar un compilador …
- Cómo realizar la selección de funciones
- ¿Por qué es popular el aprendizaje profundo?
- ¿Cuál es una explicación intuitiva de las expectativas de la correlación Radamacher?
- ¿El sobreajuste en un conjunto de datos implica que el modelo realmente puede aprender y generalizar sobre ese conjunto de datos, pero desafortunadamente demasiado entrenado?
- ¿Puedes explicar cómo el BPTT sufre un problema de gradiente?
De todos modos, en términos de velocidad de codificación y facilidad de uso, recomiendo Torch. Tanto Theano como Torch son muy rápidos. Están siendo continuamente optimizados. Theano es más utilizado por la academia, y es usado por algunas nuevas empresas. La antorcha se usa más en los negocios (grandes y pequeñas empresas), pero también se usa en la academia (NYU, Purdue, etc.).
Si prefiere trabajar con un marco más abstracto que tenga muchos ejemplos, puede usar Pylearn2 (Bienvenido – Documentación de desarrollo de Pylearn2) para Theano o dp (nicholas-leonard / dp) para Torch (aunque muchos prefieren optim y nn).