Giter VIP home page Giter VIP logo

deep_pipe's People

Contributors

a1ekse1 avatar amigoml avatar arseniybelkov avatar ashi5150 avatar borisshirokikh avatar egor-krivov avatar foobar2016 avatar glebmk avatar kondrat1997 avatar kurmukovai avatar lodurality avatar maxme1 avatar mibel avatar mishgon avatar rilshok avatar samokhinv avatar samoyl11 avatar stanislaushimovolos avatar vovaf709 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deep_pipe's Issues

Loky backend sometimes randomly mixes items

This test randomly fail but ideally it shouldn't

from dpipe.batch_iter import Loky
from dpipe.batch_iter.pipeline import wrap_pipeline

size = 100
    for i, item in enumerate(wrap_pipeline(range(size), Loky(lambda x: x ** 2, n_workers=2))):
        assert item == i ** 2

Batch predictors for DM

Previously written batch predictors were written to support models with multiple inputs in deepmedic-like manner, but now we use crops inside of the model instead. Maybe refactor them?

Potential challenges for a backup system

  • The validator doesn't know which epoch it is. It will always start over from 0.
  • Some objects (like policies) might be simply copied in the backup class, this means that reloading them from disk will change them only inside the backup class.

Change library content

Consider reorganizing library structure and usages.

  • move user-related things to user's repositories
  • keep only interfaces and really valuable items in the library

Check out tensorboard

Check if tensorboard lib is good enough for direct logging:

  • It can be installed
  • It allows user to write logs
  • User can look at these logs
  • No memory leak

merge new batch iterators

Merge batch iter branch

Consider:

  • each batch iter has to be valuable without additional infrastructure
  • complex batch iterators for the performance

Replace snakefiles

Consider creating a small grammar for that.
Instead of writing a custom runner, it might be feasible to generate the snakefile/makefile on the fly.

extract predict object from model_core

model_core currently requires prediction method, which increases coupling. Object prediction logic has to be extracted from the model core to separate module.

Simplify training process

Users should be able to create training functions easily to allow more customization. Decrease amount of code, required to write new training process. #20

Model needs rafactoring

Current model satisfy only the simplest requirements with one predictor and one loss.
Refactor model as a set of utility functions and a bunch of prebuilt models for typical use

PyramidalPooling layer warning

Too many levels in the PyramidalPooling layer may cause job silent termination without any reports in the experiment's log file

Gradient scaler throws `AssertionError: No inf checks were recorded for this optimizer` in case of empty mask in `dpipe.torch.functional.masked_loss`

If all gradients of the model are None-s, then scaler.step(optimizer) fails with AssertionError: No inf checks were recorded for this optimizer.

If mask in dpipe.torch.functional.masked_loss is empty, it creates and returns 0 wrapped in a torch tensor. This tensor is "detached" from model graph, so during backward no gradients flow into model parameters gradients, they are all None-s and scaler.step fails.

This can be simply fixed by not returning new 0 tensor in masked_loss, but multiplying prediction by 0, so there will be not None but 0 gradients in model parameters.

Find solution to logging

Find solution that is good enough for the logging:

  • It can be installed
  • It allows user to write logs
  • User can look at these logs with good interface
  • No memory leak

#15 #14

Logs during training

Model refactoring is required for writing custom user logs during training. Maybe remove model_controller?

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.