tensorflow:有问题”tf.gfile.gfile文件使用“utf8”编解码器无法解码

2024-06-16 12:39:37 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行我的代码时,我得到这样的错误:

File "data2record.py", line 120, in <module>
    run()
  File "data2record.py", line 114, in run
    image_data, shape, bbox, label ,imname= _processing_image(wordbb, imname,coder)
  File "data2record.py", line 64, in _processing_image
    image_data = tf.gfile.GFile(FLAGS.datasets + imname, 'r').read()
  File "/home/tian/.local/lib/python3.5/site-packages/tensorflow/python/lib/io/file_io.py", line 125, in read
    pywrap_tensorflow.ReadFromStream(self._read_buf, length, status))
  File "/home/tian/.local/lib/python3.5/site-packages/tensorflow/python/lib/io/file_io.py", line 93, in _prepare_value
    return compat.as_str_any(val)
  File "/home/tian/.local/lib/python3.5/site-packages/tensorflow/python/util/compat.py", line 106, in as_str_any
    return as_str(value)
  File "/home/tian/.local/lib/python3.5/site-packages/tensorflow/python/util/compat.py", line 84, in as_text
    return bytes_or_text.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

我代码中的错误行是:

^{pr2}$

我的tensorflow是1.3,python是3.5。这段代码可以在tensorflow 1.0和python2.7中运行。为什么它不能在tensorflow 1.3和python 3.5中运行? 代码在datasets/data2中记录.py在:https://github.com/xiaodiu2010/TextBoxes-TensorFlow 有人能帮我吗?在


Tags: 代码inpyioimagehomelibpackages
1条回答
网友
1楼 · 发布于 2024-06-16 12:39:37

就像错误所说的,因为它试图将文件数据解码成unicode,但失败了。在

换行:

image_data = tf.gfile.GFile(FLAGS.datasets + imname, 'r').read()

收件人:

image_data = tf.gfile.GFile(FLAGS.datasets + imname, 'rb').read()

以二进制模式读取文件。它在Py2中工作,因为str在默认情况下是字节字符串,而在Py3中是unicode字符串,因此在文本模式下读取文件时需要解码。在

相关问题 更多 >