一、问题描述
YoloV5模型运行,下载长时间显示以下信息,并停滞
代码语言:javascript复制Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/Arial.Unicode.ttf to /root/.config/Ultralytics/Arial.Unicode.ttf...
在配置YOLOv5或其他深度学习项目时遇到关于字体文件(如Arial.Unicode.ttf
)的下载错误,通常不是直接由YOLOv5本身引起的,而是可能由项目依赖的某个库或工具(如matplotlib、Pillow等)在尝试渲染文本或图表时需要的字体文件缺失所导致
二、原因分析
许多程序或者软件,往往需要特定的字体文件来确保文本的正确显示,为了简化安装和配置过程,有些代码会在安装或首次运行时自动下载所需的依赖项。在这个场景中,yolov5检测到缺少Arial.Unicode.ttf字体文件,并决定从GitHub的ultralytics/assets仓库中下载它。
然而可能遇到github连接不稳定或者网络问题,导致以上问题
三、解决方案
两种解决方案,一种是去下载对应字体文件,另一种是去配置系统已有字体。
3.1、下载对应字体文件
既然因为网络下载不到这个字体,我们可以直接通过本地下载这个.ttf字体:
然后将这个.ttf字体复制到刚刚信息提示的对应位置:/root/.config/Ultralytics/Arial.Unicode.ttf
可以使用mv指令存到linux系统的字体位置中,如:
代码语言:javascript复制mv Arial.Unicode.ttf /root/.config/Ultralytics/
1
3.2、配置为系统已有字体
打开utils文件夹,打开general.py文件:
其中,大概在第583行,会有一行代码为:
代码语言:javascript复制check_font("Arial.ttf" if is_ascii(data["names"]) else "Arial.Unicode.ttf", progress=True) # download fonts
1
可以将Arial.ttf替换为系统已有的字体,当然也可以把这行代码注释掉,这样系统也会自动调用默认字体。
如果上述步骤都不能解决问题,查看YOLOv5或matplotlib的官方文档和社区论坛,看看是否有其他人遇到并解决了类似的问题。