code: def create_intrinsics(fxs, fys, cxs, cys, device, dtype):
      intrinsics_batch = []
      for fx, fy, cx, cy in zip(fxs, fys, cxs, cys):
          intrinsics = torch.eye(4, device=device, dtype=dtype)
          intrinsics[0, 0] = fx
          intrinsics[1, 1] = fy
          intrinsics[0, 2] = cx
          intrinsics[1, 2] = cy
          intrinsics_batch.append(intrinsics)
      return torch.stack(intrinsics_batch)
  
imports: import math
  import torch
  from kornia.core import Device
  from kornia.geometry.camera import PinholeCamera
  from kornia.nerf.samplers import RandomGridRaySampler, RandomRaySampler, UniformRaySampler, calc_ray_t_vals, cameras_for_ids, sample_lengths, sample_ray_points
  from kornia.testing import assert_close
label_desc: Use image node_id 2 for calling a global function with example usage: create_intrinsics(fxs, fys, cxs, cys, device, dtype) and returns: torch