存储/重新加载CNTK培训器、型号、输入、输出

2024-09-28 05:28:09 发布

您现在位置:Python中文网/ 问答频道 /正文

存放教练机和所有必要部件的最佳方式是什么?在

1。存储:

  • 存储trainer的检查点:使用它的trainer.save_checkpoint(filename, external_state={})函数
  • 另外单独存储模型:使用z.save(filename)方法,每个cntk操作都有。您还可以得到z = trainer.model。在

2。重新加载:

  • 恢复模型:使用C.load_model(...)。(不要被Cntk 1中不推荐使用的persist命名空间混淆。)
  • 从恢复的模型中获取输入。在
  • 恢复训练器本身:使用trainer.restore_from_checkpoint,如图所示here。问题是,这个函数已经需要一个trainer对象,这个对象可能必须用与trainer创建检查点相同的方式初始化!?在

现在如何恢复进入培训师使用的错误功能的标签输入?在下面的代码中,我标记了变量,我认为我必须在存储它们之后恢复它们。在

z = C.layers.Dense(.... )
loss = error = C.squared_error(z, **l**)
**trainer** = C.Trainer(**z**, (loss, error), [mylearner], my_tensorboard_writer)

Tags: 对象函数模型model部件save方式error
1条回答
网友
1楼 · 发布于 2024-09-28 05:28:09

你可以恢复你的教练,但实际上我更喜欢加载我的模型m。原因很简单,创建一个全新的训练器要容易得多,因为你可以更容易地更改训练器的所有其他参数。 然后,您可以从加载的模型中获取输入变量(如果您的网络只有一个输入):

input_var = m.arguments[0]

然后需要模型的输出:

^{pr2}$

并使用目标输出target_output定义损失函数:

C.squared_error(output, target_output)

使用你的模型和损失函数,你可以重新创建你的教练,设置学习率等,你喜欢

相关问题 更多 >

    热门问题