harvard-cns / teal

Codebase for Teal (SIGCOMM 2023)
MIT License
45 stars 12 forks source link

Question about retraining #3

Open Kangerlussuaq opened 7 months ago

Kangerlussuaq commented 7 months ago

Does this repository contain codes that handle network topology changes? It is mentioned in section 4 of your paper that the model could be retrained when a node or link is added and it is faster than training from scratch. Should I keep the parameters unchanged in nodes which are not affected by the add action, and initialize new parameters randomly?

luopeng69131 commented 7 months ago

The repository does not seems to include the code dealing the topology changes about adding new link. https://github.com/harvard-cns/teal/blob/main/lib/graph_utils.py#L9 In the link, you can see the function to add edge. But it is from the other repository. In this, it is not used.

In paper, the author also does not discuss more content that you're interested in.

About the retraining, due to only using linear parameters in FlowGNN, so I think you can use the old parameters to initialize the new FlowGNN and not need to adjust any architecture of the model.

Removing the edges or nodes, the model needs to be processed differently.
If the edge is removed, the paths and graph data of FlowGNN (variable: self.edge_index, self.edge_index_values, self.p2e in teal_env) must be recalculated. But the model and its action space doesn't need to change, because the number of node pairs doesn't change. If the node is removed, the paths, graph data of FlowGNN and linear of output (in teal_actor init) need to be changed. The output action length is node_pairs * 4 (th number of path in every node pair).