Pular para o conteúdo
Skillpedia
Machine learning51 mil · #1992

torch-geometric

Permite ao agente trabalhar com redes neurais em grafos. É útil para analisar dados conectados, como redes sociais ou moléculas.

O que ela faz

Esta ferramenta ajuda a criar modelos de redes neurais para grafos, que são como diagramas de conexões. Ela é usada para analisar dados onde as relações entre os itens são importantes, como em redes sociais ou sistemas de recomendação.

Quando usar

  • ✓Ao trabalhar com redes neurais de grafos em PyTorch.
  • ✓Para classificar nós, links ou grafos inteiros.
  • ✓Ao usar modelos como GCN, GAT ou GraphSAGE.

Exemplo do que pedir para a IA

“Como posso usar o PyTorch Geometric para treinar um modelo de classificação de nós em um grafo?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/torch-geometric/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/torch-geometric/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela fornece blocos de construção (camadas) e estruturas de dados prontas para representar grafos e aplicar algoritmos de aprendizado de máquina a eles. Você define como os dados do grafo são organizados e usa as camadas para processar essas informações.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add K-Dense-AI/scientific-agent-skills --skill torch-geometric

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/torch-geometric/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

PyTorch Geometric (PyG)

PyG é a biblioteca padrão para Redes Neurais de Grafos construída sobre PyTorch. Ela fornece estruturas de dados para grafos, mais de 60 implementações de camadas GNN, treinamento escalável com mini-batches e suporte para grafos heterogêneos.

Instalação

Revisado o lançamento torch-geometric 2.8.0.post1 (01/10/2026); exemplos de CPU testados com Python 3.13 / PyTorch 2.14.1. A documentação em andamento latest identifica 2.9.0; verifique a versão instalada antes de adotar novas APIs. PyG 2.8 requer PyTorch 2.9+; sua tabela de lançamento original cobre 2.9–2.12. Nossos testes principais com 2.14.1 não estabelecem todas as combinações de extensões/backends.

# Install the PyTorch build for your platform from https://pytorch.org/get-started/locally/
uv pip install torch==2.14.1
uv pip install torch-geometric==2.8.0.post1
python -c "import torch, torch_geometric; print(torch.__version__, torch.version.cuda, torch_geometric.__version__)"

Camadas básicas baseadas em tensores não precisam de extensões. Amostragem de vizinhos requer pyg-lib ou torch-sparse; operadores espaciais k-NN requerem pyg-lib em 2.8. torch-cluster e torch-spline-conv foram descontinuados e ignorados. Inspecione o índice de wheels para sua combinação exata de Python/OS/Torch/CUDA. Nunca instale wheels para uma versão diferente do Torch apenas porque as importações principais funcionam. A extensão de CPU macOS ARM testada está abaixo; escolha um wheel correspondente diferente para outras plataformas e verifique seus operadores:

uv pip install --only-binary=:all: "pyg-lib==0.9.0+pt214" \
  -f https://data.pyg.org/whl/torch-2.14.0+cpu.html

Pacotes Conda não são mais fornecidos para Torch >2.5. Veja instalação e mudanças no lançamento 2.8. Exemplos opcionais de amostragem/GPU/distribuídos/download abaixo são ilustrativos, a menos que cobertos pelas verificações de CPU nas notas de revisão.

Conceitos Principais

Dados de Grafo: Data e HeteroData

Um grafo vive em um objeto Data. Os atributos chave:

from torch_geometric.data import Data

data = Data(
    x=node_features,          # [num_nodes, num_node_features]
    edge_index=edge_index,     # [2, num_edges] — COO format, dtype=torch.long
    edge_attr=edge_features,   # [num_edges, num_edge_features]
    y=labels,                  # node-level [num_nodes, *] or graph-level [1, *]
    pos=positions,             # [num_nodes, num_dimensions] (for point clouds/spatial)
)

O formato edge_index é crítico: é um tensor [2, num_edges] onde edge_index[0] = nós de origem, edge_index[1] = nós de destino. NÃO é uma lista de tuplas. Se você tem pares de arestas como linhas, transponha e chame .contiguous():

# If edges are [[src1, dst1], [src2, dst2], ...] — transpose first:
edge_index = edge_pairs.t().contiguous()

Para grafos não direcionados, inclua ambas as direções: a aresta (0,1) precisa de [0,1] e [1,0] em edge_index.

Se as features dos nós estiverem ausentes, defina data.num_nodes explicitamente a partir da tabela de nós. Inferi-lo de edge_index.max() + 1 perde nós isolados, o que pode corromper os offsets de batching e os resultados. Verifique data.validate(raise_on_error=True) após a construção, incluindo um caso sem arestas ou com nós isolados.

Para grafos heterogêneos, use HeteroData — veja a seção Grafos Heterogêneos abaixo.

Datasets

PyG agrupa muitos datasets padrão que fazem download e pré-processamento automáticos:

from torch_geometric.datasets import Planetoid, TUDataset

# Single-graph node classification (Cora, Citeseer, Pubmed)
dataset = Planetoid(root='./data/Cora', name='Cora', split='public')
data = dataset[0]  # single graph with train/val/test masks

# Multi-graph classification (ENZYMES, MUTAG, IMDB-BINARY, etc.)
dataset = TUDataset(root='./data/TU', name='ENZYMES')
# dataset[0], dataset[1], ... are individual graphs

Datasets comuns por tarefa:

  • Classificação de nós: Planetoid (Cora/Citeseer/Pubmed), OGB (ogbn-arxiv, ogbn-products, ogbn-mag)
  • Classificação de grafos: TUDataset (MUTAG, ENZYMES, PROTEINS, IMDB-BINARY), OGB (ogbg-molhiv)
  • Previsão de links: OGB (ogbl-collab, ogbl-citation2)
  • Molecular: QM7b, QM9, MoleculeNet
  • Nuvem de pontos/malha: ShapeNet, ModelNet(name="10" ou "40"), FAUST (download manual)

…

Perguntas frequentes

O que é um grafo em ciência de dados?

Um grafo é uma estrutura que representa conexões. Ele tem 'nós' (os itens) e 'arestas' (as conexões entre os itens).

O que são redes neurais de grafos (GNNs)?

São um tipo de inteligência artificial que aprende a partir de dados em formato de grafo, entendendo as relações entre os itens.

Qual a diferença entre `Data` e `HeteroData`?

`Data` é para grafos simples, onde todos os nós e arestas são do mesmo tipo. `HeteroData` é para grafos mais complexos, com diferentes tipos de nós e arestas.

Detalhes

Descrição original do autor

Supports PyTorch Geometric (PyG) graph neural networks — node/link/graph classification, message passing (GCN, GAT, GraphSAGE, GIN), heterogeneous graphs, neighbor sampling, and custom datasets. Use when working with torch_geometric, not for general NetworkX analytics or non-graph PyTorch models.

repo: K-Dense-AI/scientific-agent-skills

Popularidade

Estrelas no GitHub
51 mil
Posição no ranking
#1992
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas