code: def test_convolution(self):
      self.start_tests(name="convolution")
  
      states = dict(
          type="float", shape=(2, 3), min_value=1.0, max_value=2.0
      )
      actions = dict(
          bool_action=dict(type="bool", shape=(2,)),
          int_action=dict(type="int", shape=(2, 2), num_values=4),
          float_action=dict(
              type="float", shape=(2,), min_value=1.0, max_value=2.0
          ),
          beta_action=dict(
              type="float", shape=(2, 2), min_value=1.0, max_value=2.0
          ),
      )
      network = [
          dict(type="conv1d", size=8),
          dict(type="conv1d_transpose", size=8),
          dict(type="linear", size=8),
      ]
      self.unittest(states=states, actions=actions, policy=network)
  
      states = dict(
          type="float", shape=(2, 2, 3), min_value=1.0, max_value=2.0
      )
      actions = dict(
          bool_action=dict(type="bool", shape=(2, 2)),
          int_action=dict(type="int", shape=(2, 2, 2), num_values=4),
          float_action=dict(
              type="float", shape=(2, 2), min_value=1.0, max_value=2.0
          ),
          beta_action=dict(
              type="float",
              shape=(2, 2, 2),
              min_value=1.0,
              max_value=2.0,
          ),
      )
      network = [
          dict(type="conv2d", size=8),
          dict(type="conv2d_transpose", size=8),
          dict(type="linear", size=8),
      ]
      self.unittest(states=states, actions=actions, policy=network)
  
file_path: tensorforce/test/test_layers.py
imports: import unittest
  from test.unittest_base import UnittestBase
label_desc: Use image node_id 3 for calling the TestLayers obj's underlying member method code with example usage: obj.test_convolution() without return types