code: def test_weave_gather_gaussian_histogram():
      """Test Gaussian Histograms."""
      from rdkit import Chem
  
      n_atoms = 4  # In CCC and C, there are 4 atoms
      raw_smiles = ["CCC", "C"]
      mols = [Chem.MolFromSmiles(s) for s in raw_smiles]
      featurizer = dc.feat.WeaveFeaturizer()
      mols = featurizer.featurize(mols)
      gather = layers.WeaveGather(batch_size=2, n_input=75)
      atom_feat = []
      atom_split = []
      for im, mol in enumerate(mols):
          n_atoms = mol.get_num_atoms()
          atom_split.extend([im] * n_atoms)
  
          # atom features
          atom_feat.append(mol.get_atom_features())
      inputs = [
          np.array(np.concatenate(atom_feat, axis=0), dtype=np.float32),
          np.array(atom_split),
      ]
      # per_mol_features = tf.math.segment_sum(inputs[0], inputs[1])
      outputs = gather.gaussian_histogram(inputs[0])
      # Gaussian histograms expands into 11 Gaussian buckets.
      assert np.array(outputs).shape == (
          4,
          11 * 75,
      )
  
imports: import deepchem
  import numpy
  import pytest
  import os
label_desc: Use image node_id 9 for calling a global function with example usage: test_weave_gather_gaussian_histogram() without return types