首页 文章

UnicodeDecodeError:'utf-8' codec无法解码位置38中的字节0xff:无效的起始字节

提问于
浏览
0

我从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())

它显示了这个错误:

回溯(最近一次调用最后一次):文件“”,第2行,在data = f.read()文件“C:\ Users \ Chaine \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ tensorflow \ python \ lib \ io \ file_io.py“,第125行,读取pywrap_tensorflow.ReadFromStream(self._read_buf,length,status))文件”C:\ Users \ Chaine \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ tensorflow \ python \ lib \ io \ file_io.py“,第93行,在_prepare_value中返回compat.as_str_any(val)文件”C:\ Users \ Chaine \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ tensorflow \ python \ util \ compat.py“,第106行,在as_str_any中返回as_str(value)文件”C:\ Users \ Chaine \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ tensorflow \ python \ util \ compat.py“,第84行,在as_text中返回bytes_or_text.decode(encoding)UnicodeDecodeError:'utf-8'编解码器无法解码位置38的字节0xff:无效的起始字节

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

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

1 回答

  • 1

    Python正在尝试解码文件“output_frozen_graph_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())
    

相关问题