存放培训师和所有必要组件的最佳方法是什么?
1。存储
trainer.save_checkpoint(filename, external_state={})
功能z.save(filename)
方法,每个cntk操作都有。您还可以获得z = trainer.model
。2。重装:
C.load_model(...)
。 (不要对Cntk 1中已弃用的持久命名空间感到困惑。)trainer.restore_from_checkpoint
作为例如。显示here。问题是,这个功能已经需要一个训练器对象,可能必须以与用于创建检查点的训练器相同的方式进行初始化!?我现在如何恢复进入教练使用的错误功能的标签输入?在下面的代码中,我标记了在我存储它们之后我认为必须恢复的变量。
z = C.layers.Dense(.... )
loss = error = C.squared_error(z, **l**)
**trainer** = C.Trainer(**z**, (loss, error), [mylearner], my_tensorboard_writer)
答案 0 :(得分:0)
您可以恢复您的培训师,但我实际上更愿意加载我的模型m
。原因很简单,创建一个全新的培训师要容易得多,因为您可以更轻松地更改培训师的所有其他参数。
然后,您可以从加载的模型中获取输入变量(如果您的网络只有一个输入):
input_var = m.arguments[0]
然后你需要模型的输出:
output = m(input_var)
使用目标输出target_output
定义损失函数:
C.squared_error(output, target_output)
使用您的模型和损失功能,您可以从那里重新创建您的教练,根据您的喜好设置学习率等