code: def test_dtnn_step():
      """Test invoking the Torch Equivalent of DTNNEmbedding."""
      # Weights and Embeddings from Tensorflow implementation
      emb = [
          [-0.57997036, -0.54435134],
          [0.38634658, -0.7800591],
          [0.48274183, 0.09290886],
          [0.72841835, -0.21489048],
      ]
      W_cf = [
          [
              -0.6980064,
              -0.40244102,
              0.12015277,
              -0.11236137,
              0.44983745,
              -0.7261406,
              0.03590739,
              0.18886101,
          ],
          [
              0.38193417,
              0.08161169,
              -0.19805211,
              0.01473492,
              -0.21253234,
              0.07730722,
              -0.25919884,
              -0.4723375,
          ],
      ]
      W_fc = [
          [0.27500582, 0.19958842],
          [-0.07512283, -0.4402059],
          [-0.6734804, -0.13714153],
          [-0.7683939, 0.04202372],
          [0.61084986, 0.4715314],
          [0.3767004, -0.59029776],
          [-0.1084643, 0.34647202],
          [-0.656258, -0.3710086],
      ]
      W_df = [
          [
              -0.53450876,
              -0.49899083,
              0.27615517,
              -0.15492862,
              0.61964273,
              0.18540198,
              0.17524064,
              -0.3806646,
          ],
          [
              0.24792421,
              -0.38151026,
              -0.50989795,
              -0.16949275,
              -0.1911948,
              0.24427831,
              0.3103531,
              -0.548931,
          ],
          [
              0.5648807,
              -0.26876533,
              -0.4311456,
              0.03692579,
              -0.04565948,
              0.6494999,
              -0.489844,
              -0.6053973,
          ],
          [
              -0.5715633,
              0.5406003,
              -0.4798649,
              -0.6116994,
              0.1802761,
              -0.02659523,
              -0.14560652,
              -0.59008956,
          ],
          [
              -0.64630675,
              -0.2756685,
              -0.43883026,
              0.14410889,
              -0.13292378,
              -0.17106324,
              -0.60326487,
              -0.25875738,
          ],
          [
              -0.28023764,
              0.54396844,
              -0.05222553,
              -0.6502703,
              -0.5865139,
              -0.03999609,
              -0.16664535,
              0.5127555,
          ],
      ]
      output_tf = [
          [
              [-0.5800, -0.5444],
              [0.3863, -0.7801],
              [0.4827, 0.0929],
              [0.7284, -0.2149],
          ],
          [
              [0.2256, -0.1123],
              [1.1920, -0.3480],
              [1.2884, 0.5249],
              [1.5340, 0.2171],
          ],
      ]
      step_layer = torch_layers.DTNNStep(4, 6, 8)
      step_layer.W_fc = torch.nn.Parameter(torch.Tensor(W_fc))
      step_layer.W_cf = torch.nn.Parameter(torch.Tensor(W_cf))
      step_layer.W_df = torch.nn.Parameter(torch.Tensor(W_df))
      output_torch = step_layer(
          [
              torch.Tensor(emb),
              torch.Tensor([0, 1, 2, 3, 4, 5]).to(torch.float32),
              torch.Tensor([1]).to(torch.int64),
              torch.Tensor([[1]]).to(torch.int64),
          ]
      )
      assert torch.allclose(
          torch.tensor(output_tf), output_torch, atol=1e-4
      )
      assert output_torch.shape == (2, 4, 2)
  
imports: import deepchem
  import numpy
  import pytest
  import os
label_desc: Use image node_id 50 for calling a global function with example usage: test_dtnn_step() without return types