Según el idioma que prefiera
R:
Utilice cualquier paquete de red neuronal estándar (caret, nnet) junto con
con los siguientes (google sobre cada uno para más detalles)
1> biblioteca (doMC); registrarseDoMC (x)
2> biblioteca (doParallel);
c <- makeCluster (detectCores ())
registerDoParallel (c)
3> paquete foreach
Además, una buena lectura / descripción general puede ser esto (http://www.slideshare.net/bytemi…)
- ¿Dominarán las empresas chinas en el diseño de AI ASIC?
- ¿Qué es el aprendizaje automático y cómo lo implemento en robots?
- Cómo comenzar a aprender inteligencia artificial y construir una aplicación de inteligencia artificial real usando Python o Java
- ¿Una combinación humano-computadora supera a una computadora en ajedrez?
- ¿Cuál es el papel de la función de activación no lineal (función sigmoidea) en las redes neuronales?
MATLAB / Octave : use cualquier caja de herramientas de aprendizaje profundo (rasmusbergpalm / DeepLearnToolbox), ya que usan operaciones de matriz incorporadas para las que matlab se encarga de ejecutar en múltiples núcleos (también puede restringir el número máximo de núcleos que usará la instancia de MATLAB )
Pero si usa octava en lugar de MATLAB, entonces el problema es que la octava solo usa un núcleo. Pero esto se puede solucionar nuevamente haciendo que octave use bibliotecas como ATLAS que usa múltiples núcleos.
Para octava también mira los paquetes ‘mpi’ y ‘paralelo’
pitón:
mira esto aparte de lo que Mayank sugirió a continuación
http://deeplearning.net/software…
PD:
Recuerda que entrenar la red neuronal no es nada pero multiplicaciones matriciales (desde el punto de vista de la implementación). Entonces, si escribe el código o usa el código de otra persona, asegúrese de que esta operación sea paralelizable (use múltiples cpu / gpu) o use algunas bibliotecas (BLAS, ATLAS, etc.) para el mismo, y funcionará bien.