Skip to main content

library for deep learning and privacy preserving deep learning

Project description

hideandseek

Highly modularized deep learning training library.

Why use hideandseek?

  • Easy training & saving deep learning models along with other modules (ex: preprocessing modules) required in inference

  • Run multiple deep learning experiments in parallel on multiples GPUs (powered by hydra, and python multiprocessing)

  • Design and analyze experiments scientifically by modifying variables (powered by hydra)

  • Modularized machine learning pipeline allows using the same script for all types of experiments

  • The same training code can be run in privacy preserving setting by minimal modifications

Currently prettifying codes. (30.10.2022.)

import torch
import torch.nn as nn

# Generate data
x = torch.rand(200,1)
y = 5*x+2

network = nn.Linear(1,1)
dataset = torch.utils.data.TensorDataset(x, y)
criterion = nn.MSELoss()
cfg = {
'lr': 1e-2,
'batch_size': 32,
'epoch': 10 # optional
}

# Training configuration. All you need to train a neural network
kwargs = {
'network':network,
'dataset':dataset,
'cfg_train':cfg,
'criterion':criterion,
'name': 'Test' # optional
}
trainer = hs.N.Node(**kwargs)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
trainer.network.to(device)

# Train for predefined number of epochs
trainer.train() # Train for predefined number of epochs
trainer.train(5) # Train for specified number of epochs
trainer.train(epoch=5) # Same thing with trainer.train(5)
trainer.train(step=500) # Train for specified number of updates

trainer.network.cpu()

and simply run multiple batch of experiments with a single line command such as:

python train.py -m lr=1e-3,1e-2 batch_size=32,64 "random_seed=range(0,5)" \
hydra/launcher=joblib hydra.launcher.n_jobs=8
# Runs total of 2*2*5=40 batch of experiments, with 8 processes at a time. Experiment results are stored in hydra.sweep.dir which can be overridden.

To do

  • Draw figures to explain hideandseek
  • GUI for generating experiment scripts when conducting variable sweeps

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hideandseek-0.2.4.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

hideandseek-0.2.4-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file hideandseek-0.2.4.tar.gz.

File metadata

  • Download URL: hideandseek-0.2.4.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for hideandseek-0.2.4.tar.gz
Algorithm Hash digest
SHA256 33e260233347cbf8749fa79798cb25b6abb1110f60dcfdc89bf7ece9ee79c91d
MD5 1dc6a0179be2b40ac258e24bd91320b1
BLAKE2b-256 11d777c80dadf7abb4e3883db7b1fb2cc75d0dde5f6c2edb7dec67595c870bee

See more details on using hashes here.

File details

Details for the file hideandseek-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: hideandseek-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for hideandseek-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e45fcfced72dc39d0751f00748e43dac2a5c7dd6e47555266a1c2e0b7647c4e6
MD5 be660aa1b6aefdd05f10d45b8420c268
BLAKE2b-256 c0ccdb0dac5e899095c2ef6870043c77ec902cf2e8309a1993a9db9ee6e470f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page