Git Product home page Git Product logo

Comments (2)

tjtorres avatar tjtorres commented on September 26, 2024

The way the CLI is structured, it's a bit hard to change just one parameter rapidly(especially moving to much higher resolutions). Many times going to higher resolutions leads to greater errors and the batch size needs to be reduced (or the learning rate reduced) at the beginning of the training. Effectively, when the random weights are generated it makes for KL Divergence terms which can be quite large to start and that can lead to convergence on minima which are non-optimal as well as error terms which overflow the max float32 size (which is probably why you're getting the RuntimeWarning). If you want to go to higher resolutions I'd recommend playing around with the parameters at the module level rather than using the command line tool. I mostly included that as a fun toy example so that people can get started quickly, but the customizability there is limited.

For higher resolutions, the right solution (and one I will likely end up implementing eventually) is to start with convolution layers in order to reduce the size of the final layer before moving to a fully connected system. Otherwise the memory allocation and training times needed, in order to avoid stepping down in layer size too rapidly after the input layer, can be prohibitive.

Try customizing the layer sizes, batch size, loss ratio between reconstruction loss and KL terms, and latent width with the module and see if that works. Additionally, it is a probabilistic method which starts off with a random set of layer weights, so just retrying the training step a few times may possibly net you a better model. Sorry if that isn't more satisfying.

from fauxtograph.

samim23 avatar samim23 commented on September 26, 2024

Been tuning the hyper-parameters a bit (of course not using CLI) but as you pointed out, its tricky to get right. Using a convolutional auto-encoder (something like https://github.com/mikesj-public/convolutional_autoencoder) does indeed sound promising, or even using a Generative Adversarial Network. Exploring VAE in-depth is a good first step though to build intuition.

from fauxtograph.

Related Issues (13)

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.