code: def test_graphconvmodel_reload():
      featurizer = dc.feat.ConvMolFeaturizer()
      tasks = ["outcome"]
      mols = ["C", "CO", "CC"]
      X = featurizer(mols)
      y = np.array([0, 1, 0])
      dataset = dc.data.NumpyDataset(X, y)
  
      classification_metric = dc.metrics.Metric(
          dc.metrics.roc_auc_score, np.mean, mode="classification"
      )
  
      batch_size = 10
      model_dir = tempfile.mkdtemp()
      model = dc.models.GraphConvModel(
          len(tasks),
          batch_size=batch_size,
          batch_normalize=False,
          mode="classification",
          model_dir=model_dir,
      )
  
      model.fit(dataset, nb_epoch=10)
      scores = model.evaluate(dataset, [classification_metric])
      assert scores[classification_metric.name] >= 0.6
  
      # Reload trained Model
      reloaded_model = dc.models.GraphConvModel(
          len(tasks),
          batch_size=batch_size,
          batch_normalize=False,
          mode="classification",
          model_dir=model_dir,
      )
      reloaded_model.restore()
  
      # Check predictions match on random sample
      predmols = ["CCCC", "CCCCCO", "CCCCC"]
      Xpred = featurizer(predmols)
      predset = dc.data.NumpyDataset(Xpred)
      origpred = model.predict(predset)
      reloadpred = reloaded_model.predict(predset)
      assert np.allclose(origpred, reloadpred)
  
      # Eval model on train
      scores = reloaded_model.evaluate(dataset, [classification_metric])
      assert scores[classification_metric.name] > 0.6
  
imports: import os
  import pytest
  import tempfile
  import numpy
  import deepchem
  import scipy.io
  from flaky import flaky
  from sklearn.ensemble import RandomForestClassifier
  from deepchem.molnet.load_function.chembl25_datasets import CHEMBL25_TASKS
  from deepchem.feat import create_char_to_idx
label_desc: Use image node_id 17 for calling a global function with example usage: test_graphconvmodel_reload() without return types