当前位置: 首页 > 知识库问答 >
问题:

UnicodeDecodeError:'utf-8'编解码器无法解码字节0xff在位置38:无效的开始字节

白腾
2023-03-14

我正在从Tensorflow导入我的模型,只想使用以下代码优化经过训练的模型

input_graph_def = tf.GraphDef()
with tf.gfile.Open(output_frozen_graph_name, "r") as f:
    data = f.read()
    input_graph_def.ParseFromString(data)

output_graph_def = optimize_for_inference_lib.optimize_for_inference(
        input_graph_def,
        ["input"], 
        ["y_"],
        tf.float32.as_datatype_enum)

f = tf.gfile.FastGFile("optimized_shoaib-har_agm.pb", "w")
f.write(output_graph_def.SerializeToString())

它显示了这个错误:

Traceback(最近一次调用最后一次):File",第2行,data=f.read()File"C:\用户\Chaine\AppData\本地\程序\Python\Python35\lib\site-包\tensorflow\python\lib\io\file_io.py",第125行,读取pywrap_tensorflow。_read_buf,长度,状态)文件"C:\用户\链\AppData\本地\程序\Python\Python35\lib\site-包\Tenorflow\python\lib\io\file_io.py",第93行,_prepare_value返回compat.as_str_any(val)文件"C:\用户\链\AppData\本地\程序\Python\Python35\lib\site-包\tenorflow\python\util\compat.py",第106行,as_str_any返回as_str(值)File"C:\用户\Chaine\AppData\本地\程序\Python\Python35\lib\site-包\tenorflow\python\util\compat.py",第84行,as_text返回bytes_or_text.decode(编码)UnicodeDecodeError:'utf-8'编解码器不能解码字节0xff在位置38:无效的开始字节

在它正常工作之前。我甚至已经把它导入了Android Studio。现在我突然得到了这个例外。是因为我在我的机器上安装了东西吗?

我能够在我的智能手机上安装应用程序,没有任何错误。现在它给了我错误。我使用的是相同的代码。

共有1个答案

田仲卿
2023-03-14

Python正在尝试解码文件“output\u freezed\u graph\u name”中的所有字符。不确定文件中发生了什么变化(如果以前对您有效),但很明显,某些字符与“UTF-8”不兼容。现在,它们可以是“UTF-16”或其他编解码器格式。一种方法是读取字节格式的内容,然后自己解码。请尝试阅读以下内容以检查内容:

input_graph_def = tf.GraphDef()
with tf.gfile.Open(output_frozen_graph_name, "rb") as f:
    data = f.read()
    input_graph_def.ParseFromString(data)

output_graph_def = optimize_for_inference_lib.optimize_for_inference(
        input_graph_def,
        ["input"], 
        ["y_"],
        tf.float32.as_datatype_enum)

f = tf.gfile.FastGFile("optimized_shoaib-har_agm.pb", "w")
f.write(output_graph_def.SerializeToString())
 类似资料: