code: def test_extract_relevant_variables_indices(self):
      algorithm = categorical_harmonica.Harmonica(
          test_utils.create_spec(
              phoenix_spec_pb2.PhoenixSpec.CNN,
              blocks_to_use=[
                  "FIXED_CHANNEL_CONVOLUTION_16",
                  "FIXED_CHANNEL_CONVOLUTION_32",
                  "FIXED_CHANNEL_CONVOLUTION_64",
                  "CONVOLUTION_3X3",
              ],
              min_depth=4,
          ),
          degree=2,
      )
      feature_extender = PolynomialFeatures(2, interaction_only=True)
      algorithm._get_polynomial_expansion(
          feature_extender, np.array([[1, 2, 3, 4]])
      )
      output = algorithm._extract_relevant_variables_indices(
          feature_extender, np.array([1, 1, 1] + [0] * 7 + [1])
      )
      logging.info(output)
      self.assertAllEqual(output, set([0, 1, 2, 3]))
      output = algorithm._extract_relevant_variables_indices(
          feature_extender, np.array([1, 0, 0] + [0] * 7 + [1])
      )
      self.assertAllEqual(output, set([2, 3]))
      output = algorithm._extract_relevant_variables_indices(
          feature_extender, np.array([1, 0, 0] + [0] * 7 + [0])
      )
      self.assertEmpty(output)
  
imports: from absl import logging
  from absl.testing import parameterized
  import mock
  from model_search import hparam
  from model_search.metadata import trial
  from model_search.proto import phoenix_spec_pb2
  from model_search.search import categorical_harmonica
  from model_search.search import test_utils
  import numpy
  from sklearn import preprocessing
  import tensorflow.compat.v2
label_desc: Use image node_id 8 for calling the HarmonicaTest obj's underlying member method code with example usage: obj.test_extract_relevant_variables_indices() without return types