Comments (3)
VAE should not be enabled if it was not specified in the option. In fact, the generator architecture is different depending on whether VAE is enabled or not, so it should be impossible to switch from one setting to another between training and test time.
It might be related to the discrepancy in batch norm between training and test time. At training time, it uses the batch statistics of the minibatch. At test time, it uses the saved batch statistics from checkpoint. This feature can be turned on and off by commenting .eval()
in https://github.com/NVlabs/SPADE/blob/master/test.py#L20.
At the same time, I think your model has overfitted to the dataset. What's the size of the dataset?
from spade.
VAE should not be enabled if it was not specified in the option. In fact, the generator architecture is different depending on whether VAE is enabled or not, so it should be impossible to switch from one setting to another between training and test time.
It might be related to the discrepancy in batch norm between training and test time. At training time, it uses the batch statistics of the minibatch. At test time, it uses the saved batch statistics from checkpoint. This feature can be turned on and off by commenting
.eval()
in https://github.com/NVlabs/SPADE/blob/master/test.py#L20.At the same time, I think your model has overfitted to the dataset. What's the size of the dataset?
Yes! After commented .eval(), the result become more vivid like origin real image. Below illustrates the comparison of turning on/off using saved batch statistics. As we can see, when using saved batch statistic, the results are dull, such as the color of sky and grass are always the same among all the outputs.
Since the batch size for training and test are 1, should we comment .eval() when testing? what's GauGAN setting?
My training dataset contains 1400 images, I think my model does overfitted to it, but without sufficient training epochs, the result always have a lot of artifacts. Maybe I need more images?
from spade.
For GauGAN, we trained with batch size 32, and at test time we turned eval()
on with batch size 1.
Note that commenting out eval()
will also affect spectral normalization. In detail, it will actually change the weights of the network every time you call forward. This may result in drifting in output image quality as you call many forward passes.
from spade.
Related Issues (20)
- How can I run this using RGB label as input ? HOT 4
- CUDA error: device-side assert triggered HOT 1
- Two update_learning_rate with same name
- RuntimeError: cublas runtime error : an access to GPU memory space failed at
- Converting to onnx HOT 2
- Choice between multi-scale discriminator and progrssive growing of GANs ?
- How many categories have you predicted for flickr data using deeplab?
- How "label_nc" in the setting works? HOT 2
- CUDA Error?? HOT 4
- Public API
- Extend to instance segmentation
- IndexError with custom dataset HOT 2
- errors with custom dataset HOT 3
- how to prepare the custom datasets?
- Issue a black background is added to the transparent image HOT 1
- GauGAN2 Paper HOT 1
- add --tf_log , program can not run HOT 1
- any pretrained models on ade20k or cityscapes with use_vae?
- Online demo app no longer on nvidia site?
- Training the model for Image to Image translation without label_nc and instance maps.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spade.