Improving Deep Generative Modeling with Practical Applications