Claramente, las mejores bibliotecas para implementar redes neuronales con soporte (multi) GPU en Python son
- Theano (Uso de múltiples GPU)
- y TensorFlow (https://www.tensorflow.org/versions/r0.7/tutorials/deep_cnn/index.htm)
He usado Theano en el pasado, y actualmente estoy jugando con TensorFlow; ambas bibliotecas son muy similares y no hay un verdadero ganador (todavía). Sin embargo, TensorFlow puede ser el más popular (aunque solo se lanzó hace unos meses mientras Theano ha existido durante años), probablemente porque está respaldado por Google.
(Ah, y no quiero olvidar mencionar Caffe, BVLC / caffe, que se centra más en las aplicaciones de visión por computadora)
- ¿Cómo entrenamos un clasificador para el cual solo tenemos: 1) un conjunto de datos que son datos de entrenamiento explícitamente positivos y 2) un conjunto de datos que se desconoce (tiene el potencial de ser positivo o negativo)?
- Los hiperparámetros del modelo de sintonización no encontraron los parámetros óptimos que uso en mi modelo. ¿Por qué?
- ¿Cómo responden las redes neuronales profundas para la clasificación de imágenes a las variaciones típicas de la imagen, como la iluminación, la distancia focal, etc.?
- ¿El aprendizaje automático como campo todavía está en su infancia, o ya es sofisticado y está bien desarrollado?
- ¿Cómo aplicamos el algoritmo de agrupamiento k-means para datos mixtos numéricos y categóricos?
Actualmente no lo uso yo mismo, pero la biblioteca Java más utilizada / mejor (?) Con soporte multi-GPU para entrenamiento de redes neuronales (con buena integración de Spark & Hadoop) sería
- Deeplearning4j (aprendizaje profundo distribuido de código abierto para la JVM)