code: def templateDataClustering(
      self,
      sample_path,
      amount_clusters,
      chromosome_count,
      population_count,
      count_mutation_gens,
      coeff_mutation_count,
      expected_clusters_sizes,
      **kwargs,
  ):
      scale_points = kwargs.get("scale_points", None)
  
      sample = numpy.array(read_sample(sample_path))
      if scale_points is not None:
          sample = sample * scale_points
  
      ga_instance = genetic_algorithm(
          sample,
          amount_clusters,
          chromosome_count,
          population_count,
          count_mutations_gen=count_mutation_gens,
          coeff_mutation_count=coeff_mutation_count,
          **kwargs,
      )
  
      ga_instance.process()
      clusters = ga_instance.get_clusters()
  
      obtained_cluster_sizes = [len(cluster) for cluster in clusters]
      self.assertEqual(len(sample), sum(obtained_cluster_sizes))
  
      if expected_clusters_sizes is not None:
          obtained_cluster_sizes.sort()
          expected_clusters_sizes.sort()
  
          self.assertEqual(
              obtained_cluster_sizes, expected_clusters_sizes
          )
  
imports: import unittest
  import inspect
  import numpy
  import matplotlib
  from pyclustering.samples.definitions import SIMPLE_SAMPLES
  from pyclustering.cluster.ga import genetic_algorithm, ga_observer, ga_visualizer
  from pyclustering.cluster.ga_maths import ga_math
  from pyclustering.utils import read_sample
label_desc: Use image node_id 6 for calling the GeneticAlgorithmClusteringUnitTest obj's underlying member method code with example usage: obj.templateDataClustering(sample_path, amount_clusters, chromosome_count, population_count, count_mutation_gens, coeff_mutation_count, expected_clusters_sizes) without return types