(batch: HeteroData, mode="train")
| 21 | from metrics import RMSE |
| 22 | import traceback |
| 23 | def vm_va_matrix(batch: HeteroData, mode="train"): |
| 24 | Vm, Va, P_net, Q_net, Gs, Bs = 0, 1, 2, 3, 4, 5 |
| 25 | Ybus = create_Ybus(batch) |
| 26 | delta_p, delta_q = deltapq_loss(batch, Ybus) |
| 27 | matrix = { |
| 28 | f"{mode}/PQ_Vm_rmse": RMSE(batch['PQ'].x[:, Vm], batch['PQ'].y[:, Vm]), |
| 29 | f"{mode}/PQ_Va_rmse": RMSE(batch['PQ'].x[:, Va], batch['PQ'].y[:, Va]), |
| 30 | f"{mode}/PV_Va_rmse": RMSE(batch['PV'].x[:, Va], batch['PV'].y[:, Va]), |
| 31 | f"{mode}/delta_p": delta_p.abs().mean().item(), |
| 32 | f"{mode}/delta_q": delta_q.abs().mean().item(), |
| 33 | } |
| 34 | return matrix |
| 35 | |
| 36 | def bi_deltapq_loss(graph_data: HeteroData, need_clone=False, |
| 37 | filt_type=True, aggr='abs'): |
nothing calls this directly
no test coverage detected