code: def test_graph_conv():
      """Test invoking GraphConv."""
      out_channels = 2
      n_atoms = 4  # In CCC and C, there are 4 atoms
      raw_smiles = ["CCC", "C"]
      from rdkit import Chem
  
      mols = [Chem.MolFromSmiles(s) for s in raw_smiles]
      featurizer = dc.feat.graph_features.ConvMolFeaturizer()
      mols = featurizer.featurize(mols)
      multi_mol = dc.feat.mol_graphs.ConvMol.agglomerate_mols(mols)
      atom_features = multi_mol.get_atom_features().astype(np.float32)
      degree_slice = multi_mol.deg_slice
      membership = multi_mol.membership
      deg_adjs = multi_mol.get_deg_adjacency_lists()[1:]
      args = [atom_features, degree_slice, membership] + deg_adjs
      layer = layers.GraphConv(out_channels)
      result = layer(args)
      assert result.shape == (n_atoms, out_channels)
      num_deg = 2 * layer.max_degree + (1 - layer.min_degree)
      assert len(layer.trainable_variables) == 2 * num_deg
  
imports: import deepchem
  import numpy
  import pytest
  import os
label_desc: Use image node_id 10 for calling a global function with example usage: test_graph_conv() without return types