Python报错:UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 1892:

在做用python做yolov3算法训练时出现如下报错:

UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 1892: surrogates not allowed

 

排查方向:

遇到这类问题只要你程序路径中加入# coding=utf-8 语句,基本上就是文件路径与实际不对和命名问题

1、检查程序中所写的路径或程序所在位置是否存在中文。

2、检查文件或图片的格式是否有误

一开始怀疑是文件读取路径有问题,

parser.add_argument("--dataset_txt", default='../data/train_data/COCO/train2017.txt')

后面检查了好几遍也没发现什么问题,后面用debug定位错误位置  

image = tf.gfile.FastGFile(image_paths[i], 'rb').read()

发现原来是读取图片路径 时出错,而读取图片的路径又藏在 train2017.txt 文件下,打开train2017.txt文件一查果然发现图片读取路径实际是不存在的,改一下图片存放路径就OK了

D:\tensorflow-yolov3-master\tensorflow-yolov3-master\data\train_data\COCO\train2017\000000558840.jpg 199.84 200.46 277.55 271.34000000000003 52 325.27 104.38 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值