1.nn.Moudle中命名一般为: nn.Xxx (第一个X为大写)
例如:nn.Linear,nn.Conv2d,nn.CrossEntropyLoss等
2.nn.functional中命名一般为:nn.funtional.xxx
例如:nn.funicational.linear,nn.funicational.conv2d,nn.funicational.cross_entropy等
从功能上来书两者相当,基于nn.Moudle能实现的层,使用nn.funicational也可以实现,反之亦然。
从性能方面两者也没有太大差异。
总的来说,两种功能都是相同的。 官方推荐:具有学习参数的(例如: conv2d, linear, batch_norm)采用 nn.Xxx 方式。 没有学习参数的(例如: naxpool, loss func, activation func)等根据个人选择使用 nn.funicational.xxx 或者 nn.Xxx 方式
附: torch.nn 中文文档 torch.nn.functional 中文文档