Melhores bibliotecas Python para Machine Learning e TinyML
Por: Prof. Dr. Arnaldo de Carvalho Junior
INTRODUÇÃO
A inteligência artificial (IA) (artificial intelligence– AI) é um vasto campo da ciência da computação que está revolucionando indústrias e melhorando a vida das pessoas. Como apresentado em post
anterior [1], o termo IA é amplo e aplicado ao desenvolvimento de sistemas e processos capazes de raciocinar, classificar, descobrir significado, generalizar ou aprender com experiências passadas. A IA engloba uma série de algoritmos, ferramentas matemáticas e estatísticas e pode ser subdividida em camadas, conforme a Figura 1 [2].

Fonte: Adaptado de [2].
O aprendizado de máquinas (machine learning – ML) é um subconjunto focado em sistemas capazes de aprender com os dados. Técnicas como aprendizado supervisionado, aprendizado sem supervisão e árvores de decisão são os pilares deste campo [1]. Já o aprendizado de máquinas pequeno (TinyML) é uma tecnologia que possibilita a execução de modelos de ML serem executados em dispositivos de baixo consumo, como sensores, dispositivos vestíveis (wearables) e dispositivos inteligentes para IA das coisas (artificial intelligence of things – AIoT), trazendo benefícios para empresas, como maior autonomia, privacidade e eficiência. Além disso permite um tempo de resposta menor pois a tomada de decisão pode ser realizada na borda do sistema, onde o dispositivo está instalado, em vez de ter que consultar um sistema decisório na nuvem [3].
As redes neurais artificiais (RNA) (artificial neural networks– ANNs) são técnicas computacionais que apresentam um modelo matemático inspirado em cérebros biológicos e que adquirem conhecimento através da experiência [1].
O aprendizado profundo (deep learning – DL) é um ramo especializado de RNAs que se aprofunda em dados complexos. Tecnologias como redes neurais recorrentes – (recurrent neural networks – RNN) para séries temporais de dados, redes neurais convolucionais (convolutional neural networks – CNNs) para classificação de imagens e algoritmos transformadores (transformer) para processamento de linguagem natural são exemplos de DL [1],[4].
Uma linguagem de programação que tem se destacado em projetos de ML e TinyML é o Python. Entre as principais razões destacam-se a sintaxe clara e expressiva, tornando a linguagem fácil de aprender e usar, a flexibilidade e um poderoso ecossistema de bibliotecas e frameworks. Isso permite que os projetistas de IA possam se concentrar mais no desenvolvimento da aplicação e da solução do que na elaboração maçante de códigos e algoritmos [5]. A Figura 2 apresenta as principais bibliotecas utilizadas para TinyML e ML.

Figura 2 – Principais Bibliotecas para ML e TinyML.
Fonte: O autor (2025).
PRINCIPAIS BIBLIOTECAS PARA TINYML
a) Tensorflow: Desenvolvido pelo Google, o TensorFlow é uma poderosa estrutura de código aberto para criar e implantar modelos de ML. É particularmente popular para tarefas de aprendizado profundo e suporta ambientes de produção escaláveis.
Site: https://www.tensorflow.org
Código fonte: https://github.com/tensorflow/tensorflow
b) Keras: É uma interface de programação de aplicações (application programming interface – API) de redes neurais de alto nível que funciona perfeitamente com o TensorFlow. Ele simplifica a criação de modelos complexos de aprendizado de máquina, como RNNs, CNNs e Transformers, com uma interface amigável.
Site: https://keras.io
Código fonte: https://github.com/keras-team/keras
c) Numpy: É a espinha dorsal da computação científica em Python. O Numpy fornece suporte a grandes matrizes e matrizes multidimensionais, junto com uma coleção de funções matemáticas para operar nessas matrizes.
Site: https://numpy.org
Código fonte: https://github.com/numpy/numpy
d) Pandas: Simplifica a manipulação e análise de dados, facilitando a limpeza e o preprocesso de dados para tarefas de aprendizado de máquina.
Site: https://pandas.pydata.org
Código fonte: https://github.com/pandas-dev/pandas
e) Scikit-Learn: Biblioteca para o aprendizado de máquina, oferecendo ferramentas eficientes para pré-processamento, classificação, regressão, agrupamento e redução de dimensionalidade.
Site: https://scikit-learn.org
Código fonte: https://github.com/scikit-learn/scikit-learn
OUTRAS BIBLIOTECAS MUITO UTILIZADAS EM ML
Além das bibliotecas já citadas para TinyML, outras bibliotecas muito utilizadas em projetos de ML são:
a) Orange: É uma ferramenta de programação visual para visualização e análise de dados. É ideal para iniciantes no aprendizado de máquina, oferecendo uma interface interativa para criar modelos sem codificação extensa.
Site: https://orange.biolab.si
Código fonte: https://github.com/biolab/orange3
b) Matplotlib: Biblioteca fundamental para visualização de dados, o MatPlotlib permite a criação de uma ampla gama de gráficos estáticos, animados e interativos para interpretar visualmente os conjuntos de dados.
Site: https://matplotlib.org
Código fonte: https://github.com/matplotlib/matplotlib
c) Seaborn: outra biblioteca Python de código aberto, baseado no Matplotlib, mas apresenta as estruturas de dados de Pandas. O SeaBorn é frequentemente usado em projetos de ML, pois pode gerar gráficos de dados de aprendizado. De todas as bibliotecas Python, produz os mais esteticamente agradáveis, tornando-o uma escolha eficaz se for utilizado também para marketing e análise de dados [6].
Site: https://seaborn.pydata.org/
Código fonte: https://github.com/mwaskom/seaborn
d) Pytorch: Mantida pela Meta (anteriormente Facebook), a Pytorch é conhecida por seu gráfico dinâmico de computação e facilidade de experimentação. É preferido na pesquisa e produção devido à sua flexibilidade e suporte nativo à aceleração da GPU.
Site: https://pytorch.org
Código fonte: https://github.com/pytorch/pytorch
e) Scipy: extensão do Numpy com funcionalidades adicionais para otimização, integração, interpolação e muito mais. É amplamente utilizado para tarefas científicas e de engenharia.
Site: https://scipy.org
Código fonte: https://github.com/scipy/scipy
PLATAFORMAS PARA ML E TINYML “NO-CODE”
Existem plataformas completas, que integram diferentes algoritmos e bibliotecas em uma interface
amigável para o desenvolvimento de soluções de ML que podem ser embarcadas em praticamente qualquer hardware, inclusive dispositivos TinyML. Essas plataformas são chamadas de “sem código” (“
no-code”) pois permitem que o processo de construção, implantação e escalabilidade de aplicativos ML possam ser incorporados de forma rápida e fácil, mesmo por leigos em programação de IA.
a) Edge ImpulseTM: é uma plataforma de operações de aprendizado de máquina (machine learning operations – MLOPS) baseada em nuvem para o desenvolvimento de sistemas ML incorporados e de borda (TinyML) que podem ser implantados em uma ampla gama de hardwares alvo [7]. O Edge Impulse é um exemplo de plataforma no-code que permite carregar diferentes bases de dados, selecionar o modelo de IA, treinar, avaliar e exportar para diferentes microcontroladores, como ESP32, Raspberry e Nvidia. A Figura 3 apresenta o fluxo de trabalho da plataforma.
Edge Impulse: https://edgeimpulse.com/

