tensorflow 讀取圖片錯誤(error UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0 )的解析

在用tensorflow 自帶的讀取文件gfile模塊中,調用API,如:

filename = directory + DIRECTORY_IMAGES + name + '.jpg'
image_data = tf.gfile.FastGFile(filename, 'rb').read()

常出現:error UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0錯誤。

根本原因爲:python3中的讀取模式‘r’,'rb'存在較大差異,採用'r'模式文件python 解釋器認爲該文件內容爲UTF-8的文本格式,但錯誤提示則提示該文件爲二進制格式(通常圖片所採用的格式),因此修改打開模式爲‘rb’即可解決,如下:

image_data = tf.gfile.FastGFile(filename, 'rb').read()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章