张量流的估计器如何加载模型的特定步骤而不是最新模型?

Sam*_*Sam 4 tensorflow

我们可以使用Estimator和保存模型的许多检查点RunConfig

classifiereval 200默认会使用最新步骤, 我可以加载ckpt-1吗?

my_checkpointing_config = tf.estimator.RunConfig(
    save_checkpoints_secs = 20*60,  # Save checkpoints every 20 minutes.
    keep_checkpoint_max = 10,       # Retain the 10 most recent checkpoints.
)
classifier = tf.estimator.DNNClassifier(
    feature_columns=my_feature_columns,
    hidden_units=[10, 10],
    n_classes=3,
    model_dir='models/iris',
    config=my_checkpointing_config)



$ ls -1 models/iris
checkpoint
events.out.tfevents.timestamp.hostname
graph.pbtxt
model.ckpt-1.data-00000-of-00001
model.ckpt-1.index
model.ckpt-1.meta
model.ckpt-200.data-00000-of-00001
model.ckpt-200.index
model.ckpt-200.meta
Run Code Online (Sandbox Code Playgroud)

xdu*_*ch0 6

两者tf.estimator.Estimator.evaluatetf.estimator.Estimator.predict有一个checkpoint_path论点。您应该能够提供到model.ckpt-1此处使用此检查点进行评估的路径。

请注意,此参数是在最近的TF更新中添加的(可能为1.7或1.8,不确定),因此,如果您使用的是过时的版本,则可能没有此参数。有一个骇人听闻的选择:在中model_dir应该有一个名为的文件checkpoint。该文件的第一行应为

model_checkpoint_path: "model.ckpt-xxxxxx"
Run Code Online (Sandbox Code Playgroud)

xxxxxx最新检查点的步骤数(在您的情况下为200)在哪里。您可以手动将此行更改为Estimator要加载的任何检查点。但是,您可能之后需要将其改回,否则,如果您想继续训练模型,可能会遇到问题。