code: def test_clone(self, filters, strides):
      qf = DiscreteCNNQFunction(
          env_spec=self.env.spec,
          filters=filters,
          strides=strides,
          dueling=False,
      )
      qf_clone = qf.clone("another_qf")
      assert qf_clone._filters == qf._filters
      assert qf_clone._strides == qf._strides
      for cloned_param, param in zip(
          qf_clone.parameters.values(), qf.parameters.values()
      ):
          assert np.array_equal(cloned_param, param)
  
imports: import pickle
  from unittest import mock
  import numpy
  import pytest
  import tensorflow
  from garage.envs import GymEnv
  from garage.tf.models import CNNModel
  from garage.tf.q_functions import DiscreteCNNQFunction
  from tests.fixtures import TfGraphTestCase
  from tests.fixtures.envs.dummy import DummyDiscreteEnv, DummyDiscretePixelEnv
  from tests.fixtures.models import SimpleCNNModel, SimpleCNNModelWithMaxPooling, SimpleMLPModel
label_desc: Use image node_id 10 for calling the TestDiscreteCNNQFunction obj's underlying member method code with example usage: obj.test_clone(filters, strides) without return types