未验证 提交 49b8ac80 编写于 作者: G Guo Sheng 提交者: GitHub

Merge pull request #6550 from guoshengCS/enhance-exclude-param-init

Enhance Parameters.init_from_tar in V2
...@@ -383,19 +383,22 @@ class Parameters(object): ...@@ -383,19 +383,22 @@ class Parameters(object):
params.deserialize(param_name, f) params.deserialize(param_name, f)
return params return params
def init_from_tar(self, f): def init_from_tar(self, f, exclude_params=[]):
""" """
Different from `from_tar`, this interface can be used to Different from `from_tar`, this interface can be used to
init partial network parameters from another saved model. init partial network parameters from another saved model.
:param f: the initialized model file. :param f: the initialized model file.
:type f: tar file :type f: tar file
:param exclude_params: the names of parameters that should
not be initialized from the model file.
:type exclude_params: list of strings
:return: Nothing. :return: Nothing.
""" """
tar_param = Parameters.from_tar(f) tar_param = Parameters.from_tar(f)
for pname in tar_param.names(): for pname in tar_param.names():
if pname in self.names(): if pname in self.names() and pname not in exclude_params:
self.set(pname, tar_param.get(pname)) self.set(pname, tar_param.get(pname))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册