学习多层感知机的Dropout方法产生了一个疑惑,那就是它实现的两段代码不同,下图给出他的两个代码:
这两部分都是对整个感知机进行代码实现,不同的是我在第二部分看到了对于权重的初始化也就是init_weights()函数,但是我在第一种实现中并没有发现有关W的东西。
整体而言,深度学习是不停的迭代然后对参数进行优化更新,也就是W和b,但是初始值W为什么在第一种方法没有给出初始化,但是第二种给了。
后来查阅相关资料发现是nn.Linear()函数的问题,给该函数出入的参数实际上是生成了一个W权重矩阵,其中参数分别是W的行数和列数,也就是说第一种实现中已经给了一个初始化了,只不过是Linear自动进行了,第二种我觉得是对W的重新初始化。