# DCGAN生成器的构建

DCGAN的生成器主要通过转置卷积的上采样功能将输入的噪声数据逐步转换为图像数据。DCGAN的生成器由ConvTranspose2、BatchNorm2d、ReLU和Tanh组成。生成器借助ConvTranspose2d的上采样功能，实现对输入的噪声信号，即隐变量z的逐级放大。隐变量z的尺寸为(nz,1,1)，经过生成器内部模块逐步处理后，最终生成的图像格式为(nc, image_size, image_size)。用我们设定的参数来举例，即从(100, 1, 1)的尺寸到(3, 64, 64)的尺寸。

生成器模型的实际代码如下所示。隐变量z的维度为100，此参数可按需设置，无其他特殊意义。与transforms.Compose类似，nn.Sequential也是一个序列容器，可按照一定顺序将各种神经网络模块装入其中。nn.Sequential把多个模块封装为一个模块，比逐层定义网络层更加方便。在forward方法接收到输入后，nn.Sequential便按照装入模块的顺序，依次计算并输出结果。

:::{literalinclude} ../codes/chapter_4_2_5_01.py
:caption: chapter_4_2_5_01.py
:language: python
:linenos:
:::
