code: def test_functional_block_multi_arg_multi_out():
      """perception test"""
      in_dict = build_multi_input_dict(
          dims=[[100, 64, 32, 1], [100, 64, 1]]
      )
  
      def my_func(in_key_1, in_key_0):
          return torch.squeeze(in_key_0), torch.squeeze(in_key_1)
  
      net: FunctionalBlock = FunctionalBlock(
          in_keys=["in_key_0", "in_key_1"],
          out_keys=["out_key_0", "out_key_1"],
          in_shapes=[(100, 64, 32, 1), (100, 64, 1)],
          func=my_func,
      )
      str(net)
      out_dict = net(in_dict)
  
      assert isinstance(out_dict, Dict)
      assert set(net.out_keys).issubset(set(out_dict.keys()))
      assert out_dict[net.out_keys[0]].shape == (100, 64, 32)
      assert out_dict[net.out_keys[1]].shape == (100, 64)
  
file_path: maze/maze/test/perception/blocks/test_functional.py
imports: from typing import Dict
  import torch
  from maze.perception.blocks.general.functional import FunctionalBlock
  from maze.test.perception.perception_test_utils import build_input_dict, build_multi_input_dict
label_desc: Use image node_id 7 for calling a global function with example usage: test_functional_block_multi_arg_multi_out() and returns: torch,  torch