Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature exists in dataset, but still it says not found. #130

Open
itsUtkarsh2306 opened this issue Sep 6, 2024 · 2 comments
Open

Feature exists in dataset, but still it says not found. #130

itsUtkarsh2306 opened this issue Sep 6, 2024 · 2 comments

Comments

@itsUtkarsh2306
Copy link

I was trying to build a model where I was taking below model_descriptions.yaml
`# Definition of the entities
entities:

  • name: node
    state_dimension: 16
    initial_state:

    • type: build_state
      input:
      • $id
  • name: path
    state_dimension: 32
    initial_state:

    • type: build_state
      input:
      • $traffic
      • $bandwidth
      • $latency
        As my data looks like:[{"directed": true, "multigraph": false, "graph": {}, "nodes": [{"entity": "node", "id": 0}, {"entity": "node", "id": 1}, {"entity": "node", "id": 2}, {"entity": "node", "id": 3}, {"entity": "node", "id": 4}, {"entity": "node", "id": 5}, {"entity": "node", "id": 6}, {"entity": "node", "id": 7}], "links": [{"bandwidth": 20000, "traffic": 7.833, "latency": 758.705, "delay": 758.705, "entity": "path", "source": 4, "target": 7}, {"bandwidth": 30000, "traffic": 7.822, "latency": 698.062, "delay": 698.062, "entity": "path", "source": 5, "target": 3}, {"bandwidth": 30000, "traffic": 4.592, "latency": 698.102, "delay": 698.102, "entity": "path", "source": 5, "target": 6}, {"bandwidth": 45000, "traffic": 1.306, "latency": 895.771, "delay": 895.771, "entity": "path", "source": 6, "target": 0}, {"bandwidth": 50000, "traffic": 5.937, "latency": 309.396, "delay": 309.396, "entity": "path", "source": 7, "target": 4}]}]`
        Can someone please tell any mistake which I might be doing.
@MiquelFerriol
Copy link
Collaborator

Dear @itsUtkarsh2306,

The main issue seems to stem from how you're trying to initialize the state for the "path" entity. In your model_descriptions.yaml, you're assigning the state of the "path" entity using features like traffic, bandwidth, and latency. However, these features are properties of the edges (or links) between nodes, not the nodes themselves.

In IGNNITION (and most GNNs), the concept of an initial state is typically assigned to nodes rather than edges. This is because nodes are the entities that hold a hidden state, which gets updated during the message-passing process, while edges act as the relationships between nodes and usually don't maintain a hidden state on their own.

Possible Solutions:

  1. Transform Edges into Nodes: If you need the "path" to hold its own hidden state and evolve through the network, you could model the links (paths) as separate nodes in the graph, creating a bipartite or tripartite graph structure. This way, both your original nodes and the "path" nodes can store and update their own states.
  2. Use Edge Features: If you don't need to transform the edges into nodes but still want to use edge features, you can incorporate those edge features during the message-passing process in the GNN. You can include edge features like bandwidth, traffic, and latency as part of the computation when messages are passed between nodes.

@itsUtkarsh2306
Copy link
Author

Thanks for your response. I now understand that traffic, bandwidth, and latency are edge features. Could you please provide a sample that demonstrates how to incorporate these edge features into the message-passing process in a GNN? I'm still a bit unclear on that part. Additionally, it would be really helpful if you could provide a model_description.yaml file as an example for building a model focused on edge delay prediction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants