in scripts/models.py [0:0]
def __init__(self, in_features, out_features, task, hparams="default"):
super().__init__()
self.in_features = in_features
self.out_features = out_features
self.task = task
# network architecture
self.network = torch.nn.Linear(in_features, out_features)
# loss
if self.task == "regression":
self.loss = torch.nn.MSELoss()
else:
self.loss = torch.nn.BCEWithLogitsLoss()
# hyper-parameters
if hparams == "default":
self.hparams = {k: v[0] for k, v in self.HPARAMS.items()}
elif hparams == "random":
self.hparams = {k: v[1] for k, v in self.HPARAMS.items()}
else:
self.hparams = json.loads(hparams)
# callbacks
self.callbacks = {}
for key in ["errors"]:
self.callbacks[key] = {
"train": [],
"validation": [],
"test": []
}