Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Generative Adversarial Networks with PyTorch 1.x

You're reading from   Hands-On Generative Adversarial Networks with PyTorch 1.x Implement next-generation neural networks to build powerful GAN models using Python

Arrow left icon
Product type Paperback
Published in Dec 2019
Publisher Packt
ISBN-13 9781789530513
Length 312 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
John Hany John Hany
Author Profile Icon John Hany
John Hany
Greg Walters Greg Walters
Author Profile Icon Greg Walters
Greg Walters
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Section 1: Introduction to GANs and PyTorch FREE CHAPTER
2. Generative Adversarial Networks Fundamentals 3. Getting Started with PyTorch 1.3 4. Best Practices for Model Design and Training 5. Section 2: Typical GAN Models for Image Synthesis
6. Building Your First GAN with PyTorch 7. Generating Images Based on Label Information 8. Image-to-Image Translation and Its Applications 9. Image Restoration with GANs 10. Training Your GANs to Break Different Models 11. Image Generation from Description Text 12. Sequence Synthesis with GANs 13. Reconstructing 3D models with GANs 14. Other Books You May Enjoy

Creating a DCGAN with PyTorch

Let's start writing PyTorch code to create a DCGAN model. Here, we assume that you are using the Python 3.7 environment in Ubuntu 18.04. If not, please refer to Chapter 2, Getting Started with PyTorch 1.3, to learn how to create an Anaconda environment.

First, let's create a Python source file called dcgan.py and import the packages that we need:

import os
import sys

import numpy as np
import torch
import torch.nn as nn
import torch.nn.parallel
import torch.backends.cudnn as cudnn
import torch.optim as optim
import torch.utils.data
import torchvision.datasets as dset
import torchvision.transforms as transforms
import torchvision.utils as vutils

import utils

Here, NumPy is only used to initialize a random seed. If you don't have NumPy installed, simple replace np.random with random and insert the import random line after import os. In the last...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime