当前位置:网站首页>PyTorch中 torch.nn与torch.nn.functional的区别
PyTorch中 torch.nn与torch.nn.functional的区别
2022-08-09 07:09:00 【代码的路】
原文链接
torch.nn
在__init__()函数里定义,定义的是一个类:
torch.nn.functional
pytorch中文文档:torch.nn.functional
在__forward()__函数里定义,定义的是一个函数:
两者的区别:
nn中是定义的类,以class xx来定义的,可以提取变化的学习参数。nn.functional中的是函数,由def function( )定义,是一个固定的运算公式。
深度学习中会有很多权重是在不断更新的,所以需要采用类的方式,以确保能在参数发生变化时仍能使用我们之前定好的运算步骤。因此如果模型有可学习的参数,应该使用nn.Module,否则两个没有区别。但是简单的计算不需要建类来做,所以使用nn.functional定义函数就可以。
即:层内有variable的情况用nn定义,否则用nn.functional定义。
学习更多编程知识,请关注我的公众号:

边栏推荐
猜你喜欢
随机推荐
分布式事务产生的原因
longest substring without repeating characters
力扣第 305 场周赛复盘
【模板】树链剖分 P3384
【Shell】查找进程的pid并根据pid获取该进程所占用的端口号以及该进程在系统中所下达的指令名称
The division principle summary within the collection
2019南昌网络赛 C题,Hello 2019
【烂笔头】各厂商手机手动抓log
car-price-deeplearning-0411
重要消息丨.NET Core 3.1 将于今年12月13日结束支持
常见的分布式事务解决方案
Fragments
MUI无法滚动?完美解决
MongDb query method
半导体新能源智能装备整机软件系统方案设计
MUV LUV EXTRA 2019CCPC秦皇岛站J题 KMP
rsync:recv_generator: mkdir (in backup) failed:Permission denied (13) |failed to set times on '.'
排序第二节——选择排序(选择排序+堆排序)(两个视频讲解)
Better Scroll Y上下滚动无法上拉滚动解决办法
线程API









