Giter Site home page Giter Site logo

Comments (2)

pudkeaayush avatar pudkeaayush commented on June 21, 2024 1

Thank you for the detailed feedback. :)

from discogan-tensorflow.

jmiller656 avatar jmiller656 commented on June 21, 2024

Thinking about this, I've realized that the output is a bit counter-intuitive. While training the network has a sampling rate and a sample overlap distance.
For the sake of example, let's say you have a sample frequency of 10 and a sample overlap of 500
In this case, every 10 iterations of training, a random image will be chosen from both datasets, a and b. The outputs for these images will be computed and saved in their respective directories with a name following this scheme:
imgx.png
where x is the current training iteration % your sample overlap (500 by default).
I do this so that the hard drive on the computer running this is not overfilled with images.

As for the image directories, there are four of them. generator a->b, generator b->a, reconstruct a, and reconstruct b. Generator a->b is the result of DiscoGAN attempting to map an image from dataset A to domain B (and vice versa for the other generator folder). Reconstruct A is the result of DiscoGAN attempting to reconstruct the original image that was passed into it. After a bit of training, you can usually use the reconstructed image as a fairly decent reference for what was passed into the generator initially. Ex:

Let's say I have img100.png in reconstruct a. After a long enough period of training (usually reconstruction progresses faster, in my experience) you should see that the img100.png looks very similar to an image from your domain A dataset. Then, if you look at img100.png in your generator a->b folder, you'll see DiscoGAN's attempt at mapping that image to domain b.

Hope this helps! I plan on making this a bit better in the future by adding image summaries to tensorboard so you can just watch those while training and also adding functions to simplify sampling from the neural network after training. This can be done now by creating a discoGAN and calling resume(), but you would have to write some tensorflow code on your own to actually compute the outputs of the network at the moment.

from discogan-tensorflow.

Related Issues (3)

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.