ecnet¶
Top-level package exports. Prefer from ecnet import ECNet.
- ecnet.__version__¶
str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to ‘strict’.
- class ecnet.model.ECNet(input_dim, output_dim, hidden_dim, n_hidden, dropout=0.0, device='cpu')[source]¶
Bases:
ModuleImported in user code as
ecnet.ECNet.- Parameters:
- __init__(input_dim, output_dim, hidden_dim, n_hidden, dropout=0.0, device='cpu')[source]¶
ECNet, child of torch.nn.Module: handles data preprocessing, multilayer perceptron training, stores multilayer perceptron layers/weights for continued usage/saving
- Args:
input_dim (int): dimensionality of input data output_dim (int): dimensionalit of output data hidden_dim (int): number of neurons in hidden layer(s) n_hidden (int): number of hidden layers between input and output dropout (float, optional): neuron dropout probability, default 0.0 device (str, optional): device to run tensor ops on, default cpu
- fit(smiles=None, target_vals=None, dataset=None, backend='padel', batch_size=32, epochs=100, lr_decay=0.0, valid_size=0.0, valid_eval_iter=1, patience=16, verbose=0, random_state=None, shuffle=False, **kwargs)[source]¶
Fit ECNet to SMILES/target values or a pre-loaded QSPRDataset.
Training uses Adam, MSE loss, and ReLU activations between layers. Optional linear learning-rate decay and validation-based early stopping are supported when
valid_size > 0.- Parameters:
smiles (
List[str]) – SMILES strings used to build descriptors whendatasetis omitted.target_vals (
List[List[float]]) – Regression targets whendatasetis omitted.dataset (
QSPRDataset) – Pre-loaded dataset with descriptors and targets.backend (
str) – Descriptor backend when building from SMILES (padeloralvadesc). Defaultpadel.batch_size (
int) – Training batch size. Default 32.epochs (
int) – Number of training epochs. Default 100.lr_decay (
float) – Linear learning-rate decay per epoch. Default 0.0.valid_size (
float) – Fraction of data held out for validation. Default 0.0.valid_eval_iter (
int) – Validate every this many epochs. Default 1.patience (
int) – Early-stopping patience in epochs. Default 16.verbose (
int) – Print progress every this many epochs when > 0. Default 0.random_state (
int) – Seed for train/validation split. Default None.shuffle (
bool) – Shuffle data between epochs. Default False.**kwargs – Forwarded to
torch.optim.Adam.
- Returns:
Training losses and validation losses (zeros when
valid_size == 0).- Return type:
- forward(x)[source]¶
Forward propagation of data through multilayer perceptron
- Return type:
tensor- Parameters:
x (tensor)
- Args:
x (torch.tensor): input data to feed forward
- Returns:
torch.tensor: output of final model layer