Skip to content

XLRON v1.4.0

Choose a tag to compare

@micdoh micdoh released this 11 Jul 15:44

GNN models now work on GN-model environments and with disabled node features.

GNN + GN-model environments (#47)

--USE_GNN with rsa_gn_model/rmsa_gn_model previously crashed at trace time. Four stacked defects fixed:

  • The GNN edge embedder is sized from the same rule the env uses to build graph.edges — 2×link_resources for GN-model envs (stacked SNR + power features), link_resources otherwise.
  • Fixed the output_globals_size_actor → global_output_size_actor config-key typo (raised BoxKeyError for every GNN + GN-model run).
  • ActorGNN returns the (path_dist, power_dist) tuple only when launch_power_type="rl" (previously for any GN-model params, breaking fixed/tabular/scaled launch power), and now also covers rmsa_gn_model.
  • The warmup guard and LogWrapper.step accept the scalar path actions a GNN policy emits with non-RL launch power.

--DISABLE_NODE_FEATURES with GNN models (#48)

Previously crashed at trace time; two stacked causes:

  • The flag case-desync fixed in v1.2.0 (#37) meant the env emitted full-width node features against a width-1 embedder.
  • The disabled-features placeholder was rank-1 zeros((1,)), feeding rank-0 scalars to the vmapped node embedder. It is now zeros((num_nodes, 1)) — one zero feature per node, keeping the carried graph.nodes shape stable across the scan.
    Regression tests build the graph through the real env path (process_config → make → env.reset) and assert env/model consistency for both plain RSA and GN-model environments.

Known follow-ups

  • VONE + --USE_GNN with node features enabled has a pre-existing embedder width mismatch (num_spectral_features + 2 vs the VONE env's + 3 node features); --DISABLE_NODE_FEATURES works.
  • The rmsa_gn_model + launch_power_type=rl loss path still gates tuple handling on env_type == "rsa_gn_model" exactly (see the note on #44).

Full changelog: v1.3.0...v1.4.0