code: def test_global_avg_pooling_block():
      """perception test"""
      in_dict = build_input_dict(dims=[100, 3, 64, 64])
      net: GlobalAveragePoolingBlock = GlobalAveragePoolingBlock(
          in_keys="in_key", out_keys="out_key", in_shapes=[(3, 64, 64)]
      )
      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, 3)
  
file_path: maze/maze/test/perception/blocks/test_general.py
imports: from typing import Dict
  import numpy
  import torch
  from torch import nn
  from maze.perception.blocks.feed_forward.dense import DenseBlock
  from maze.perception.blocks.general.action_masking import ActionMaskingBlock
  from maze.perception.blocks.general.concat import ConcatenationBlock
  from maze.perception.blocks.general.correlation import CorrelationBlock
  from maze.perception.blocks.general.flatten import FlattenBlock
  from maze.perception.blocks.general.gap import GlobalAveragePoolingBlock
  from maze.perception.blocks.general.slice import SliceBlock
  from maze.test.perception.perception_test_utils import build_multi_input_dict, build_input_dict
label_desc: Use image node_id 3 for calling a global function with example usage: test_global_avg_pooling_block() without return types