Giter Site home page Giter Site logo

pytorch-lightning-wadb-code-backbone's Introduction

Write your model faster with pytorch-lightning-wadb-code-backbone

This repository provides the base code for pytorch-lightning and weight and biases simultaneous integration + hydra (to keep configs clean). This repository shows a Toy configuration of CV classificator

pytorch-lightning-wadb-code-backbone organization


│   README.md
│   method.py
|   dataloader.py
|   train.py
|
└───models
│   │   model.py
|
└───datasets
│   │   dataset.py
│   │   transformfactory.py
|
└───configs
│   │   defaults.yaml
│   └─── dataloader
│   │    │  dataset.yaml
│   │
│   └─── model
│   │    │  model.yaml

Code structure

The code is divided into a number of subpackages:

  • models
  • datasets
  • configs

How do I use this code

The core of this repository is that the pytorch-lightning (pl) pipline is configured though .yaml file. There are few key points of this repository:

  • write your data preprocessing pipline in dataset file (see the toy dataset.py and transformfactory.py)
  • write your model and pl logic in model file (see the toy model.py)
  • configure your pipline through .yaml file and see all metrics in wadb

Quickstart

Login to your wandb account, running once wandb login. Configure the logging in conf/logging/*.


Read more in the docs. Particularly useful the log method, accessible from inside a PyTorch Lightning module with self.logger.experiment.log.

W&B is our logger of choice, but that is a purely subjective decision. Since we are using Lightning, you can replace wandb with the logger you prefer (you can even build your own). More about Lightning loggers here.

Configs

To understand the structure see hydra. dataset.yaml and model.yaml consist of dataset_type and model_type keys respectively. Through keys values pl pipline is configured.

Use case: Write your dataset pipline (includes preprocessing through transformfactory.py). Pass dataset_type name (as a key) dataset class (as a value) into self.dataset_types dict in dataloader.py file.

Write your model pipline (includes with train step logic, see toy example). Pass model_type name (as a key) model class (as a value) into self.model_types dict in method.py file.

Done.

Configure all parameters through .yaml file with integrated wandb

pytorch-lightning-wadb-code-backbone's People

Contributors

levtelyatnikov avatar

Stargazers

Ajinkya Indulkar avatar Anil Keshwani avatar Onur Çopur avatar Scott Condron avatar  avatar Emil Khayrov avatar Giulia Cassarà avatar  avatar vashstampede avatar

Watchers

 avatar

Forkers

ys7yoo

pytorch-lightning-wadb-code-backbone's Issues

Readme says wadb rather than wandb

Thanks a lot for sharing this in the PyTorch Lightning forum! 👏

I've noticed it's says wadb rather than wandb in the readme. It would be nice to fix that to say wandb so it's correct. I'd be happy to open a PR and fix it if you don't get around to it before next week.

Regardless, I mainly wanted to open this issue to show appreciation for creating this repo 🙂

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.