Giter Site home page Giter Site logo

netlab_bli2's Introduction

NetLab

A minimal development framework for rapid prototyping in PyTorch.

NetLab provides boiler plate code for training neural networks and lets you focus on developing neural network architectures.

NetLab comes with a series of useful utilities for rapid prototyping and explorative tools.

Usage

Training a network:

from src.modules.model import ConvNet
from src.data.dataloader import get_dataloader
from src.config.config import init_config
from src.train.train import train
from src.utils.tools import set_random_seed


def experiment_imagewoof():

    config = init_config(file_path="config.yml")
    config.dataloader.dataset = "imagewoof"

    set_random_seed(seed=config.random_seed)

    dataloader = get_dataloader(config=config)

    model = ConvNet(config=config)
    model.to(config.trainer.device)

    print(config)
    train(model=model, dataloader=dataloader, config=config)

    print("Experiment finished.")


def main():
    experiment_imagewoof()


if __name__ == "__main__":
    main()

Random Hyperparameter Search:

from src.modules.model import DenseNet
from src.data.dataloader import get_dataloader
from src.config.config import init_config
from src.train.train import train
from src.utils.tools import set_random_seed
from src.utils.random_search import create_random_config_


def experiment_random_search():

    n_runs = 1000
    n_epochs = 10

    config = init_config(file_path="config.yml")

    config.trainer.n_epochs = n_epochs
    config.dataloader.dataset = "cifar10"
    config.tag = "random_search"

    for _ in range(n_runs):

        create_random_config_(config)

        set_random_seed(seed=config.random_seed)

        dataloader = get_dataloader(config=config)

        print(config)
        model = DenseNet(config=config)
        model.to(config.trainer.device)

        train(model=model, dataloader=dataloader, config=config)


def main():
    experiment_random_search()


if __name__ == "__main__":
    main()

Cleaning up

python make_clean.py --folders data/ runs/ weights/

License

MIT

netlab_bli2's People

Contributors

kaifishr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.