code: def testScaledDotProductAttention():
      from deepchem.models import ScaledDotProductAttention as SDPA
  
      attn = SDPA()
      x = torch.ones(2, 5)
      # Linear layers for making query, key, value
      Q, K, V = (
          nn.Parameter(torch.ones(5)),
          nn.Parameter(torch.ones(5)),
          nn.Parameter(torch.ones(5)),
      )
      query, key, value = Q * x, K * x, V * x
      mask = torch.Tensor([1, 0])
      x_out, attn_score = attn(query, key, value, mask=mask)
      torch.testing.assert_close(x_out, torch.ones(2, 5))
      torch.testing.assert_close(
          attn_score, torch.Tensor([[1, 0], [1, 0]])
      )
  
label_desc: Use image node_id 1 for calling a global function with example usage: testScaledDotProductAttention() without return types