
调试

1、以LeNet为例,我们在第72行设置断点,并进行Debug。

2、点击C按钮进入到模型中,我们可以发现__init__()函数构建了LeNet模型需要的子模块。

3、我们一直点击B按钮,当最后一个模块构建完成后,程序跳出,LeNet模型的初始化就完成了。模型构建完成。

4、我们将代码运行到模型训练部分的97行,此处我们对模型输入了inputs,输出outputs。

5、点击C按钮进入该行代码,此时我们进入module.py文件中的Module类的__call__()函数中,因为LeNet继承于Module,Module有__call__()函数表示其实例可以像函数一样被调用。

6、我们将代码运行到第541行并点击C按钮进入forward函数,查看在哪里实现了forward函数,即前向传播。我们发现他跳转到了我们的LeNet类的forward函数中。在这里具体的实现了前向传播和每一层的计算,最终输出我们的分类结果out我们返回out。

在__init__()函数中构建子模块,在forward()函数中拼接子模块,完成前向传播。

本文通过LeNet模型的调试过程,详细解析了神经网络的构建与前向传播实现。从初始化模型到设置断点,再到跟踪forward函数,一步步展示了深度学习模型的工作原理。
1184

被折叠的 条评论
为什么被折叠?



