在user2陪过的v5.0环境下训练,Arial.ttf会自动下载,但是无法下载,因此报错。
解决方法:
在文件yolov5/utils/plots.py中,以下代码
class Annotator:
if RANK in (-1, 0):
check_font() # download TTF if necessary
# YOLOv5 Annotator for train/val mosaics and jpgs and detect/hub inference annotations
def __init__(self, im, line_width=None, font_size=None, font='Arial.ttf', pil=False, example='abc'):
改为
class Annotator:
#if RANK in (-1, 0):
#check_font() # download TTF if necessary
# YOLOv5 Annotator for train/val mosaics and jpgs and detect/hub inference annotations
def __init__(self, im, line_width=None, font_size=None, font='', pil=False, example='abc'):
这好像是系统一种字体的缺失,需要下载,但是服务器上下载不了,直接引掉代码就行
如果在之后运行的时候,会出现报错:
UnicodeEncodeError: 'ascii' codec can't encode character '\U0001f680' in position 99: ordinal not in
解决步骤:
- 命令前添加:
PYTHONIOENCODING=utf-8
例如:PYTHONIOENCODING=utf-8 python train.py
-
在报错的文件开头添加 import sys
import importlib
importlib.reload(sys)
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
代码上传命令
scp yolov5-master.zip userx@xx.xx.xxx.xxx:username
服务器配置
需要先更新
apt update
apt list --upgradable
apt upgrade
之后按照要求更新一下pip,在执行yolov5主目录下requirements.txt文件中的 pip install -r requirements.txt
没问题就可以执行python train.py ,本人出现了报错:
from .cv2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
解决方法
sudo apt install libgl1-mesa-glx
|