Git Product home page Git Product logo

deepdixit's People

Contributors

baronet2 avatar gkysaad avatar nshdesai avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

gkysaad

deepdixit's Issues

Faster Image Loading

It seems that it always takes really long for the first image to show up. Maybe the code we're using to query + cache the images can be improved?

Resume function with image generation

Having to scrap partially generated results is turning out to be quite wasteful with resources + time. It would be really useful to have a function that resumes the data generation right where it left off. This could be turned on/off to overwrite files instead as necessary.

Increasing throughput of good images from big sleep

After some experimentation it is clear that big sleep will not produce a good dataset of images from a list of scraped prompts out of the box. This puts us in a position where we have to come up with solutions to extract better images from big sleep:

  • As mentioned here, one possible solution is to source more URLs using better, more general, scrapers, and feed this larger set of prompts into big sleep. With this setup we can be liberal with discarding prompts that don't produce good images.
  • The other option is to have adaptive training. The idea here would be to train the model for an adaptive number of epochs based on how the loss behaves. If the model is having a hard time generating an image for a particular prompt, then train it longer until it gets better. Since training for a large number of epochs on each image would not be feasible, we would have to do this in an adaptive manner. One concern here is that, we don't actually know whether the images will get better with more training (in general). The starting sample might just be a lost cause (bad local minima), and more training would get us further stuck in it.
  • This brings me to the third idea. Adaptive resampling. Big sleep already tries to do something of this sort (it is labelled as an experimental feature), but it is not adaptive, and hence would not scale. The idea here would be to resample the generated output to get a good starting loss; this improves our confidence that we are not stuck in a local minima.

All these ideas are not "quick fixes", so it will take some thinking a priori to see that our efforts are not directed toward a dead-end. Thoughts on how we move forward?

Figure out a graceful exit for data generation script

It seems as though default signal handling doesn't work out of the box with the data generation script because big-sleep also uses this to gracefully exit during training.

So basically,

for prompt in prompts:
    imagine() # Handles graceful exit
    if terminate:
        exit() # This doesn't work because the top-level signal handler doesn't get called

This means that during each iteration imagine() thinks that the program has been terminated, but this message is not passed on to the script performing the loop.

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.