Os frameworks de inteligência artificial (IA) desempenham um papel importante no machine learning, ou aprendizado de máquina. Existem mais de uma dúzia de frameworks de IA de código aberto disponíveis para engenheiros e cientistas de dados no mercado. O TensorFlow, da Google, é um dos mais populares. Ele vem repleto de ferramentas, bibliotecas, modelos pré-desenhados e muito mais.
Outros frameworks populares incluem PyTorch e Caffe. Um dos desafios é determinar qual é o mais adequado para um caso de uso específico. E os casos de uso variam muito. Classificação de imagem, visão computacional ou detecção de anomalias são apenas alguns de muitos exemplos. PyTorch é uma alternativa sólida para TensorFlow, dependendo do caso de uso. O Scikit-learn funciona bem em análise de dados e mineração de dados (data mining). O Facebook continua investindo em Pytorch desde sua criação, pois desempenha um papel importante no seu stack de tecnologia.
A seguir, temos dez frameworks de inteligência artificial populares, todos de código aberto.
Framework | Linguagem | Tipo | Casos de uso |
Accord.Net | C++ | Classificação, regressão e agrupamento | Áudio. Processamento de imagens. Visão computacional. |
Apache Mahout | Java / Scala | Framework de álgebra linear distribuída | Ideal para matemáticos e estatísticos. |
Caffe | C++ | Aprendizagem Profunda (Deep learning) | Classificação de imagens. Fala. Multimídia |
Keras | Python | Aprendizagem Profunda (Deep learning) | API de alto nível. Totalmente integrado ao TensorFlow. |
MLPack | C++ | “Faca suíça” de métodos e funções | Suporta NeighborSearch, K-Means e RangeSearch. |
PyTorch | Python | Redes neurais dinâmicas e cálculo do sensor | Segundo framework mais popular. Desenvolvido pelo Facebook. |
Scikit-learn | Python | Classificação, regressão e agrupamento | Data mining. Análise de dados. Desenvolveu SciPy, NumPy e motplotlib. |
Spark MLib | Java, Scala, Python e R | Classificação, regressão, agrupamento e muito mais | 9 vezes mais rápido que Mahout. Usado para combinar pipelines de aprendizagem. |
Tocha | Lua / LuaJIT | Aprendizagem Profunda (Deep learning) | Suporta matrizes multidimensionais. Visão computacional. Classificação de imagens. Áudio e vídeo. Pode usar GPUs. |
Theano | Python | Usado para avaliar expressões matemáticas | Integrado com NumPy. Suporta matrizes multidimensionais. Suporta GPUs. |