code: def test_make_blobs_n_samples_list_with_centers(setup):
      n_samples = [20, 20, 20]
      centers = np.array([[0.0, 0.0], [1.0, 1.0], [0.0, 1.0]])
      cluster_stds = np.array([0.05, 0.2, 0.4])
      X, y = make_blobs(
          n_samples=n_samples,
          centers=centers,
          cluster_std=cluster_stds,
          random_state=0,
      )
      X, y = mt.ExecutableTuple((X, y)).execute().fetch()
  
      assert X.shape == (sum(n_samples), 2)
      assert (
          all(np.bincount(y, minlength=len(n_samples)) == n_samples)
          is True
      )
      for i, (ctr, std) in enumerate(zip(centers, cluster_stds)):
          assert_almost_equal(
              (X[y == i] - ctr).std(), std, 1, "Unexpected std"
          )
  
file_path: mars/mars/learn/datasets/tests/test_samples_generator.py
imports: from functools import partial
  from collections import defaultdict
  import numpy
  from sklearn.utils._testing import assert_array_almost_equal, assert_raises, assert_almost_equal, assert_raise_message
  from ....None import tensor
  from ....tensor.linalg import svd
  from ..samples_generator import make_low_rank_matrix, make_classification, make_regression, make_blobs
label_desc: Use image node_id 7 for calling a global function with example usage: test_make_blobs_n_samples_list_with_centers(setup) without return types