【yolov5 web部署】部署过程报错解决记录!

一、pycharm导包的时候提示Unresolved reference
问题描述:在导入模块部分的时候出现了错误,写一个外部模块导入的时候居然提示unresolved reference,但是程序能正常运行没有什么问题,就是提示包部分下划线是红色,让人看着很不舒服,总感觉是不是程序出现错误了,下面给出了相应的解决方案
解决方案:选择工程文件的根目录(项目上) 单击右键 -> Mark Directory as,然后找到Sources Root,选中即可。
二、Downloading https://ultralytics.com/assets/Arial.ttf to …ubuntu18.4-YOLOv5报错[01]
问题描述:运行时会出该行,表示缺少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'):

将代码注释掉即可!
三、AssertionError: CUDA unavailable, invalid device 0 requested
这个报错是指代码要运行CUDA,但是没运行起来。
解决办法有两种。1.运行CUDA。2.不运行CUDA。
我选择不运行CUDA,因为我的web部署只用来识别图片不用来运行,解决方案如下:
点击 .\torch_utils.py 文件,传送到下图:

def select_device(device='', batch_size=None):
    # device = 'cpu' or '0' or '0,1,2,3'
    s = f'YOLOv5  {git_describe() or date_modified()} torch {torch.__version__} '  # string
    device = str(device).strip().lower().replace('cuda:', '')  # to string, 'cuda:0' to '0'
    cpu = device == 'cpu'
    if cpu:
        os.environ['CUDA_VISIBLE_DEVICES'] = '-1'  # force torch.cuda.is_available() = False
    elif device:  # non-cpu device requested
        os.environ['CUDA_VISIBLE_DEVICES'] = device  # set environment variable
        assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested'  # check availability

将最后一行的assert代码注释掉,即可解决报错!
改为:

def select_device(device='', batch_size=None):
    # device = 'cpu' or '0' or '0,1,2,3'
    s = f'YOLOv5  {git_describe() or date_modified()} torch {torch.__version__} '  # string
    device = str(device).strip().lower().replace('cuda:', '')  # to string, 'cuda:0' to '0'
    cpu = device == 'cpu'
    if cpu:
        os.environ['CUDA_VISIBLE_DEVICES'] = '-1'  # force torch.cuda.is_available() = False
    elif device:  # non-cpu device requested
        os.environ['CUDA_VISIBLE_DEVICES'] = device  # set environment variable
       # assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested'  # check availability

四、Git不装并不影响运行,不用担心!!!!
Git不装并不影响运行,不用担心!!!!
Git不装并不影响运行,不用担心!!!!

【yolov5 web部署】部署过程报错解决记录!_第1张图片

五、error: Microsoft Visual C++ 14.0 is required问题解法
这个一般是在装pycocotools出现的问题,最后一行的报错为ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects

原因:电脑缺乏C语言编译环境,我们使用的Python都是基于C语言的,又叫Cpython,所以在安装一些包时,需要C语言环境。

解决方案;
点进去官方给出的 'Get it with Microsoft Visual C++ Build Tools…'后面的网址 https://visualstudio.microsoft.com/visual-cpp-build-tools/。
进入网站后点击图片所指的位置
【yolov5 web部署】部署过程报错解决记录!_第2张图片
2.下载完成后运行安装包,进入安装选择界面,选择图片中勾选的两项【yolov5 web部署】部署过程报错解决记录!_第3张图片
安装完成后,报错即可解决!!!!

六、YOLOv5报错:AttributeError: ‘Upsample’ object has no attribute ‘recompute_scale_factor’

原因:出现该报错的原因是pytorch版本较高,不匹配,需要降版本!

解决方案:将pytorch版本降为1.9.0,torchvision版本降为0.10.0,torchaudio版本降为0.9.0
可在该网站查询所有Python安装包的历史版本 https://pypi.org/

七、Pycharm anaconda中使用base环境
在anaconda中,我们可以创建虚拟环境,但有的时候,因为没有切换环境,导致安装包全部装在了base环境中,为了方便,我们可以把运行环境切换为base,具体方法如下:

1.进入编译器,看右下角,点击图片方框中的位置
【yolov5 web部署】部署过程报错解决记录!_第4张图片
2.点击后选择方框标注的位置
【yolov5 web部署】部署过程报错解决记录!_第5张图片
3.按照图中标号顺序,先选择conda环境,再选择已存在的编译环境
【yolov5 web部署】部署过程报错解决记录!_第6张图片
4.选择anaconda目录中最外面的python.exe,这个编译器对应base,其他子文件夹的python.exe对应其他自己建的虚拟环境
【yolov5 web部署】部署过程报错解决记录!_第7张图片
5.设置完成后,即可发现环境被设立为base!

八、pip卸载安装的依赖包时报错!
如果在pycharm中,使用pip uninstall xxx时,无法将包卸载并报错时,我们选择在anaconda命令行中进行卸载。
在这里插入图片描述
进入后输入命令conda uninstall xxx(你要卸载的包的名字),进行卸载即可!!!!

九、连接测试时的相关问题!

当你将程序的前端与后端都运行起来时,可以开始进行测试
如果发现自己的前端页面只能用127.0.0.1(localhost)+端口访问,甚至不能用自己设置的以太网IP访问时,请修改app运行的host与port(设置为0.0.0.0意思是同一局域网下的所有设备都能访问该网站)
【yolov5 web部署】部署过程报错解决记录!_第8张图片
2.当你配置完app.run的host、port以及ngnix,一般来说在本地电脑使用自己设置的IP+端口就可以访问前端并正常使用了,此时你换一台与本地电脑同处一个局域网的电脑,使用之前本地电脑的IP+端口访问前端,如果可以正常访问,说明部署完毕!如果不能访问,请先去ping之前本地电脑的IP,看是否是网路问题,如果可以ping通,请回到本地部署项目的电脑,关闭其Windows防火墙,一般就可以解决之前不可访问的问题!

【yolov5 web部署】部署过程报错解决记录!_第9张图片

希望各位想完成web部署的也能早日成功!

你可能感兴趣的:(python,深度学习,pytorch)