欢迎光临散文网 会员登陆 & 注册

第十七篇—模型构造

2023-02-16 12:07 作者:YouOnly_LiveOnce  | 我要投稿


部分一:继承Module类来构造模型

以多层感知机(MLP,Multilayer Perception)举例:

多层感知机

代码实现:

结果:

result

注意:

net(x)会调用Module类的__call__方法,此方法再调用forward()方法,参考Python类中的__call__方法



部分二:Module类的子类

(1) Sequential类

Sequential类可以接收一个子模块的有序字典(OrderedDict)或多个子模块,每个子模块用0,1,2,...序号区分;

代码实现:

结果:

自定义实现Sequential类,代码如下:

注意:关于*args参数可参考算法岗面试总结—Python篇(第三题)

(2) ModuleList类

ModuleList类可以接收一个列表作为输入,也可以进行append和extend操作;

代码实现:

结果:

(3) ModuleDict类

ModuleDict类可以接收一个字典作为输入;

代码实现:

结果:



部分三:构造复杂的模型

代码实现:

结果:

注意:

因为FancyMLP类和Sequential类都是Module类的子类,所以可以嵌套使用;

结果:


第十七篇—模型构造的评论 (共 条)

分享到微博请遵守国家法律