栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【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不装并不影响运行,不用担心!!!!

五、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/。
进入网站后点击图片所指的位置

2.下载完成后运行安装包,进入安装选择界面,选择图片中勾选的两项
安装完成后,报错即可解决!!!!

六、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.进入编译器,看右下角,点击图片方框中的位置

2.点击后选择方框标注的位置

3.按照图中标号顺序,先选择conda环境,再选择已存在的编译环境

4.选择anaconda目录中最外面的python.exe,这个编译器对应base,其他子文件夹的python.exe对应其他自己建的虚拟环境

5.设置完成后,即可发现环境被设立为base!

八、pip卸载安装的依赖包时报错!
如果在pycharm中,使用pip uninstall xxx时,无法将包卸载并报错时,我们选择在anaconda命令行中进行卸载。

进入后输入命令conda uninstall xxx(你要卸载的包的名字),进行卸载即可!!!!

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号