Buscar

Ferramentas

PyTorch

Biblioteca Python de deep learning com tensores acelerados por GPU e diferenciação automática, para quem treina ou ajusta redes neurais em pesquisa ou produção.

  • Inteligência Artificial
  • Desenvolvimento
  • Open Source
PyTorch

Treinar uma rede neural exige calcular derivadas de muitos parâmetros a cada passo, e ninguém escreve isso à mão. O PyTorch faz esse cálculo sozinho com o autograd e roda as contas em GPU, com tensores no estilo do NumPy.

Para que serve

  • Fazer contas com tensores na placa de vídeo, no lugar de arrays do NumPy.
  • Definir e treinar redes neurais com os módulos de torch.nn.
  • Carregar dados em lotes durante o treino com o DataLoader.
  • Distribuir o treino por várias GPUs e máquinas com torch.distributed.
  • Trabalhar com imagem e áudio somando os pacotes torchvision e torchaudio.

Como começar

No site oficial, um seletor pede sistema, gerenciador de pacotes, linguagem e plataforma de cálculo (CUDA, ROCm ou só CPU) e devolve o comando pip certo. A versão estável pede Python 3.10 ou mais novo. Para contêiner, há a imagem pytorch/pytorch:latest no Docker Hub. Compilar do código-fonte também é possível, mas o README pede compilador com C++20, pelo menos 10 GB livres e de 30 a 60 minutos na primeira compilação. GPU da AMD funciona via ROCm só no Linux; GPU Intel, em Linux e Windows.

Licença e custo

A licença é a BSD de 3 cláusulas, com copyright do Facebook e de vários contribuidores listados no LICENSE. Cada cláusula é uma condição. Na redistribuição em código-fonte, ficam o aviso de copyright, a lista de condições e a isenção de garantia. Em binário, esses textos vão na documentação ou em outro material da distribuição. Por fim, nem os nomes das instituições citadas nem os dos contribuidores podem promover produtos derivados sem permissão prévia por escrito. A biblioteca é gratuita e o site é da PyTorch Foundation, abrigada na Linux Foundation; o gasto real é a GPU, própria ou alugada.

Quando vale a pena

O PyTorch é para quem treina ou ajusta modelos próprios, de visão ou de linguagem. Antes, convém dominar o básico de Python. Quem só consome um modelo pronto por API não precisa dele. O TensorFlow e o JAX são as alternativas diretas.