def _set_module(self, namespace, module):
assert isinstance(module, Module)
for index, layer in enumerate(module.layers):
if isinstance(layer, chainer.Link):
super(Module, self).__setattr__("_module_{}_sequential_{}".format(namespace, index), layer)
if isinstance(layer, Residual):
for _index, _layer in enumerate(layer.layers):
if isinstance(_layer, chainer.Link):
super(Module, self).__setattr__("_module_{}_sequential_{}_{}".format(namespace, index, _index), _layer)
for index, (link_name, link) in enumerate(module.links):
assert isinstance(link, chainer.Link)
super(Module, self).__setattr__("_module_{}_link_{}".format(namespace, link_name), link)
for index, (module_name, module) in enumerate(module.modules):
assert isinstance(module, Module)
self._set_module("{}_{}".format(namespace, module_name), module)
module._locked = True
评论列表
文章目录