code: def make_non_pad_mask_3d(
      lengths_x: torch.Tensor,
      lengths_y: torch.Tensor,
      max_length_x: int,
      max_length_y: int,
  ) -> torch.Tensor:
      """Converts two orthogonal input_lengths to a non-padding mask. The mask is 3D."""
      assert lengths_x.size() == lengths_y.size()
      return make_non_pad_mask(lengths_x, max_length_x).unsqueeze(
          2
      ) & make_non_pad_mask(lengths_y, max_length_y).unsqueeze(1)
  
imports: import os
  import struct
  from pickle import UnpicklingError
  from typing import List, Optional, Tuple, Union
  import torch
  from nemo.core.utils.k2_guard import k2
  from nemo.utils import logging
label_desc: Use image node_id 4 for calling a global function with example usage: make_non_pad_mask_3d(lengths_x, lengths_y, max_length_x, max_length_y) and returns: unknown