docstr: Pass an input through a linear filter with 3 units followed by ReLU and
  test the shape and contents of the output.
docstr_tok: ["Pass","an","input","through","a","linear","filter","with","3","units","followed","by","ReLU","and","test","the","shape","and","contents","of","the","output","."]
code: def test_on_sequential_linear_relu(self):
      """
      Pass an input through a linear filter with 3 units followed by ReLU and
      test the shape and contents of the output.
      """
  
      # Define linear filter with 1 input channel and 3 output channels
      linear_filter = objax.nn.Linear(2, 3, use_bias=False)
      weights = objax.TrainVar(
          jn.array([[1.0, 2.0, 1.0], [2.0, 1.0, 2.0]])
      )
      linear_filter.w = weights
      sequential = objax.nn.Sequential(
          [linear_filter, objax.functional.relu]
      )
  
      # Define data and compute output response of linear filter
      data = jn.array([[1.0, -1.0], [2.0, -2.0]])
      features = sequential(data)
      expected_features = jn.array([[0.0, 1.0, 0.0], [0.0, 2.0, 0.0]])
      self.assertEqual(features.shape, (2, 3))
      self.assertTrue(jn.array_equal(features, expected_features))
  
file_path: objax/tests/sequential.py
imports: import unittest
  import jax.numpy
  import objax
label_desc: Use image node_id 1 for calling the TestSequential obj's underlying member method code with example usage: obj.test_on_sequential_linear_relu() without return types