code: def test_weave_singletask_classification_overfit():
      """Test weave model overfits tiny data."""
      np.random.seed(123)
      tf.random.set_seed(123)
      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 = dc.models.WeaveModel(
          n_tasks,
          batch_size=batch_size,
          learning_rate=0.0003,
          dropout=0.0,
          mode="classification",
      )
  
      # Fit trained model
      model.fit(dataset, nb_epoch=100)
  
      # Eval model on train
      scores = model.evaluate(dataset, [classification_metric])
  
      assert scores[classification_metric.name] > 0.65
  
imports: import os
  import numpy
  import pytest
  from flaky import flaky
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.ensemble import RandomForestRegressor
  import deepchem
  from deepchem.models.optimizers import Adam
label_desc: Use image node_id 25 for calling a global function with example usage: test_weave_singletask_classification_overfit() without return types