code: def test_graph_conv_atom_features():
      tasks, dataset, _, _ = get_dataset(
          "regression", "Raw", num_tasks=1
      )
  
      atom_feature_name = "feature"
      y = []
      for mol in dataset.X:
          atom_features = []
          for atom in mol.GetAtoms():
              val = np.random.normal()
              mol.SetProp(
                  "atom %08d %s" % (atom.GetIdx(), atom_feature_name),
                  str(val),
              )
              atom_features.append(np.random.normal())
          y.append([np.sum(atom_features)])
  
      featurizer = ConvMolFeaturizer(
          atom_properties=[atom_feature_name]
      )
      X = featurizer.featurize(dataset.X)
      dataset = NumpyDataset(X, np.array(y))
      batch_size = 50
      model = GraphConvModel(
          len(tasks),
          number_atom_features=featurizer.feature_length(),
          batch_size=batch_size,
          mode="regression",
      )
  
      model.fit(dataset, nb_epoch=1)
      _ = model.predict(dataset)
  
imports: import os
  import numpy
  import pytest
  from scipy import io
  from deepchem.data import NumpyDataset, CSVLoader
  from deepchem.trans import DAGTransformer
  from deepchem.molnet import load_bace_classification, load_delaney
  from deepchem.feat import ConvMolFeaturizer
  from deepchem.metrics import Metric, roc_auc_score, mean_absolute_error
  from deepchem.utils.data_utils import download_url, get_data_dir
  from flaky import flaky
label_desc: Use image node_id 7 for calling a global function with example usage: test_graph_conv_atom_features() without return types