小编JK.*_*ong的帖子

pytorch 的 nn.Module 如何注册子模块?

当我阅读 torch.nn.Module 的源代码(python)时,我发现该属性self._modules已在许多函数中使用,例如 self.modules(), self.children()等。但是,我没有找到任何更新它的函数。那么,在哪里self._modules更新呢?另外,pytorch 的nn.Module子模块是怎么注册的?

class Module(object):
    def __init__(self):
        self._backend = thnn_backend
        self._parameters = OrderedDict()
        self._buffers = OrderedDict()
        self._backward_hooks = OrderedDict()
        self._forward_hooks = OrderedDict()
        self._forward_pre_hooks = OrderedDict()
        self._modules = OrderedDict()
        self.training = True

    def named_modules(self, memo=None, prefix=''):
        if memo is None:
            memo = set()
        if self not in memo:
            memo.add(self)
            yield prefix, self
            for name, module in self._modules.items():
                if module is None:
                    continue
                submodule_prefix = prefix + ('.' if prefix else '') …
Run Code Online (Sandbox Code Playgroud)

python pytorch

5
推荐指数
2
解决办法
3301
查看次数

标签 统计

python ×1

pytorch ×1