Fonte: O autor (2025).
b) Edge AI Labs: representa uma nova plataforma que fornece uma coleção de conjuntos de dados, plantas e modelos de IA com curadoria de nossos grupos de trabalho e contribuição da comunidade da Edge AI Foundation, anteriormente conhecida como a fundação TinyML. A Edge AI Foundation é lugar da inovação global, colaboração, advocacia e educação. O Edge AI Labs fornece diversos modelos de ML para plataforma Raspberry..
Edge AI Labs: https://edgeai.modelnova.ai/
Edge AI Foundation: https://www.edgeaifoundation.org/
REFERÊNCIAS
[1] CARVALHO JUNIOR, Arnaldo. Coletânea de Posts EAILAB 2023-2024. EAILAB, IFSP, 1º ed, 70p, 2024. Disponível em: <https://github.com/EAILAB-IFSP/PUBLICATIONS/blob/main/POSTS%20EAILAB%20Vol%201%202024.pdf>. Acessado em Jan 17, 2025.
[2] DIACONU, Claudia et al. The Role of Artificial Intelligence in Monitoring Inflammatory Bowel Disease—The Future Is Now. Diagnostics, v. 13, n. 4, p. 735, 2023.
[3] Objective. TinyML: O próximo passo da Inteligência Artificial e do Machine Learning, Objective, 2024. Disponível em: <https://www.objective.com.br/insights/tinyml/>. Acessado em Jan 17, 2025.
[4] ZAEEM, Hayder. Best Python Libraries for Machine Learning, Python Developers Community (Linkedin Group), 2025. Disponível em: <https://media.licdn.com/dms/image/v2/D4E22AQHYQ44EAZ58rQ/feedshare-shrink_800/B4EZRk97wMG0Ag-/0/1736860746065?e=1740009600&v=beta&t=h1sDbbDMrwLI9SFPzUHHS_PEDNBZuwhtphePjuoXmO0>. Acessado em Jan 17, 2025.
[5] AWARI. Machine Learning com Python: Guia Completo e Exemplos. Awari Atividades de Ensino, 2024. Disponível em: <https://awari.com.br/machine-learning-com-python-guia-completo-e-exemplos/>. Acessado em Jan 17, 2025.
[6] COURSERA STAFF, 9 Best Python Libraries for Machine Learning, Coursera, 2023. Disponível em: <https://www.coursera.org/articles/python-machine-learning-library>. Acessado em Jan 17, 2025.
[7] JANAPA REDDI, Vijay et al. Edge impulse: An mlops platform for tiny machine learning. Proceedings of Machine Learning and Systems, v. 5, 2023. Disponível em: <https://proceedings.mlsys.org/paper_files/paper/2023/file/49fe55f5e9574714dda575bfb2177662-Paper-mlsys2023.pdf>. Acessado em Jan 17, 2025.