Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在tensorflow中还原检查点时出现问题(op类型未注册错误)_Python_Tensorflow_Deep Learning - Fatal编程技术网

Python 在tensorflow中还原检查点时出现问题(op类型未注册错误)

Python 在tensorflow中还原检查点时出现问题(op类型未注册错误),python,tensorflow,deep-learning,Python,Tensorflow,Deep Learning,我正试图调整一个预先训练好的《盗梦空间》V3网络。 为了恢复最新的检查点,我下面给出一个很好的答案: 我的代码是: 路径的内容p: model.ckpt.index 型号.ckpt.data-00000-of-00001 model.ckpt.meta 据我所知,这应该行得通 错误: 我遇到的错误是来自tensorflow/python/framework/importer.py的funcc\u api.TF\u graphimportgraphdeffithresults: tensorf

我正试图调整一个预先训练好的《盗梦空间》V3网络。 为了恢复最新的检查点,我下面给出一个很好的答案:

我的代码是: 路径的内容
p
  • model.ckpt.index
  • 型号.ckpt.data-00000-of-00001
  • model.ckpt.meta
据我所知,这应该行得通

错误: 我遇到的错误是来自
tensorflow/python/framework/importer.py
的func
c\u api.TF\u graphimportgraphdeffithresults

tensorflow.python.framework.errors\u impl.NotFoundError:Op type not 在DL-2上运行的二进制文件中注册了“OptimizeDatasetV2”。确保 Op和内核都注册在这个数据库中运行的二进制文件中 过程请注意,如果您正在加载使用ops的已保存图形 从tf.contrib,访问(例如)
tf.contrib.resampler
应该是 在导入图形之前完成,因为contrib操作是延迟注册的 首次访问模块时


有人知道我该怎么做吗?如果需要更多信息,请告诉我。

查看错误,我的猜测是该模型应该加载当前版本的TF(2.0+)但您正在显式导入TF的旧版本v1分支,您有理由这样做吗

您引用的答案适用于TF(v1)的旧版本。在当前版本(TF 2.0+)中,要加载预训练模型,请使用:


(还请注意,您将路径传递到包含模型文件的文件夹)

Hi,我尝试运行您的脚本,其中
p
既是存储文件的文件夹(model.ckpt…files),也是文件的路径本身。所有操作都失败:“SavedModel文件不存在于:/home/yonatan/Desktop/models/wes/model.index/{saved_model.pbtxt | saved_model.pb}”是的,我没有意识到您显示的文件名实际上与TensorFlow v1检查点匹配。你知道训练给定模型的TF版本吗?我会安装相同的版本,然后再试一次。如果你不知道,我会试试最新的TF1.x版本。
import tensorflow.compat.v1 as tf
with tf.Session() as sess:
    saver = tf.train.import_meta_graph(f'{p}/model.ckpt.meta')
    saver.restore(sess, f'{p}/model.ckpt')
import tensorflow as tf

p = 'path/to/model/folder/'
model = tf.keras.models.load_model(p)