code: def test_chemception_reload():
      """Test that chemception models can be saved and reloaded."""
      img_size = 80
      img_spec = "engd"
      res = 0.5
      n_tasks = 1
      featurizer = dc.feat.SmilesToImage(
          img_size=img_size, img_spec=img_spec, res=res
      )
  
      data_points = 10
      mols = ["CCCCCCCC"] * data_points
      X = featurizer(mols)
  
      y = np.random.randint(0, 2, size=(data_points, n_tasks))
      w = np.ones(shape=(data_points, n_tasks))
      dataset = dc.data.NumpyDataset(X, y, w, mols)
      _ = dc.metrics.Metric(
          dc.metrics.roc_auc_score, np.mean, mode="classification"
      )
  
      model_dir = tempfile.mkdtemp()
      model = dc.models.ChemCeption(
          n_tasks=n_tasks,
          img_spec="engd",
          model_dir=model_dir,
          mode="classification",
      )
      model.fit(dataset, nb_epoch=3)
  
      # Reload Trained Model
      reloaded_model = dc.models.ChemCeption(
          n_tasks=n_tasks,
          img_spec="engd",
          model_dir=model_dir,
          mode="classification",
      )
      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.all(origpred == reloadpred)
  
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 18 for calling a global function with example usage: test_chemception_reload() without return types