Tensorflow,恢复特定设备中的变量

标签 tensorflow

也许我的问题有点幼稚,但我确实在 tensorflow 文档中没有找到任何内容。

我有一个训练有素的 tensorflow 模型,其中的变量放置在 GPU 中。现在我想恢复这个模型并使用 CPU 进行测试。

如果我通过 'tf.train.Saver.restore` 执行此操作,如示例中所示: saver = tf.train.import_meta_graph("/tmp/graph.meta") saver.restore( session ,“/tmp/model.ckp”)

我有以下异常:

InvalidArgumentError:无法将设备分配给节点“b_fc8/b_fc8/Adam_1”:无法满足显式设备规范“/device:GPU:0”,因为在此过程中没有注册符合该规范的设备;可用设备:/job:localhost/replica:0/task:0/cpu:0

如何在CPU中恢复这些变量?

谢谢

最佳答案

使用clear_devices标志,即

saver = tf.train.import_meta_graph("/tmp/graph.meta", clear_devices=True)

关于Tensorflow,恢复特定设备中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451974/

相关文章:

tensorflow - 在 python 中保存 Keras/Sklearn 并在 tensorflow.js 中加载保存的模型

java - tensorflow : How to use speech recognition model trained in python in java

python - 按键分组 tensorflow 数据集,按键分组

Google Colab 上的 Tensorflow Tensorboard (Ngrok)

python - 使用 Tensorflow 进行 future 预测

python - 无法记录使用 Keras 构建但使用 Tensorflow 估计器训练的模型的损失

tensorflow - 如何确定我的深度学习模型需要什么类型的层?

neural-network - 线性与非线性神经网络?

python - 在预训练的 BERT 上进行微调后如何导出/保存文本分类器

tensorflow - 在离线推理(机器学习)的情况下,批处理配额是多少?