PyTorch-1.10(十一)–torch.nn.functional与torch.nn的区别

Pytorch中torch.nn.functional与torch.nn的区别

相同之处:

  • 两者都继承于nn.Module
  • nn.x与nn.functional.x的实际功能相同,比如nn.Conv3d和nn.functional.conv3d都是进行3d卷积
  • 运行效率几乎相同

不同之处:

  • nn.x是nn.functional.x的类封装,nn.functional.x是具体的函数接口,nn.functional.x直接传入参数调用,nn.x需要先实例化再传参调
  • nn.x除了具有nn.functional.x功能之外,还具有nn.Module相关的属性和方法,比如:train(),eval()等
  • nn.x能很好的与nn.Sequential结合使用,而nn.functional.x无法与nn.Sequential结合使用
  • nn.x不需要自定义和管理weight,而nn.functional.x需自定义weight,作为传入的参数
     

torch.nn.functional中同样有torch.nn中类似的卷积层,池化层,激活层,Dropout层,线性层、损失函数以及多GPU训练、分布式训练函数等,具体用法可以参考文档

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年5月16日
下一篇 2022年5月16日

相关推荐