code: def test_self_attention_1d():
      """test_self_attention_1d"""
      in_dict = build_input_dict(dims=(2, 10))
  
      self_attn_block = SelfAttentionSeqBlock(
          in_keys="in_key",
          out_keys=["self_attention", "attention"],
          in_shapes=(10,),
          num_heads=10,
          dropout=0.0,
          bias=False,
          add_input_to_output=True,
      )
  
      out_dict = self_attn_block(in_dict)
      assert self_attn_block.get_num_of_parameters() == 401
      assert len(out_dict.keys()) == len(self_attn_block.out_keys) == 2
      assert out_dict[self_attn_block.out_keys[0]].shape == (2, 10)
  
imports: from maze.perception.blocks.general.self_attention_conv import SelfAttentionConvBlock
  from maze.perception.blocks.general.self_attention_seq import SelfAttentionSeqBlock
  from maze.test.perception.perception_test_utils import build_input_dict, build_multi_input_dict
label_desc: Use image node_id 1 for calling a global function with example usage: test_self_attention_1d() without return types