La siguiente tabla compara marcos de software , bibliotecas y programas informáticos notables para el aprendizaje profundo .
Software de aprendizaje profundo por nombre
Software | Creador | Versión inicial | Licencia de software [a] | Fuente abierta | Plataforma | Escrito en | Interfaz | Soporte OpenMP | Soporte OpenCL | Soporte CUDA | Diferenciación automática [1] | Tiene modelos previamente entrenados | Redes recurrentes | Redes convolucionales | RBM / DBN | Ejecución paralela (multinodo) | Desarrollado activamente |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BigDL | Jason Dai (Intel) | 2016 | Apache 2.0 | sí | Apache Spark | Scala | Scala, Python | No | sí | sí | sí | ||||||
Caffe | Centro de aprendizaje y visión de Berkeley | 2013 | BSD | sí | Linux , macOS , Windows [2] | C ++ | Python , MATLAB , C ++ | sí | En desarrollo [3] | sí | sí | Sí [4] | sí | sí | No | ? | No [5] |
Chainer | Redes preferidas | 2015 | BSD | sí | Linux , macOS | Pitón | Pitón | No | No | sí | sí | sí | sí | sí | No | sí | No [6] |
Deeplearning4j | Equipo de ingeniería de Skymind; Comunidad Deeplearning4j; originalmente Adam Gibson | 2014 | Apache 2.0 | sí | Linux , macOS , Windows , Android ( multiplataforma ) | C ++ , Java | Java , Scala , Clojure , Python ( Keras ), Kotlin | sí | No [7] | Sí [8] [9] | Gráfico computacional | Sí [10] | sí | sí | sí | Sí [11] | sí |
Dlib | Davis King | 2002 | Aumente la licencia del software | sí | Multiplataforma | C ++ | C ++ , Python | sí | No | sí | sí | sí | No | sí | sí | sí | |
Flujo | Mike Innes | 2017 | Licencia MIT | sí | Linux , MacOS , Windows ( multiplataforma ) | Julia | Julia | sí | sí | Sí [12] | sí | sí | No | sí | sí | ||
Biblioteca de aceleración de análisis de datos de Intel | Intel | 2015 | Licencia Apache 2.0 | sí | Linux , macOS , Windows en CPU Intel [13] | C ++ , Python , Java | C ++ , Python , Java [13] | sí | No | No | sí | No | sí | sí | |||
Biblioteca de kernel matemático de Intel | Intel | Propiedad | No | Linux , macOS , Windows en CPU Intel [14] | C [15] | Sí [16] | No | No | sí | No | Sí [17] | Sí [17] | No | ||||
Keras | François Chollet | 2015 | Licencia MIT | sí | Linux , macOS , Windows | Pitón | Python , R | Solo si usa Theano como backend | Puede usar Theano, Tensorflow o PlaidML como backends | sí | sí | Sí [18] | sí | sí | No [19] | Sí [20] | sí |
MATLAB + Caja de herramientas de aprendizaje profundo | MathWorks | Propiedad | No | Linux , macOS , Windows | C , C ++ , Java , MATLAB | MATLAB | No | No | Entrene con Parallel Computing Toolbox y genere código CUDA con GPU Coder [21] | Sí [22] | Sí [23] [24] | Sí [23] | Sí [23] | sí | Con caja de herramientas de computación paralela [25] | sí | |
Kit de herramientas cognitivas de Microsoft (CNTK) | Investigación de Microsoft | 2016 | Licencia MIT [26] | sí | Windows , Linux [27] ( macOS a través de Docker en la hoja de ruta) | C ++ | Python ( Keras ), C ++ , línea de comandos , [28] BrainScript [29] ( .NET en la hoja de ruta [30] ) | Sí [31] | No | sí | sí | Sí [32] | Sí [33] | Sí [33] | No [34] | Sí [35] | No [36] |
Apache MXNet | Fundación de software Apache | 2015 | Apache 2.0 | sí | Linux , macOS , Windows , [37] [38] AWS , Android , [39] iOS , JavaScript [40] | Pequeña biblioteca central de C ++ | C ++ , Python , Julia , Matlab , JavaScript , Go , R , Scala , Perl , Clojure | sí | En la hoja de ruta [41] | sí | Sí [42] | Sí [43] | sí | sí | sí | Sí [44] | sí |
Diseñador neuronal | Artelnics | 2014 | Propiedad | No | Linux , macOS , Windows | C ++ | Interfaz gráfica del usuario | sí | No | sí | Diferenciación analítica | No | No | No | No | sí | sí |
OpenNN | Artelnics | 2003 | GNU LGPL | sí | Multiplataforma | C ++ | C ++ | sí | No | sí | ? | ? | No | No | No | ? | |
PlaidML | Vertex.AI , Intel | 2017 | Apache 2.0 | sí | Linux , macOS , Windows | Python , C ++ , OpenCL | Python , C ++ | ? | Algunos ICD de OpenCL no se reconocen | No | sí | sí | sí | sí | sí | sí | |
PyTorch | Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan (Facebook) | 2016 | BSD | sí | Linux , macOS , Windows | Python , C , C ++ , CUDA | Python , C ++ , Julia | sí | A través de un paquete mantenido por separado [45] [46] | sí | sí | sí | sí | sí | sí | sí | |
Seq2SeqSharp | Zhongkai Fu | 2018 | BSD | sí | Linux , macOS , Windows | C # , C , C ++ , CUDA | C# | sí | No | sí | sí | sí | sí | No | No | sí | sí |
Apache SINGA | Fundación de software Apache | 2015 | Apache 2.0 | sí | Linux , macOS , Windows | C ++ | Python , C ++ , Java | No | Soportado en V1.0 | sí | ? | sí | sí | sí | sí | sí | |
TensorFlow | Google Brain | 2015 | Apache 2.0 | sí | Linux , macOS , Windows , [47] [48] Android | C ++ , Python , CUDA | Python ( Keras ), C / C ++ , Java , Go , JavaScript , R , [49] Julia , Swift | No | En hoja de ruta [50] pero ya con SYCL [51] apoyo | sí | Sí [52] | Sí [53] | sí | sí | sí | sí | sí |
Theano | Universidad de Montreal | 2007 | BSD | sí | Multiplataforma | Pitón | Python ( Keras ) | sí | En desarrollo [54] | sí | Sí [55] [56] | A través del zoológico modelo de Lasagne [57] | sí | sí | sí | Sí [58] | No |
Antorcha | Ronan Collobert, Koray Kavukcuoglu, Clemente Farabet | 2002 | BSD | sí | Linux , macOS , Windows , [59] Android , [60] iOS | C , Lua | Lua , LuaJIT , [61] C , biblioteca de utilidades para C ++ / OpenCL [62] | sí | Implementaciones de terceros [63] [64] | Sí [65] [66] | A través de Autograd de Twitter [67] | Sí [68] | sí | sí | sí | Sí [59] | No |
Wolfram Mathematica | Investigación Wolfram | 1988 | Propiedad | No | Windows , macOS , Linux , computación en la nube | C ++ , Wolfram Language , CUDA | Wolfram Language | sí | No | sí | sí | Sí [69] | sí | sí | sí | Sí [70] | sí |
Software | Creador | Versión inicial | Licencia de software [a] | Fuente abierta | Plataforma | Escrito en | Interfaz | Soporte OpenMP | Soporte OpenCL | Soporte CUDA | Diferenciación automática [71] | Tiene modelos previamente entrenados | Redes recurrentes | Redes convolucionales | RBM / DBN | Ejecución paralela (multinodo) | Desarrollado activamente |
- ^ a b Las licencias aquí son un resumen y no se consideran declaraciones completas de las licencias. Algunas bibliotecas pueden usar otras bibliotecas internamente con diferentes licencias.
Comparación de compatibilidad de modelos de aprendizaje automático
Nombre de formato | Objetivo de diseño | Compatible con otros formatos | Modelo DNN autónomo | Preprocesamiento y posprocesamiento | Configuración en tiempo de ejecución para ajuste y calibración | Interconexión modelo DNN | Plataforma común |
---|---|---|---|---|---|---|---|
TensorFlow , Keras , Caffe , Torch , ONNX , | Entrenamiento de algoritmos | No | No / archivos separados en la mayoría de los formatos | No | No | No | sí |
ONNX | Entrenamiento de algoritmos | sí | No / archivos separados en la mayoría de los formatos | No | No | No | sí |
Ver también
- Comparación de software de análisis numérico
- Comparación de paquetes estadísticos
- Lista de conjuntos de datos para la investigación de aprendizaje automático
- Lista de software de análisis numérico
Referencias
- ^ Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 de febrero de 2015). "Diferenciación automática en aprendizaje automático: una encuesta". arXiv : 1502.05767 [ cs.LG ].
- ^ "Microsoft / caffe" . GitHub .
- ^ "Caffe: un marco abierto rápido para el aprendizaje profundo" . 19 de julio de 2019 - a través de GitHub.
- ^ "Caffe | Zoológico modelo" . caffe.berkeleyvision.org .
- ^ GitHub - BVLC / caffe: Caffe: un marco abierto rápido para el aprendizaje profundo. , Berkeley Vision and Learning Center, 2019-09-25 , consultado el 2019-09-25
- ^ Preferred Networks migra su plataforma de investigación de aprendizaje profundo a PyTorch , 2019-12-05 , consultado el 2019-12-27
- ^ "Soporte para Open CL · Número 27 · deeplearning4j / nd4j" . GitHub .
- ^ "Computación científica N-dimensional para Java" .
- ^ "Comparación de los mejores marcos de aprendizaje profundo" . Deeplearning4j. Archivado desde el original el 7 de noviembre de 2017 . Consultado el 31 de octubre de 2017 .
- ^ Chris Nicholson; Adam Gibson. "Modelos Deeplearning4j" . Archivado desde el original el 11 de febrero de 2017 . Consultado el 2 de marzo de 2016 .
- ^ Deeplearning4j. "Deeplearning4j en Spark" . Deeplearning4j. Archivado desde el original el 13 de julio de 2017 . Consultado el 1 de septiembre de 2016 .
- ^ "Metalero" . FluxML.
- ^ a b "Biblioteca de aceleración de análisis de datos Intel® (Intel® DAAL)" . software.intel.com . 20 de noviembre de 2018.
- ^ "Biblioteca de kernel de matemáticas Intel® (Intel® MKL)" . software.intel.com . 11 de septiembre de 2018.
- ^ "Funciones de redes neuronales profundas" . software.intel.com . 24 de mayo de 2019.
- ^ "Uso de Intel® MKL con aplicaciones roscadas" . software.intel.com . 1 de junio de 2017.
- ^ a b "Intel® Xeon Phi ™ ofrece un rendimiento competitivo para el aprendizaje profundo y mejora rápidamente" . software.intel.com . 21 de marzo de 2019.
- ^ "Aplicaciones - Documentación de Keras" . keras.io .
- ^ "¿Hay RBM en Keras? · Número # 461 · keras-team / keras" . GitHub .
- ^ "¿Keras admite el uso de varias GPU? · Número 2436 · keras-team / keras" . GitHub .
- ^ "Codificador de GPU - MATLAB & Simulink" . MathWorks . Consultado el 13 de noviembre de 2017 .
- ^ "Antecedentes de diferenciación automática - MATLAB & Simulink" . MathWorks . 3 de septiembre de 2019 . Consultado el 19 de noviembre de 2019 .
- ^ a b c "Caja de herramientas de redes neuronales - MATLAB" . MathWorks . Consultado el 13 de noviembre de 2017 .
- ^ "Modelos de aprendizaje profundo - MATLAB & Simulink" . MathWorks . Consultado el 13 de noviembre de 2017 .
- ^ "Caja de herramientas de computación paralela - MATLAB" . MathWorks . Consultado el 13 de noviembre de 2017 .
- ^ "CNTK / LICENSE.md en el maestro · Microsoft / CNTK · GitHub" . GitHub .
- ^ "Configure CNTK en su máquina" . GitHub .
- ^ "Resumen de uso de CNTK" . GitHub .
- ^ "Constructor de red BrainScript" . GitHub .
- ^ "Compatibilidad con .NET · Edición n. ° 960 · Microsoft / CNTK" . GitHub .
- ^ "¿Cómo entrenar un modelo usando varias máquinas? · Edición # 59 · Microsoft / CNTK" . GitHub .
- ^ "Modelos prediseñados para clasificación de imágenes · Número 140 · microsoft / CNTK" . GitHub .
- ^ a b "CNTK - Conjunto de herramientas de red computacional" . Corporación Microsoft.
- ^ url = https://github.com/Microsoft/CNTK/issues/534
- ^ "Varias GPU y máquinas" . Corporación Microsoft.
- ^ "Descargo de responsabilidad" . EQUIPO CNTK.
- ^ "Lanzamientos · dmlc / mxnet" . Github .
- ^ "Guía de instalación - documentación mxnet" . Readthdocs .
- ^ "Dispositivo inteligente MXNet" . ReadTheDocs . Archivado desde el original el 21 de septiembre de 2016 . Consultado el 19 de mayo de 2016 .
- ^ "MXNet.js" . Github .
- ^ "Soporte para otros tipos de dispositivos, OpenCL AMD GPU · Edición # 621 · dmlc / mxnet" . GitHub .
- ^ "- Redirigiendo a mxnet.io" . mxnet.readthedocs.io .
- ^ "Galería de modelos" . GitHub .
- ^ "Ejecute MXNet en varias CPU / GPU con datos en paralelo" . GitHub .
- ^ "Compilación OpenCL de pytorch: (en curso, no utilizable) - hughperkins / pytorch-coriander" . 14 de julio de 2019 - a través de GitHub.
- ^ "Soporte OpenCL · Edición # 488 · pytorch / pytorch" . GitHub .
- ^ "Instalar TensorFlow con pip" .
- ^ "TensorFlow 0.12 agrega soporte para Windows" .
- ^ interfaz), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutoriales), Google Inc (Ejemplos y (2017-05-26), tensorflow: R Interface to TensorFlow , recuperado 2017-06- 14
- ^ "tensorflow / roadmap.md en master · tensorflow / tensorflow · GitHub" . GitHub . 23 de enero de 2017 . Consultado el 21 de mayo de 2017 .
- ^ "Soporte de OpenCL · Número 22 · tensorflow / tensorflow" . GitHub .
- ^ "TensorFlow" . TensorFlow .
- ^ "Modelos y ejemplos creados con TensorFlow" . 19 de julio de 2019 - a través de GitHub.
- ^ "Uso de la GPU - documentación de Theano 0.8.2" .
- ^ "Gradiente - Diferenciación simbólica - Documentación de Theano 1.0.0" . deeplearning.net .
- ^ https://groups.google.com/d/msg/theano-users/mln5g2IuBSU/gespG36Lf_QJ
- ^ "Recetas / modelzoo en master · Lasaña / Recetas · GitHub" . GitHub .
- ^ "Uso de múltiples GPU - documentación de Theano 1.0.0" . deeplearning.net .
- ^ a b "antorcha / antorcha7" . 18 de julio de 2019 - a través de GitHub.
- ^ "GitHub - soumith / torch-android: Torch-7 para Android" . GitHub .
- ^ "Torch7: un entorno similar a Matlab para el aprendizaje automático" (PDF) .
- ^ "GitHub - jonathantompson / jtorch: una biblioteca de utilidades de OpenCL Torch" . GitHub .
- ^ "Hoja de trucos" . GitHub .
- ^ "cltorch" . GitHub .
- ^ "Torch CUDA backend" . GitHub .
- ^ "Torch CUDA backend para nn" . GitHub .
- ^ "Autograd diferencia automáticamente el código nativo de Torch: twitter / torch-autograd" . 9 de julio de 2019 - a través de GitHub.
- ^ "ModelZoo" . GitHub .
- ^ "Repositorio Wolfram Neural Net de modelos de redes neuronales" . resources.wolframcloud.com .
- ^ "Computación paralela — Documentación de Wolfram Language" . reference.wolfram.com .
- ^ Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 de febrero de 2015). "Diferenciación automática en aprendizaje automático: una encuesta". arXiv : 1502.05767 [ cs.LG ].