Gerenciador de pacotes e bibliotecas de Python

Um gerenciador de pacotes (ou package manager) é um programa para ajudar a organizar bibliotecas e ferramentas de um software em instâncias, namespace, silos ou ambientes que facilitam o trabalho com várias bibliotecas e versões.

No aprendizado de máquina ou Machine Learning (ML), quando um usuário trabalha com várias bibliotecas e programas, acompanhar as versões que funcionam bem juntas é uma obrigação. O Python tem algumas dezenas de versões disponíveis; o PyTorch como”Stable 1.3 e Nightly”; o TensorFlow tem uma dúzia de versões 1. x e 2.0, e assim por diante. Organizar bibliotecas em silos é melhor feito com um gerenciador de pacotes Python. Existem vários disponíveis para programadores, e selecionar um sobre o outro é apenas uma questão de gostos. 

Yufeng Guo, Google Developer Advocate, apresentou uma visão geral de alto nível do trabalho com pacotes de Python. Aqui está um resumo de seus pontos:

  • Pip: é o gerenciador de pacotes integrado do Python que está disponível há algum tempo. A ferramenta pode ser usada para instalar facilmente programas como TensorFlow, NumPy, Pandas, Jupyter e muitos mais, incluindo suas dependências.
  • “Existem dois pacotes para gerenciar ambientes PiP”:
    • Anaconda: distribuição de Python que funciona bem para projetos de ciência de dados. “Reúne muitas das ferramentas em ciência de dados e ML em apenas uma instalação”. Usado para criar ambientes diferentes para diferentes projetos. Seu gerenciador de pacotes é chamado Conda.   
    • Virtualenv: “um pacote que permite a criação de ambientes virtuais nomeados onde os pacotes Pip podem ser armazenados em um ambiente isolado”.
  • Pyenv: um programa (biblioteca) que fica em cima de Virtualenv e Anaconda. Ele pode ser usado para controlar programas e diferentes versões do Python.

Bibliotecas de Python

Existem várias bibliotecas de Python disponíveis como projetos de código aberto. Alguns dos mais populares são NumPy, SciPy, Pandas e Matplotlib.

A ilustração abaixo mostra a pilha PyTorch

Fonte: PyTorch

Segue um resumo de alto nível de quatro bibliotecas populares. 

Numpy

NumPy é um padrão na comunidade científica. Ele contém um grande conjunto de funções e recursos matemáticos e é rápido. Existe um exemplo de um blogueiro que criou um teste que “inicializou 14 matrizes do tamanho 40000 X 40000, um milhão de vezes” e o NumPy superou o PyTorch, mas não por muito. Na comunidade científica, NumPy é conhecido como a ferramenta ideal para trabalhar com matrizes multidimensionais (coluna/linha tipo matriz). 

Scipy

SciPy (Scientific Python) é uma coleção de bibliotecas Python usadas para computação científica e engenharia técnica. O ecossistema SciPy foi projetado para trabalhar com NumPy, Matplotlib, Sympy, Pandas e IPython. Um dos pacotes da coleção é a Biblioteca SciPy que vem com os seguintes módulos

  • Integração Numérica
  • Fourier transforms
  • Processamento de sinal e processamento de imagem
  • Solucionadores ODE
  • Interimplantação
  • Otimização
  • Álgebra linear
  • Estatísticas

Pandas

Pandas é uma biblioteca Python construída sobre o NumPy usada para análise e manipulação de dados. Previamente, descrevemos como o Pandas foi usado para a preparação dos dados. Ele tem a capacidade de ingerir dados brutos, limpá-los, especialmente se houver valores ausentes, e depois transformá-los. Algumas característocas do Pandas:

  • Trata com dados faltantes.
  • Converte dados irregulares e indexados de forma diferente em outras estruturas Python e NumPy.
  • Suporta slicing, subconfiguração, mesclagem, merging e indexação extravagante.
  • Suporta pivôs e remodela conjuntos de dados.
  • “Executa operações de combinação de aplicação dividida em conjuntos de dados”.

Matplotlib

Matplotlibe é uma biblioteca Python usada para plotagem 2D. Pode ser usada para “gerar gráficos, histogramas, espectros de potência, gráficos de barras, gráficos de erros, gráficos de dispersão”, e muito mais. Pacotes de terceiros podem estender suas capacidades e vem com um grande número de módulos, incluindo Pyplot que lhe dá uma interface semelhante ao MATLAB.

This image has an empty alt attribute; its file name is MPL_1.png
Fonte.
Scroll to Top