code: def test_weave_singletask_classification_overfit():
      """Test weave model overfits tiny data."""
      np.random.seed(22)
      torch.manual_seed(22)
      n_tasks = 1
      current_dir = os.path.dirname(os.path.abspath(__file__))
  
      # Load mini log-solubility dataset.
      featurizer = dc.feat.WeaveFeaturizer()
      tasks = ["outcome"]
      input_file = os.path.join(
          current_dir, "assets/example_classification.csv"
      )
      loader = dc.data.CSVLoader(
          tasks=tasks, feature_field="smiles", featurizer=featurizer
      )
      dataset = loader.create_dataset(input_file)
  
      classification_metric = dc.metrics.Metric(
          dc.metrics.accuracy_score
      )
  
      batch_size = 10
      model = WeaveModel(
          n_tasks,
          batch_size=batch_size,
          learning_rate=0.0003,
          dropout=0.0,
          mode="classification",
      )
  
      # Fit trained model
      model.fit(dataset, nb_epoch=300)
  
      # Eval model on train
      scores = model.evaluate(dataset, [classification_metric])
      # Note: This needs to be inspected in future to understand low score.
      assert scores[classification_metric.name] > 0.65
  
file_path: deepchem/deepchem/models/tests/test_weavemodel_pytorch.py
imports: import deepchem
  import numpy
  import os
  import pytest
  import tempfile
  from flaky import flaky
  from deepchem.data import NumpyDataset
  from deepchem.metrics import Metric, roc_auc_score, mean_absolute_error
  from deepchem.molnet import load_bace_classification, load_delaney
  from deepchem.feat import WeaveFeaturizer
label_desc: Use image node_id 9 for calling a global function with example usage: test_weave_singletask_classification_overfit() without return types