Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 Can';用Tensorflow恢复预训练网络_Python_Tensorflow_Deep Learning_Pre Trained Model - Fatal编程技术网

Python Can';用Tensorflow恢复预训练网络

Python Can';用Tensorflow恢复预训练网络,python,tensorflow,deep-learning,pre-trained-model,Python,Tensorflow,Deep Learning,Pre Trained Model,我一直在用Tensorflow恢复预先训练好的网络 import tensorflow as tf import os os.environ['TF_CPP_MIN_LOG_LEVEL']='2' sess=tf.Session() saver = tf.train.import_meta_graph('./model/20170512-110547/model-20170512-110547.meta') saver.restore(sess,'./model/20170512-110547

我一直在用Tensorflow恢复预先训练好的网络

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

sess=tf.Session()
saver = tf.train.import_meta_graph('./model/20170512-110547/model-20170512-110547.meta')
saver.restore(sess,'./model/20170512-110547/')
我想使用经过人脸识别训练的预训练网络,然后想为迁移学习添加一些层。 (我从这里下载了模型。)

当我执行上面的代码时,它会显示错误

WARNING:tensorflow:The saved meta_graph is possibly from an older release:
'model_variables' collection should be of type 'byte_list', but instead is of type 'node_list'.
Traceback (most recent call last):
  File "/Users/user/Desktop/desktop/Python/HCR/Transfer_face/test.py", line 7, in <module>
    saver.restore(sess,'./model/20170512-110547/')
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1560, in restore
    {self.saver_def.filename_tensor_name: save_path})
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 895, in run
    run_metadata_ptr)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1124, in _run
    feed_dict_tensor, options, run_metadata)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
    options, run_metadata)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.NotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for ./model/20170512-110547/
     [[Node: save/RestoreV2_491 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_491/tensor_names, save/RestoreV2_491/shape_and_slices)]]

Caused by op u'save/RestoreV2_491', defined at:
  File "/Users/user/Desktop/desktop/Python/HCR/Transfer_face/test.py", line 6, in <module>
    saver = tf.train.import_meta_graph('./model/20170512-110547/model-20170512-110547.meta')
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1698, in import_meta_graph
    **kwargs)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/meta_graph.py", line 656, in import_scoped_meta_graph
    producer_op_list=producer_op_list)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/importer.py", line 313, in import_graph_def
    op_def=op_def)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/Users/user/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1204, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

NotFoundError (see above for traceback): Unsuccessful TensorSliceReader constructor: Failed to find any matching files for ./model/20170512-110547/
     [[Node: save/RestoreV2_491 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_491/tensor_names, save/RestoreV2_491/shape_and_slices)]]
警告:tensorflow:保存的元图可能来自旧版本:
“模型变量”集合应为“字节列表”类型,而不是“节点列表”类型。
回溯(最近一次呼叫最后一次):
文件“/Users/user/Desktop/Desktop/Python/HCR/Transfer\u face/test.py”,第7行,在
saver.restore(sess’。/model/20170512-110547/)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/training/saver.py”,第1560行,在restore中
{self.saver\u def.filename\u tensor\u name:save\u path})
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/client/session.py”,第895行,正在运行
运行_元数据_ptr)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/client/session.py”,第1124行,正在运行
feed_dict_tensor、options、run_元数据)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/client/session.py”,第1321行,运行
选项,运行(元数据)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/client/session.py”,第1340行,在_do_call中
提升类型(e)(节点定义、操作、消息)
tensorflow.python.framework.errors\u impl.NotFoundError:不成功的TensorSliceReader构造函数:找不到任何与./model/20170512-110547匹配的文件/
[[Node:save/RestoreV2_491=RestoreV2[dtypes=[DT_FLOAT],[u device=“/job:localhost/replica:0/task:0/cpu:0”]([u arg_save/Const_0_0,save/RestoreV2_491/tensor_name,save/RestoreV2_491/shape_和_切片)]]
由op u“保存/恢复2_491”引起,定义为:
文件“/Users/user/Desktop/Desktop/Python/HCR/Transfer_face/test.py”,第6行,在
saver=tf.train.import_meta_图(“./model/20170512-110547/model-20170512-110547.meta”)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/training/saver.py”,第1698行,在导入元图中
**kwargs)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/framework/meta_graph.py”,第656行,在导入范围的meta_图中
制片人名单=制片人名单)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/framework/importer.py”,第313行,在import_graph_def中
op_def=op_def)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/framework/ops.py”,第2630行,在create_op中
初始值=自身值。\默认值\初始值,初始值=初始值)
文件“/Users/user/anaconda2/lib/python2.7/site packages/tensorflow/python/framework/ops.py”,第1204行,在__
self._traceback=self._graph._extract_stack()35; pylint:disable=protected access
NotFoundError(回溯见上文):不成功的TensorSliceReader构造函数:找不到任何匹配的文件。/model/20170512-110547/
[[Node:save/RestoreV2_491=RestoreV2[dtypes=[DT_FLOAT],[u device=“/job:localhost/replica:0/task:0/cpu:0”]([u arg_save/Const_0_0,save/RestoreV2_491/tensor_name,save/RestoreV2_491/shape_和_切片)]]
我不明白为什么系统找不到预先训练过的数据。。。 目录结构如下所示

用户无MacBook Pro:Transfer\u face用户$ls-R

模型试验.py

/型号:

20170512-110547

/型号/20170512-110547:

20170512-110547.pb

型号-20170512-110547.ckpt-250000.index

型号-20170512-110547.ckpt-250000.data-00000-of-00001

model-20170512-110547.meta导入.pb文件

import tensorflow as tf
from tensorflow.python.framework import tensor_util

with tf.gfile.GFile('20170512-110547.pb', "rb") as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())

#import into default graph
tf.import_graph_def(graph_def)

#print some data
wts = [n for n in graph_def.node if n.op == 'Const']

for n in wts:
    print(tensor_util.MakeNdarray(n.attr['value'].tensor))
相关问题:


相关文档:

您需要使用ckpt路径“/model/20170512-110547/model-20170512-110547.ckpt-250000”而不是文件夹路径。

尝试旧版本的tensorflow:
保存的元图可能来自旧版本
。那个型号是用r0.12制造的谢谢。我尝试了版本0.12和1.2.0(它写在需求中)。但仍然显示相同的错误…在调用
saver.restore()
(而不是相对路径
。/model/20170512-110547/')时,尝试将完整绝对路径传递到模型目录。
)。TensorFlow的旧版本(我认为包括0.12)有一个bug,它们在某些API中不接受相对路径,但这应该在最新版本中修复。