code: def wandb_process(x: TensorImage, y, samples, outs, preds):
      "Process `sample` and `out` depending on the type of `x/y`"
      res_input, res_pred, res_label = [], [], []
      for s, o in zip(samples, outs):
          img = s[0].permute(1, 2, 0)
          res_input.append(wandb.Image(img, caption="Input_data"))
          for t, capt, res in (
              (o[0], "Prediction", res_pred),
              (s[1], "Ground_Truth", res_label),
          ):
              fig, ax = _make_plt(img)
              # Superimpose label or prediction to input image
              ax = img.show(ctx=ax)
              ax = t.show(ctx=ax)
              res.append(wandb.Image(fig, caption=capt))
              plt.close(fig)
      return {
          "Inputs": res_input,
          "Predictions": res_pred,
          "Ground_Truth": res_label,
      }
  
imports: from __future__ import annotations
  from ..basics import *
  from .progress import *
  from ..text.data import TensorText
  from ..tabular.all import TabularDataLoaders, Tabular
  from .hook import total_params
  from .tracker import SaveModelCallback
  import wandb
label_desc: Use image node_id 8 for calling a global function with example usage: wandb_process(x, y, samples, outs, preds) and returns: dict