从零开始大模型开发与微调:基于PyTorch与ChatGLM
上QQ阅读APP看书,第一时间看更新

2.4.3 模型的准备和介绍

对于使用PyTorch进行深度学习的项目来说,一个非常重要的内容是模型的设计,模型用于决定在深度学习项目中采用哪种方式完成目标的主体设计。在本例中,我们的目的是输入一幅图像之后对其进行去噪处理。

对于模型的选择,一个非常简单的思路是,图像输出的大小就应该是输入的大小,在这里选择使用Unet(一种卷积神经网络)作为设计的主要模型。

注意:对于模型的选择现在还不是读者需要考虑的问题,随着你对本书学习的深入,见识到更多处理问题的方法后,对模型的选择自然会心领神会。

我们可以整体看一下Unet的结构(读者目前只需要知道Unet的输入和输出大小是同样的维度即可),如图2-32所示。

图2-32 Unet的结构

可以看到,对于整体模型架构来说,其通过若干模块(block)与直连(residual)进行数据处理。这部分内容在后面的章节会讲到,目前读者只需要知道模型有这种结构即可。Unet模型的整体代码如下:

上面倒数第1~3行的代码段表示只有在本文件作为脚本直接执行时才会被执行,而在本文件import到其他脚本中(代码重用)时这段代码不会被执行。