code: def test_cmac_multi_output(self):
      X_train = np.linspace(0, 2 * np.pi, 100)
      X_train = np.vstack([X_train, X_train])
  
      X_test = np.linspace(0, 2 * np.pi, 100)
      X_test = np.vstack([X_test, X_test])
  
      y_train = np.sin(X_train)
      y_test = np.sin(X_test)
  
      cmac = algorithms.CMAC(
          quantization=100,
          associative_unit_size=32,
          step=0.2,
      )
      cmac.train(X_train, y_train, X_test, y_test, epochs=100)
      predicted_test = cmac.predict(X_test)
      error = metrics.mean_absolute_error(y_test, predicted_test)
  
      self.assertAlmostEqual(error, 0, places=6)
  
file_path: neupy/tests/algorithms/memory/test_cmac.py
imports: import numpy
  from sklearn import metrics
  from neupy import algorithms
  from base import BaseTestCase
label_desc: Use image node_id 4 for calling the CMACTestCase obj's underlying member method code with example usage: obj.test_cmac_multi_output() without return types