Implementacion completa de un sistema de recomendacion de automatizaciones basado en GNN heterogeneo — desde estructura de datos hasta modelo productivo.
Estructura del Grafo Heterogeneo
Pipeline del Modelo
Implementacion Completa
Capas GNN Disponibles
| Capa | Mejor para | Hetero |
|---|---|---|
HGTConv |
Grafos heterogeneos complejos | ✓ |
GCNConv |
Clasificacion semi-supervisada | — |
GATv2Conv |
Importancia variable de vecinos | ✓ |
SAGEConv |
Grafos grandes, inductive | ✓ |
GINConv |
Clasificacion de grafos | — |
TransformerConv |
Edge features ricas | — |
HeteroConv |
Conv diferente por tipo arista | ✓ |
Pitfalls Comunes
[2, num_edges], no [num_edges, 2]. Transponer con .t().contiguous()
add_self_loops=True cuando src/dst son tipos distintos. Usar skip connections.
batch.batch_size nodos son seed nodes. Slicear predicciones.
-1 necesitan un forward pass con torch.no_grad() antes de entrenar.
Resultados del Modelo (100 epochs)
Setup en 3 Pasos
Instalar primero PyTorch (con soporte CUDA si hay GPU), luego torch_geometric. No se necesitan wheels opcionales para uso basico desde PyG 2.3.
Comprobar versiones compatibles (PyG 2.7 requiere PyTorch >= 2.6 y Python >= 3.10).
Correr cultiva_recommender.py con datos propios. El NeighborLoader escala a grafos de millones de nodos sin cambiar el codigo del modelo.
Explicabilidad: Por que se recomienda X servicio