code: def test(data):
      model.eval()
      pred = model(
          data.x_dict,
          data.edge_index_dict,
          data["user", "movie"].edge_label_index,
      )
      pred = pred.clamp(min=0, max=5)
      target = data["user", "movie"].edge_label.float()
      rmse = F.mse_loss(pred, target).sqrt()
      return float(rmse)
  
imports: import argparse
  import os.path
  import torch
  import torch.nn.functional
  from torch.nn import Linear
  import torch_geometric.transforms
  from torch_geometric.datasets import MovieLens
  from torch_geometric.nn import SAGEConv, to_hetero
label_desc: Use image node_id 3 for calling a global function with example usage: test(data) and returns: float