Yolov5安装运行过程中出现的问题

安装问题

在这里插入图片描述

报错:gnutls_handshake() failed: The TLS connection was non-properly terminated.

1、在git内重置proxy

git config --global --unset http.proxy
git config --global --unset https.proxy

2、在cmd内执行ipconfig/flushdns 清理DNS缓存

ipconfig/flushdns

参考链接

pip 安装 requirements.txt

pip install -r requirements.txt 的作用是从一个文本文件 requirements.txt 中安装所需的 Python 包。一般情况下,项目提供者会在 requirements.txt 文件中列出所有项目所依赖的 Python 包及其版本号,使用这个命令可以方便地安装这些依赖并满足项目运行的需要。

具体地,pip install 是 Python 模块管理器 pip 提供的安装命令,-r requirements.txt 表示从 requirements.txt 文件中读取依赖信息进行安装。这个命令会自动安装依赖的 Python 包,如果依赖的包已经安装了,或者是已经安装了版本符合要求的包,则不会进行重复安装
pip 安装 requirements.txt

cmd下如何退出python?

1.使用Ctrl+Z快捷键
在cmd命令行窗口中运行Python程序时,可以使用Ctrl+Z快捷键来退出Python。具体步骤如下:

(1)在cmd命令行窗口中输入python命令,进入Python交互式环境。

(2)在Python交互式环境中输入任意Python语句,例如print(“Hello, World!”)。

(3)按下Ctrl+Z快捷键,即可退出Python交互式环境。

这种方法简单快捷,适用于需要临时测试Python代码的情况。但是,当Python程序中存在死循环等无法终止的情况时,这种方法可能会失效。

2.使用quit()函数

Python中提供了quit()函数,可以用来退出Python交互式环境。具体步骤如下:

(1)在cmd命令行窗口中输入python命令,进入Python交互式环境。

(2)在Python交互式环境中输入quit()函数,即可退出Python交互式环境。

这种方法适用于需要频繁进入和退出Python交互式环境的情况。但是,当Python程序中存在死循环等无法终止的情况时,这种方法可能会失效。

3.使用sys.exit()函数

Python中的sys模块提供了exit()函数,可以用来退出Python程序。具体步骤如下:

(1)在cmd命令行窗口中输入python命令,进入Python交互式环境。

(2)在Python交互式环境中输入import sys语句,导入sys模块。

(3)在Python交互式环境中输入sys.exit()函数,即可退出Python程序。

这种方法适用于需要在Python程序中主动退出程序的情况。但是,当Python程序中存在死循环等无法终止的情况时,这种方法可能会失效。

4.使用Ctrl+C快捷键

在cmd命令行窗口中运行Python程序时,可以使用Ctrl+C快捷键来强制退出Python程序。具体步骤如下:

(1)在cmd命令行窗口中输入python命令,进入Python交互式环境或运行Python程序。

(2)按下Ctrl+C快捷键,即可强制退出Python程序。

这种方法适用于需要强制退出Python程序的情况。但是,强制退出可能会导致Python程序未能正常执行完毕,从而造成数据丢失等问题,应该尽量避免使用。

总结:

以上就是cmd下如何退出Python的几种方法。不同的方法适用于不同的情况,应根据具体情况选择合适的方法。在编写Python程序时,应尽量避免出现死循环等无法终止的情况,从而保证程序能够正常退出。

升级numpy

嗯,如何升级numpy的版本,这是个很火的问题

解决方案如下

在命令下输入pip install -U numpy 就可以升级numpy包了

pip install --upgrade numpy 这样也可以
如果您已经

拥有旧版本的NumPy,请使用以下命令:

1
pip install numpy --upgrade
如果仍然无法正常运行,请尝试:

1
pip install numpy --upgrade --ignore-installed

protobuf版本过高

Namespace(weights=‘yolov5s.pt’, source=‘data/images’, img_size=640, conf_thres=0.25, iou_thres=0.45, device=‘’, view_img=False, save_txt=False, save_conf=False, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project=‘runs/detect’, name=‘exp’, exist_ok=False)
requirements: protobuf<3.20,>=3.9.2 not found and is required by YOLOv5, attempting auto-update…

If you cannot immediately regenerate your protos, some other possible workarounds are:

Downgrade the protobuf package to 3.20.x or lower.
Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
这是由于安装tensorflow的时候,安装依赖包protobuf的版本过高造成的。
卸掉后再重新装一个指定版本的就行了。

pip uninstall protobuf
pip install protobuf==3.19.0

原文链接:https://blog.csdn.net/weixin_47464132/article/details/127671596

AttributeError: Can’t get attribute ‘SPPF’ on <module ‘models.common’ from '地址

在这里插入图片描述
产生了这个报错,我从其他博客里找到了解决办法,是在 common.py 文件中添加SPPF类

class SPPF(nn.Module):
    # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher
    def __init__(self, c1, c2, k=5):  # equivalent to SPP(k=(5, 9, 13))
        super().__init__()
        c_ = c1 // 2  # hidden channels
        self.cv1 = Conv(c1, c_, 1, 1)
        self.cv2 = Conv(c_ * 4, c2, 1, 1)
        self.m = nn.MaxPool2d(kernel_size=k, stride=1, padding=k // 2)

    def forward(self, x):
        x = self.cv1(x)
        with warnings.catch_warnings():
            warnings.simplefilter('ignore')  # suppress torch 1.9.0 max_pool2d() warning
            y1 = self.m(x)
            y2 = self.m(y1)
            return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))


找不到图片

在这里插入图片描述
原因:路径含有中文

NameError: name ‘warnings’ is not defined

warrings会标红,记得 import warnings
在这里插入图片描述

AttributeError: ‘Upsample’ object has no attribute ‘recompute_scale_factor’

在这里插入图片描述

yolov5s.pt文件的版本问题,代码中默认下载最新版本

在这里插入图片描述
这个我猜可能是预训练权重yolov5s.pt]的问题,因为小土堆是5.0的工程,代码中默认下载的是最新的模型,所以与实际的version5.0不匹配
所以我又去下载了一个,然后把 yolov5s.pt 给覆盖掉了,这个错误就消失了

附上下载链接:https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
其实就是version5的release界面,往下拉

https://github.com/ultralytics/yolov5/releases/tag/v5.0
在这里插入图片描述

参考链接

运行ji.py

在这里插入图片描述

测试结果不太对劲
在这里插入图片描述
应该是跟许纳区的图片有关,重新选一张图片进行检测
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

train.py

YOLOv5出现ImportError: cannot import name ‘scale_coords’ from 'utils.general’错误的解决办法

可直接将’scale_coords’替换为’scale_boxes’函数

同时将

from utils.general import scale_coords

替换为

from utils.general import scale_boxes

在7.0版本中scale_coords改名为scale_boxes,代码中修改即可。
改个名就好
原文链接

AttributeError: module ‘numpy’ has no attribute ‘int’.np.int was a deprecated alias for the builtin int.

在这里插入图片描述

在这里插入图片描述
把np.int改成int就好
我是傻的der,要全部改掉!
为啥要用np.int啊,直接int不好吗!

RuntimeError: result type Float can’t be cast to the desired output type __int64

改错改累了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
https://zhuanlan.zhihu.com/p/594643806?utm_id=0

train.py运行

在这里插入图片描述
在这里插入图片描述
终于成功了TT
啊哈
在这里插入图片描述
感人,撑住了一个epoch
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值