- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 TensorFlow eager 模式下训练了一个 CNN 模型。现在,我正在尝试从检查点文件恢复经过训练的模型,但没有取得任何成功。
我发现的所有示例(如下所示)都在谈论将检查点恢复到 session 。但我需要的是将模型恢复到急切模式,即不创建 session 。
with tf.Session() as sess:
# Restore variables from disk.
saver.restore(sess, "/tmp/model.ckpt")
基本上我需要的是:
tfe.enable_eager_execution()
model = tfe.restore('model.ckpt')
model.predict(...)
然后我可以使用该模型进行预测。
有人可以帮忙吗?
更新
可以在以下位置找到示例代码:mnist eager mode demo
我尝试按照@Jay Shah 的回答中的步骤进行操作,它几乎成功了,但恢复的模型中没有任何变量。
tfe.save_network_checkpoint(model,'./test/my_model.ckpt')
Out[58]:
'./test/my_model.ckpt-1720'
model2 = MNISTModel()
tfe.restore_network_checkpoint(model2,'./test/my_model.ckpt-1720')
model2.variables
Out[72]:
[]
原始模型中有很多变量。:
model.variables
[<tf.Variable 'mnist_model_1/conv2d/kernel:0' shape=(5, 5, 1, 32) dtype=float32, numpy=
array([[[[ -8.25184360e-02, 6.77833706e-03, 6.97569922e-02,...
最佳答案
Eager Execution 仍然是 TensorFlow 中的一项新功能,并没有包含在最新版本中,因此并非所有功能都受支持,但幸运的是,从保存的检查点加载模型是受支持的。
您需要使用 tfe.Saver 类(它是 tf.train.Saver 类的薄包装),您的代码应如下所示:
saver = tfe.Saver([x, y])
saver.restore('/tmp/ckpt')
其中 [x,y] 表示您希望恢复的变量和/或模型列表。这应该与最初创建创建检查点的保存程序时传递的变量精确匹配。
关于python - TensorFlow 急切模式 : How to restore a model from a checkpoint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47852516/
我在 eventhub 中遇到了 Blob 存储检查点问题。如果我在获取消费者客户端时没有设置 checkpoint_store,我的应用程序运行正常。每当我尝试设置 checkpoint_store
当它说时,辅助名称节点检查点每小时(fs.checkpoint.period 以秒为单位)或如果编辑日志已达到 64 MB(fs.checkpoint.size 以字节为单位)则更早?究竟是什么意思?
我正在运行 PostgreSQL 服务器并将 shared_buffers 限制为 4GB。 当我在数据库中插入大量记录时,检查点进程开始消耗 RAM。即使在一天后,此过程既不会结束也不会减少 RAM
我已经用 sc.setCheckpointDir 设置了检查点目录方法。 /checkpointDirectory/ 然后我创建了一个 rdd 的检查点:rdd.checkpoint()在目录中,我现
我建立了自己的卷积神经网络,在其中跟踪所有可训练变量的移动平均值(tensorflow 1.0): variable_averages = tf.train.ExponentialMovingAver
我们有一个强大的 Postgres 服务器(64 核,384 GB RAM,16 个 15k SAS 驱动器,RAID 10),并且在一天中我们多次重建几个写入密集型的大型数据集。 Apache 和
我需要以编程方式获取不依赖于目录列表和文件扩展验证的现有检查点列表,如果您键入: tf.train.get_checkpoint_state('checkpoints') 您可以看到已打印此列表,但我
我一直在到处寻找这个问题的答案,但无济于事。我希望能够运行我的代码并将变量存储在内存中,以便我可以设置一个“检查点”,我可以在将来运行它。原因是我有一个相当昂贵的函数,它需要一些时间来计算(以及用户输
作为我的问题的序言,让我提供一些背景信息:我目前正在研究一个包含许多不同步骤的数据管道。每一步都可能出错,而且很多都需要一些时间(不是很多,但在几分钟的数量级)。 因此,管道目前受到人工的严格监督。分
本文整理了Java中org.apache.flink.runtime.checkpoint.ZooKeeperCompletedCheckpointStore类的一些代码示例,展示了ZooKeeper
本文整理了Java中org.apache.flink.runtime.checkpoint.ZooKeeperCheckpointIDCounter类的一些代码示例,展示了ZooKeeperCheck
本文整理了Java中org.apache.flink.runtime.checkpoint.ZooKeeperCheckpointRecoveryFactory类的一些代码示例,展示了ZooKeepe
根据 this question和我读过的文档,Spark Streaming 的 foreachRDD(someFunction) 将让 someFunction 本身仅在驱动程序进程中执行,但如果
我正在使用简单的猫与狗数据集在 Google Colab 上尝试新添加的 TPU 支持。 在创建了一个简单的 CNN 之后,我尝试将模型导出到 TPU。但它因错误而失败 TypeError: Chec
我正在尝试在tensorflow-serving中使用重新训练的inception-v3模型。但看来我必须提供一个“检查点”。我想知道如何获得这些“检查点”? retrain.py 返回一个 retr
所以我有一个基于 census tutorial 的 ML 引擎包我尝试使用 --min-eval-Frequency 标志每 N 个步骤执行一次评估,但我不断在 stackdriver 日志中收到消
我可以通过以下方式在检查点( https://www.tensorflow.org/beta/guide/checkpoints#manually_inspecting_checkpoints )中保
我刚刚在 IndoorAtlas 上进行了分析,并使用 ios SDK 尝试了示例应用程序。当我四处走动时,我在创建的平面图中更新了我的位置。 我想知道当我到达我在楼层内创建检查点的位置时应该如何接收
我正在训练一个 tensorflow 模型,在每个 epoch 之后我保存模型状态并 pickle 一些数组。到目前为止,我的模型做了 2 个时期,保存状态的文件夹包含以下文件: checkpoint
您好,我正在尝试运行一个经常因 StackoverflowError 而失败的长 sparkjob。该作业读取一个 parquetfile 并在 foreach 循环中创建一个 rdd。在做了一些研究
我是一名优秀的程序员,十分优秀!