Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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:负载节省模型:UnicodeDecodeError_Python_Tensorflow - Fatal编程技术网

Python Tensorflow:负载节省模型:UnicodeDecodeError

Python Tensorflow:负载节省模型:UnicodeDecodeError,python,tensorflow,Python,Tensorflow,我有一个由另一个人创建的Tensorflow模型,我想从中创建一个冻结图 我拥有的文件: +--- name.txt +--- saved_model.pb +--- variables | +--- variables.data-00000-of-00001 | +--- variables.index 因此,在的帮助下,我完成了以下代码: import tensorflow as tf import os pwd = os.getcwd() toolsFilepath = os.

我有一个由另一个人创建的Tensorflow模型,我想从中创建一个冻结图

我拥有的文件:

+--- name.txt
+--- saved_model.pb
+--- variables
|   +--- variables.data-00000-of-00001
|   +--- variables.index
因此,在的帮助下,我完成了以下代码:

import tensorflow as tf
import os

pwd = os.getcwd()
toolsFilepath = os.path.dirname(tf.__file__)+"/python/tools"
modelFolder = [PATH_TO_MODEL]
networkArcFile = "saved_model.pb"
networkWeightsFile = "variables/variables.data-00000-of-00001"
outputFolder = pwd+"/output/"+networkArcFile+".modelzoo"

args = "--input_graph="+modelFolder+"/"+networkArcFile+"\
        --input_checkpoint="+modelFolder+"/"+networkWeightsFile+"\
        --output_graph="+outputFolder

os.system(toolsFilepath+"/freeze_graph.py "+args)
但当我这样做时,我得到了错误:

Traceback (most recent call last):
  File "[MY_PATH]\lib\site-packages\tensorflow\python\tools\freeze_graph.py", line 491, in <module>
    run_main()
  File "[MY_PATH]\lib\site-packages\tensorflow\python\tools\freeze_graph.py", line 488, in run_main
    app.run(main=my_main, argv=[sys.argv[0]] + unparsed)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\platform\app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "[MY_PATH]\lib\site-packages\absl\app.py", line 300, in run
    _run_main(main, args)
  File "[MY_PATH]\lib\site-packages\absl\app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "[MY_PATH]\lib\site-packages\tensorflow\python\tools\freeze_graph.py", line 487, in <lambda>
    my_main = lambda unused_args: main(unused_args, flags)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\tools\freeze_graph.py", line 381, in main
    flags.saved_model_tags, checkpoint_version)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\tools\freeze_graph.py", line 340, in freeze_graph
    input_graph_def = _parse_input_graph_proto(input_graph, input_binary)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\tools\freeze_graph.py", line 253, in _parse_input_graph_proto
    text_format.Merge(f.read(), input_graph_def)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 132, in read
    pywrap_tensorflow.ReadFromStream(self._read_buf, length, status))
  File "[MY_PATH]\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 100, in _prepare_value
    return compat.as_str_any(val)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\util\compat.py", line 107, in as_str_any
    return as_str(value)
  File "[MY_PATH]\lib\site-packages\tensorflow\python\util\compat.py", line 80, in as_text
    return bytes_or_text.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 3: invalid start byte
回溯(最近一次呼叫最后一次):
文件“[MY_PATH]\lib\site packages\tensorflow\python\tools\freeze_graph.py”,第491行,在
运行_main()
文件“[MY\u PATH]\lib\site packages\tensorflow\python\tools\freeze\u graph.py”,第488行,在run\u main中
app.run(main=my_main,argv=[sys.argv[0]]]+未解析)
文件“[MY_PATH]\lib\site packages\tensorflow\python\platform\app.py”,第40行,正在运行
_运行(main=main,argv=argv,flags\u parser=\u parse\u flags\u tolerate\u unde)
文件“[MY_PATH]\lib\site packages\absl\app.py”,第300行,正在运行
_运行_main(main,args)
文件“[MY_PATH]\lib\site packages\absl\app.py”,第251行,在运行主目录中
系统出口(主(argv))
文件“[MY\u PATH]\lib\site packages\tensorflow\python\tools\freeze\u graph.py”,第487行,在
my_main=lambda unused_args:main(unused_args,flags)
文件“[MY\u PATH]\lib\site packages\tensorflow\python\tools\freeze\u graph.py”,第381行,在main中
flags.saved_model_标记,checkpoint_版本)
文件“[MY_PATH]\lib\site packages\tensorflow\python\tools\freeze_graph.py”,第340行,在freeze_graph中
input_graph_def=_parse_input_graph_proto(input_graph,input_binary)
文件“[MY_PATH]\lib\site packages\tensorflow\python\tools\freeze_graph.py”,第253行,在_parse_input_graph_proto中
text_format.Merge(f.read(),input_graph_def)
文件“[MY\u PATH]\lib\site packages\tensorflow\python\lib\io\File\u io.py”,第132行,已读
pywrap_tensorflow.ReadFromStream(self._read_buf,length,status))
文件“[MY\u PATH]\lib\site packages\tensorflow\python\lib\io\File\u io.py”,第100行,在\u prepare\u值中
返回compat.as_str_any(val)
文件“[MY_PATH]\lib\site packages\tensorflow\python\util\compat.py”,第107行,如所示
返回为_str(值)
文件“[MY\u PATH]\lib\site packages\tensorflow\python\util\compat.py”,第80行,格式为文本
返回字节或文本。解码(编码)
UnicodeDecodeError:“utf-8”编解码器无法解码位置3中的字节0x83:无效的开始字节
此错误的原因可能是什么?我如何解决它

注:

  • 我使用的是tensorflow 1.13.1和Python 3.6
在调用
冻结图.py时,尝试使用
--input\u binary=true
,类似UnicodeDecodeError的建议:“utf8”编解码器无法解码字节。。。问题很可能您的
保存的\u model.pb
是二进制文件。

当我使用
--input\u binary=true
时,我收到了另一条错误消息。但我认为这是一个很好的解决方案,这只是另一个问题(即使它发生在
freeze\u graph.py
中的同一条指令上)。现在,我有一个错误
google.protobuf.message.DecodeError:error解析消息