10 ferramentas / Frameworks de código aberto para IA

Procurando por uma ferramenta/framework de código aberto para IA? Neste artigo vamos listar 10 ferramentas de código aberto para IA.

Tensorflow

tensorflow

O TensorFlow é uma biblioteca de software de código aberto, que foi originalmente desenvolvida por pesquisadores e engenheiros que trabalham no Google Brain Team. O TensorFlow é para computação numérica usando gráficos de fluxo de dados. Os nós do gráfico representam operações matemáticas. A arquitetura flexível permite implantar computação em uma ou mais CPUs ou GPUs em um desktop, servidor ou dispositivo móvel com uma única API.

O TensorFlow fornece várias APIs. A API de nível mais baixo – TensorFlow Core – fornece o controle de programação completo. As APIs de nível superior são construídas sobre o TensorFlow Core. Essas APIs de nível superior geralmente são mais fáceis de aprender e usar do que o TensorFlow Core. Além disso, as APIs de nível mais alto tornam as tarefas repetitivas mais fáceis e mais consistentes entre os diferentes usuários. Uma API de alto nível, como o tf.estimator, ajuda você a gerenciar conjuntos de dados, estimadores, treinamento e inferência.

A unidade central de dados no TensorFlow é o tensor. Um tensor consiste em um conjunto de valores primitivos moldados em uma matriz de qualquer número de dimensões. A classificação de um tensor é seu número de dimensões.

Alguns aplicativos do Google que usam fluxo de tensor são:

RankBrain: Implantação em grande escala de redes neurais profundas para classificação de pesquisa em www.google.com

Modelo de Classificação de Imagem de Incepção: Modelo de linha de base e pesquisa de acompanhamento em modelos de visão computacional de alta precisão, começando com o modelo que ganhou o desafio de classificação de imagem 2014 Imagenet.

SmartpReply: Modelo Deep LSTM para gerar automaticamente respostas de e-mail.

Massively Multitask Networks for Drug Discovery: um modelo de rede neural profunda para identificar candidatos promissores a medicamentos pelo Google em associação com a Universidade de Stanford.

Visão de computador no dispositivo para OCR: modelo de visão computacional no dispositivo para reconhecimento de caracteres ópticos para permitir a tradução em tempo real.

Links úteis:
Tensorflow Home
GitHub
Começando

Apache SystemML

Um local de trabalho ideal para aprendizado de máquina usando big data.

apache

A SystemML, tecnologia de machine learning na IBM, alcançou um dos status de projeto de alto nível na Apache Software Fundation e é um sistema de machine learning flexível e dimensionável.

Características importantes são:

Personalização do algoritmo por meio de linguagens semelhantes a R e semelhantes a Python. Múltiplos modelos de execução, incluindo o Spark MLContext, o Spark Batch, o Hadoop Batch, o Standalone e o JMLC (Java Machine Learning Connector).

Otimização automática baseada em dados e características de cluster para garantir eficiência e escalabilidade.

SystemML considerado como SQL para machine learning. A versão mais recente (1.0.0) do SystemML suporta: Java 8+, Scala 2.11 +, Python s.7 / 2.5 +, Hadoop 2.6 e Spark 2.1+.

Conector Java Machine Learning (JMLC) para SystemML.

A API do Java Machine Learning Connector (JMLC) é uma interface programática para interagir com o SystemML de máquina integrada.

Links Úteis:
Casa do SystemML
GitHub

Caffe

Uma estrutura de aprendizagem profunda feita com expressão, velocidade e modularidade em mente.

caffee1-1

O projeto Caffe foi iniciado por Yanging Jia durante seu Ph.D. na UC Berkeley e depois desenvolvido pela Berkeley AI Research (BAIR) e por colaboradores da comunidade. Concentra-se principalmente em redes para aplicações de visão computacional. O Caffe é uma escolha sólida e popular para tarefas relacionadas à visão por computador e você pode fazer o download de muitos cases de sucesso feitos por usuários Caffe do Caffe Model Zoo para uso imediato.

Vantagens Caffe
A arquitetura expressiva incentiva a aplicação e a inovação. Modelos e otimização são definidos por configuração sem codificação. Alterne entre GPU e GPU definindo um único sinalizador para testar em uma máquina de GPU e, em seguida, implante em clusters ou dispositivos móveis.

Código extensível: promove desenvolvimento ativo. No primeiro ano do Caffe, ele foi criado por mais de 1.000 desenvolvedores e teve muitas mudanças significativas trazidas de volta.

A velocidade torna o Caffe perfeito para experimentos de pesquisa e implantação. O Caffe pode processar mais de 60 milhões de imagens por dia com uma única GPU NVIDIA K40

Comunidade: O Caffe já dá suporte a projetos de pesquisa acadêmica protótipos de startups e até aplicações industriais em larga escala em visão, fala e multimídia.

Links Úteis
Caffe em casa
GitHub
Grupo de usuários do Caffe
Apresentação tutorial framework e um curso intensivo de um dia inteiro
Caffe Model Zoo

Apache Mahout

O Mahout foi projetado para permitir que matemáticos, estatísticos e cientistas de dados implementem rapidamente seus próprios algoritmos. O Apache Spark é o back-end distribuído pronto para uso ou pode ser estendido para outros back-ends distribuídos.

Suporte para vários back-ends distribuídos (incluindo o
Apache Spark) Solvers nativos modulares para aceleração da CPU / GPU / CUDA.

O Apache Mahout atualmente implementa áreas, incluindo filtragem colaborativa (CF), clustering e categorização.

Links Úteus

