guhongyang / vade-pytorch Goto Github PK
View Code? Open in Web Editor NEWthe reproduce of Variational Deep Embedding : A Generative Approach to Clustering Requirements by pytorch
the reproduce of Variational Deep Embedding : A Generative Approach to Clustering Requirements by pytorch
Thank you for sharing your code.
In the paper, pi_.sum() = 1. I found that vade.pi_.sum() > 1 in this code. Why?
Hi @GuHongyang ,
Thanks for the reimplementation!
they mention in the paper that As for the generative process in Section 3.1, the multivariate Bernoulli distribution is used for MNIST dataset, and the multivariate Gaussian distribution is used for the others
. In your code, you've implemented the multivariate Gaussian distribution
right?
Sincerely,
Thibault
After pre training, what is the prediction accuracy? My acc is only 0.7%. why?
Hello,
Thanks for sharing this code.
I was wondering if you could also share the hyper-parametrization you have used in order to obtain the training curve on the front page: 94% cluster accuracy after 300 epochs.
Running the code out of the box it seems to plateau at around 80%
Thank you,
Best regards,
Miguel
Thanks for your pytorch code. I know the pi_c is obtained from GMM . however, when I get a pi_c, the pi_c[0] represents the label 0's prior probability from GMM, how I know the label 0 from GMM equals to the label 0 from the final clustering result. for example ,a tensor pi_c=[0.1,0.5,0.4],which represents the prior probability of label 0 is 0.1,label 1 is 0.5,label 2 is 0.4,does is it align to the label of q(c|x).I don't know if I explain clearly. In short, because this is a unsupervise model,so maybe the GMM's label is not aligned to the q(c|x)'label.
Any one knows this bug? I just run the original code and show the following bug.
Traceback (most recent call last):
File "main.py", line 50, in
vade.module.pre_train(DL,pre_epoch=50)
File "/home/shuiqiao/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 594, in getattr
type(self).name, name))
AttributeError: 'VaDE' object has no attribute 'module'
'''
Hi, in your model.py,
@staticmethod
def gaussian_pdf_log(x,mu,log_sigma2):
return -0.5*(torch.sum(np.log(np.pi*2)+log_sigma2+(x-mu).pow(2)/torch.exp(log_sigma2),1))
I wonder why you add 1? I think in Gaussian distribution, the pdf is
-0.5*(np.log(np.pi*2)+log_sigma2+(x-mu).pow(2)/torch.exp(log_sigma2))
Hello, thank you for sharing the code.
In the original paper, pi are parameters for categorical variable, so it must sum to one.
However, in this code, when I print out the summation of pi, it exceeds the value one.
Shouldn't there be some kind of softmax or noramlization to prevent this? (SoftMax seems to degrade the performance though...)
I have solved this question, sorry about disturbing you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.