Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

CIDDS-001 Graph Creation

Aperta
#22 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
jupyter-notebook, numpy, python, pytorch

Direzione di ricerca

Open the Chapter 16 notebook and trace get_connections, ip_map construction, and the assignment to batch['host'].x. Compare host node IDs with the feature-row source and destination IPs; done means the host features and edge indices refer to the same unique hosts, with the notebook still running consistently.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I noticed a possible issue in Chapter 16’s host–flow bipartite graph construction.

The code creates host node indices from unique source and destination IPs:

ip_map = {ip: index for index, ip in enumerate(np.unique(np.append(src_ip, dst_ip)))}
host_to_flow, flow_to_host = get_connections(ip_map, src_ip, dst_ip)

So the host node IDs in edge_index correspond to unique IP addresses.

However, the host feature matrix is assigned directly from the subgraph dataframe rows:

batch['host'].x = torch.Tensor(subgraph[features_host].to_numpy()).float()

where:

features_host = [f'ipsrc_{i}' for i in range(1, 17)] + [f'ipdst_{i}' for i in range(1, 17)]

This means batch['host'].x has one row per flow record, and each row contains:

source_ip_features || destination_ip_features

But the edge indices treat host rows as unique-IP nodes.

As a result, the graph can be valid tensor-wise, because the number of unique IPs is usually less than or equal to the number of flow rows, but the feature semantics may be misaligned:

edge_index host IDs:  unique IP indices
batch['host'].x rows: flow-row endpoint-pair features

For example, host.x[3] may not actually contain the features for the unique IP mapped to host node 3; it may instead contain the source/destination IP features from dataframe row 3.

Would it be more consistent to build batch['host'].x with one row per unique IP in ip_map, e.g., by extracting features for each unique host individually, rather than assigning subgraph[features_host] directly?

Thanks again for the helpful notebook.

Lingua principale
Jupyter Notebook
Stelle
1.1k
Fork
300
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PacktPublishing/Hands-On-Graph-Neural-Networks-Using-Python

Tutte le issue di PacktPublishing/Hands-On-Graph-Neural-Networks-Using-Python

Issue simili

Altre issue su Data Engineering

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.