我正在努力完善一个预先训练的盗梦空间V3网络。为了恢复最新的检查点,我遵循下面这个很好的答案:https://stackoverflow.com/a/41273348/13608754
我的代码是:
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')路径p的内容
据我所知,这应该是可行的。
错误:
我所得到的错误是来自tensorflow/python/framework/importer.py的func tensorflow/python/framework/importer.py。
tensorflow.python.framework.errors_impl.NotFoundError:操作类型未在DL-2上运行的二进制文件中注册“OptimizeDatasetV2”。确保Op和内核已在此进程中运行的二进制文件中注册。请注意,如果您正在从tf.contrib加载使用ops的已保存的图形,则应该在导入该图形之前访问(例如)
tf.contrib.resampler,因为当首次访问模块时,contrib是延迟注册的。
有人知道我该怎么做吗?如果需要更多的信息,请告诉我。
发布于 2020-10-26 19:19:57
考虑到错误,我猜想模型应该装载当前版本的TF (2.0+),但是您正在显式导入TF的遗留v1分支,您有充分的理由这样做吗?
您所引用的答案适用于TF (v1)的旧版本。在当前版本(TF 2.0+)中,要加载经过预先训练的模型,请使用模型
import tensorflow as tf
p = 'path/to/model/folder/'
model = tf.keras.models.load_model(p)(还请注意,您将路径传递到包含模型文件的文件夹)
https://stackoverflow.com/questions/64494871
复制相似问题