Mahout em casa
GitHub
Introdução ao Mahout por Grant Ingersoll

OpenNN

Uma biblioteca de classes de código aberto escrita em C++, que implementa redes neurais.

OpenNN (Open Neural Networks Library) era conhecido anteriormente como Flood é baseado no Ph.D. de R. Lopez, “Redes Neurais para Problemas Variacionais em Engenharia”, na Universidade Técnica de Catalunha, 2008.

openNN

O OpenNN implementa métodos de mineração de dados como um conjunto de funções. Eles podem ser incorporados em outras ferramentas de software usando uma interface de programação de aplicativos (API) para a interação entre a ferramenta de software e as tarefas de análise preditiva.

A principal vantagem do OpenNN é seu alto desempenho. Ele é desenvolvido em C++ para melhor gerenciamento de memória e maior velocidade de processamento e implementa a paralelização da CPU por meio de aceleração OpenMP e GPU com CUDA.

O pacote vem com testes de unidade, muitos exemplares e extensa documentação. Ele fornece uma estrutura eficaz para a pesquisa e desenvolvimento de algoritmos e aplicativos de redes neurais. O Neural Designer é uma ferramenta profissional de análise preditiva que usa o OpenNN, o que significa que o mecanismo neural do Neural Designer foi construído usando o OpenNN.

O OpenNN foi projetado para aprender a partir de conjuntos de dados e modelos matemáticos.

Conjuntos e dados:

  • Function regression
  • Patter recognition
  • Time series prediction

Modelos matemáticos:

  • Optimal controle
  • Optimal shape design

Conjuntos de dados e modelos matemáticos:

  • Inverse problems

Links Úteis:
OpenNN home
OpenNN Artelnics GitHub
Neural Designer

Torch

É uma biblioteca de machine learning de código aberto, uma estrutura de computação cientifica e uma linguagem de script baseada na linguagem de programação Lua.

torch

  • um poderoso array N-dimensional
  • muitas rotinas para indexação, corte, transposição ...
  • interface incrível para C, via LUAJIT
  • rotinas de álgebra linear
  • rede neural e modelos baseados em energia
  • rotinas de otimização numérica
  • suporte rápido e eficiente à GPU
  • implantável, com portas para back-ends iOS e Android

Torch é usado pelo Facebook AI Research Group, pela IBM, pelo Yandex e pelo Idiap Research Institute. Ele foi estendido para uso em Android e iOS e foi usado para construir implementações de hardware para fluxos de dados como aqueles encontrados em redes neurais.
O Facebook lançou um conjunto de módulos de extensão como software de código aberto.

O PyTorch é uma biblioteca de machine learning de código aberto para Python, usada pra aplicativos de processamento de linguagem natural. Ele é desenvolvido principalmente pelo grupo de pesquisa de inteligência artificial do Facebook, e o software “Pyro” da Uber para programação probabilística é construído sobre ele.

Links Úteis
Torch Home
GitHub

Neuroph

Uma estrutura de rede neural orientada a objeto escrita em Java.

neuroph

O Neuroph pode ser usado para criar e treinar redes neurais em programas Java. A Neuroph fornece biblioteca de classes Java, assim como a ferramenta GUI easyNeurons para criar e treinar redes neurais. A Neuroph é uma estrutura de rede neural Java para desenvolver arquiteturas de redes neurais comuns. Ele contém uma biblioteca Java de código aberto bem projetada com um pequeno número de classes básicas que correspondem aos conceitos básicos do NN. Ele também tem um bom editor de rede neural GUI para criar rapidamente componentes de rede neural Java. Foi lançado como código aberto sob a licença Apache 2.0.

Links Úteis
Neuroph Home
GitHub

Deeplearning4j

O Deeeplearning4j tem como objetivo ser plug and play de ponta e mais convenções do que a configuração, o que permite uma rápida prototipagem para não pesquisadores.
O DL4J é personalizável em escala.

O DL4J pode importar modelos de redes neurais na maioria das principais estruturas via Keras, incluindo TensorFlow, Caffe, e Theano, fazendo a ponte entre o ecossistema Python e a JVM como um kit de ferramentas de equipe cruzada para cientistas de dados, engenheiros de dados e DevOps. Keras é empregado como API Python do Deeplearning4j.

Modelos de machine learning são servidos em produção com o servidor de modelo do Skymind.

Características:
• Distributed CPUs and GPUs
• Java, Scala and Python APIs
• Adapted for micro-service architecture
• Parallel training via iterative reduce
• Scalable on Hadoop
• GPU support for scaling on AWS

Bibliotecas:
• Deeplearning4J: Neural Net Platform
• ND4J: Numpy for the JVM
• DataVec: Tool for Machine Learning ETL Operations
• JavaCPP: The Bridge Between Java and Native C++
• Arbiter: Evaluation Tool for Machine Learning Algorithms
• RL4J: Deep Reinforcement Learning for the JVM

Mycroft

Reivindicado como o primeiro assistente de código aberto do mundo pode ser usado em um projeto de ciências ou até mesmo em um software corporativo.

mycroft

OpenCog

OpenCog é um projeto que visa construir uma estrutura de inteligência artificial de código aberto.

opencog

OpenCog é um conjunto diversificado de algoritmos cognitivos, cada um incorporando suas próprias inovações – mas o que torna a arquitetura poderosa é a adesão ao princípio da sinergia cognitiva.

Gostou do conteúdo? Compartilhe com seus amigos que se interessam pelo assunto e inscreva-se aqui para receber os nossos conteúdos no seu e-mail.

Fonte: Dzone