首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ReLU内部设置为“False”

将ReLU内部设置为“False”
EN

Stack Overflow用户
提问于 2022-10-19 11:42:52
回答 1查看 46关注 0票数 0

下面我编写了一些代码,它接受一个预先训练过的模型作为参数(vgg、resnet、densenet等),并以ReLU状态返回模型为'False‘。它是在测试了许多不同的特定架构之后编写的。

我想用一种更紧凑的方式重写它,因为这在我看来并不是最理想的。然而,我不是一个开发人员,也没有太多的编码经验。你能帮个忙吗?

代码语言:javascript
复制
def ReLU_inplace_to_False (model):
    
    for module in model._modules.values():
        if isinstance(module, nn.ReLU):
            module.inplace = False
        try:
            for layer in module:
                if isinstance(layer, nn.ReLU):
                    layer.inplace = False
                try:
                    for sublayer in layer._modules.values():
                        if isinstance(sublayer, nn.ReLU):
                            sublayer.inplace = False
                        try:
                            for subsublayer in sublayer._modules.values():
                                if isinstance(subsublayer, nn.ReLU):
                                    subsublayer.inplace = False
                                try:
                                    for subsubsublayer in subsublayer._modules.values():
                                        if isinstance(subsubsublayer, nn.ReLU):
                                            subsubsublayer.inplace = False
                                except:
                                    pass
                        except:
                            pass
                except:
                    pass
        except:
            pass
    
    return model
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-19 19:55:53

这需要一个递归的解决方案。

代码语言:javascript
复制
def ReLU_inplace_to_False(module):
    for layer in module._modules.values():
        if isinstance(layer, nn.ReLU):
            layer.inplace = False
        ReLU_inplace_to_False(layer)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74124725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档