您不能使用Dynet API直接执行此操作。
每个参数都有一个名称,可以用关键字参数指定。
name
. 例子:
pW = model.add_parameter((12, 12), name="W")
但是(
source
):
当从磁盘加载时,这些名称用于标识参数和集合层次结构,特别是当仅在保存的文件中加载对象的一个子集时。
…
在创建参数或子集合时,可以提供可选的信息名称。然后将提供的名称与正在运行的索引一起附加,以避免名称冲突。
因此,不能基于
ParameterCollection
对象和名称(好吧,你可以,但我不建议)。
所以当你需要的时候,通常的做法是使用字典:
import dynet as dy
def dosomething(model, params):
pW = params["W"]
pb = params["b"]
#...
def create():
model = dy.ParameterCollection()
params = {}
params["W"] = model.add_parameters((12, 12))
params["b"] = model.add_parameters((12, ))
#...
dosomething(model, params)
create()