gpt4 book ai didi

python - “这个”函数与从 CNTK 中的检查点恢复的函数不等价(同构)

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:41 25 4
gpt4 key购买 nike

我在 CNTK 中调用 trainer.restore_from_checkpoint 时遇到以下异常。

'This' function is not equivalent (isomorphic) to the function restored from a checkpoint.

我的恢复代码如下。这些与创建训练器并通过 trainer.save_checkpoint("trainer.dnn") 保存 trainer.dnn 的结构相同,如前所述 in this document .

def evaluate(reader, model):
criterion = create_criterion_function(model)
criterion.replace_placeholders({criterion.placeholders[0]: Input(input_dim),
criterion.placeholders[1]: Input(label_dim)})

# training config
epoch_size = 34
minibatch_size = 17

# LR schedule over epochs
lr_per_sample = [0.003]*4+[0.0015]*24+[0.0003]
lr_per_minibatch = [x * minibatch_size for x in lr_per_sample]
lr_schedule = learning_rate_schedule(lr_per_minibatch, UnitType.minibatch, epoch_size)

# Momentum
momentum_as_time_constant = momentum_as_time_constant_schedule(70)

learner = adam_sgd(criterion.parameters,
lr=lr_schedule, momentum=momentum_as_time_constant,
low_memory=True,
gradient_clipping_threshold_per_sample=15, gradient_clipping_with_truncation=True)

trainer = Trainer(model, criterion.outputs[0], criterion.outputs[1], learner)
trainer.restore_from_checkpoint("trainer.dnn")

def do_test():
reader = create_reader('Test.txt', is_training=False)
model = create_model()
evaluate(reader, model)

do_test()

最佳答案

检查点有两种方法。

  1. 模型检查点:仅对模型进行检查点,然后在恢复模型时创建新的训练器。

  2. 训练器检查点:检查将保存模型和标准函数的训练器。从检查点恢复训练师。

出现此错误的原因可能是您将一个标准函数传递给训练器,然后从具有不同函数的先前检查点进行恢复。

一些相关代码here

关于python - “这个”函数与从 CNTK 中的检查点恢复的函数不等价(同构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41783613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com