Pytorch models cannot be printed to screen
## 🐛 Bug

At least some Pytorch models cannot be printed to screen, as would be normal to do through `__str__` or `__repr__`. For example, MPNN fails with the error

`AttributeError: 'MPNNModel' object has no attribute 'edge_hidden_feats'`

and AttentiveFPModel fails with 

`AttributeError: 'AttentiveFPModel' object has no attribute 'dropout'`

## To Reproduce

Steps to reproduce the behavior for MPNN:

```
>> from deepchem.models.torch_models import MPNNModel
>> model = MPNNModel(mode='classification', n_tasks=len(tasks),
..                   batch_size=32, learning_rate=0.001)
```

Now, just try to print the model

```
>> print(model)
```

leading to `AttributeError: 'MPNNModel' object has no attribute 'edge_hidden_feats'`.

## Expected behavior

A string should be printed to screen by the `__str__` or the `__repr__` magic methods.

## Environment

* OS: Ubuntu 18
* Python version: 3.7.10
* DeepChem version: 2.5.0

diff --git a/deepchem/models/models.py b/deepchem/models/models.py
index dcc6f7a4e..21cce7e96 100644
--- a/deepchem/models/models.py
+++ b/deepchem/models/models.py
@@ -9,7 +9,6 @@ import logging
 from typing import List, Optional, Sequence
 
 import numpy as np
-from sklearn.base import BaseEstimator
 
 from deepchem.data import Dataset
 from deepchem.metrics import Metric
@@ -20,7 +19,7 @@ from deepchem.utils.typing import ArrayLike
 logger = logging.getLogger(__name__)
 
 
-class Model(BaseEstimator):
+class Model(object):
   """
   Abstract base class for DeepChem models.
   """
['deepchem/models/models.py']