code: def test_highway():
      """Test invoking Highway."""
      width = 5
      batch_size = 10
      input = np.random.rand(batch_size, width).astype(np.float32)
      layer = layers.Highway()
      result = layer(input)
      assert result.shape == (batch_size, width)
      assert len(layer.trainable_variables) == 4
  
      # Creating a second layer should produce different results, since it has
      # different random weights.
  
      layer2 = layers.Highway()
      result2 = layer2(input)
      assert not np.allclose(result, result2)
  
      # But evaluating the first layer again should produce the same result as before.
  
      result3 = layer(input)
      assert np.allclose(result, result3)
  
imports: import deepchem
  import numpy
  import pytest
  import os
label_desc: Use image node_id 2 for calling a global function with example usage: test_highway() without return types