Comments (4)
Here are the two loss functions:
loss_d = -(torch.mean(y_real) - torch.mean(y_fake))
loss_g = -torch.mean(y_fake) + cross_entropy
The generator loss consists of two components, the cross_entropy
which can never be negative and -torch.mean(y_fake)
which can be negative if the discriminator assigns a high score to the fake/synthetic data.
Assuming that the discriminator has assigned a high score to the fake/synthetic data, then the only way that the discriminator loss could be negative is if it assigns an even higher score to the real data.
Therefore, this suggests that the discriminator is, on average, assigning higher scores to real data than fake data which means it's doing its job.
Without more information, I don't see anything to be concerned about here.
from ctgan.
Re: the random seed, this library use PyTorch so should be able to just add:
import torch
torch.manual_seed(42)
before you call sample
to get reproducible samples.
from ctgan.
Also, can you tell where can we set the random seed to get reproducible samples?
from ctgan.
Thank you so much for both the detailed responses. Closing issue now :)
from ctgan.
Related Issues (20)
- Upgrade to torch 2.0
- Generate image of discriminator/generator loss values during `fit` HOT 3
- Remove upper bound for pandas
- load_demo raises urllib.error.HTTPError: HTTP Error 403: Forbidden
- Torch 2.0 fails with cuda=False
- Should a 5-Likert scale be treated as either continuous or discrete? HOT 2
- Multi GPU support
- Avoid generating the conditional column
- Add support for Python 3.11
- Add progress bar for CTGAN fitting (+ save the loss values)
- Question about large amount of training dataset in TVAE -- is there max? HOT 1
- Add verbosity TVAE (progress bar + save the loss values)
- Condition with inequality for continuous columns
- Drop support for Python 3.7
- Question regarding CTGAN for data synthesis and classification tasks
- Tracking and Saving TVAE Loss Values HOT 2
- Set generator to eval mode before sampling?
- Switch default branch from master to main
- Remove or implement CTGAN tests
- `ClusterBasedNormalizer` refactor
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 ctgan.