Los frameworks de inteligencia artificial (IA) juegan un papel importante en machine learning, o aprendizaje automático. Hay más de una docena de frameworks de IA de código abierto disponibles para los ingenieros y científicos de datos en el mercado. TensorFlow, de Google, es uno de los más populares. Incluye herramientas, bibliotecas, modelos pre-diseñados y mucho más.
Otros marcos populares son PyTorch y Caffe. Uno de los desafíos es determinar cuál es el más adecuado para un caso de uso en particular. Y los casos de uso varían ampliamente. La clasificación de imágenes, la visión artificial o la detección de anomalías son solo algunos ejemplos. PyTorch es una alternativa sólida a TensorFlow, dependiendo del caso de uso. Scikit-learn funciona bien en el análisis y la minería de datos (data mining). Facebook continúa invirtiendo en Pytorch desde su fundación, ya que juega un papel importante en su stack de tecnología.
A continuación, presentamos diez frameworks de inteligencia artificial populares, todos de código abierto:
Framework | Lenguaje | Tipo | Casos de uso |
Accord.Net | C++ | Clasificación, regresión y agrupación | Audio. Procesamiento de imágenes. Visión artificial. |
Apache Mahout | Java / Scala | Framework de álgebra lineal distribuida | Ideal para matemáticos y estadísticos. |
Caffe | C++ | Aprendizaje profundo (Deep learning) | Clasificación de imágenes. Habla. Multimedia. |
Keras | Python | Aprendizaje profundo (Deep learning) | API de alto nivel. Bien integrado con TensorFlow. |
MLPack | C++ | “Navaja suiza” de métodos y funciones | Compatible con NeighborSearch, K-Means y RangeSearch. |
PyTorch | Python | Redes neuronales dinámicas y computación de sensores | Segundo framework más popular. Desarrollado por Facebook. |
scikit-learn | Python | Clasificación, regresión y agrupación | Data mining. Análisis de datos. Desarrolló SciPy, NumPy y motplotlib. |
Spark MLib | Java, Scala, Python y R | Clasificación, regresión, agrupación y más | 9 veces más rápido que Mahout. Se utiliza para emparejar pipelines de aprendizaje. |
Torch | Lua / LuaJIT | Aprendizaje Profundo (Deep learning) | Acepta matrices multidimensionales. Visión artificial. Clasificación de imágenes. Audio y video. Trabaja con GPU. |
Teano | Python | Se utiliza para evaluar expresiones matemáticas | Integrado con NumPy. Acepta matrices multidimensionales. Permite el uso de GPU. |