1、报错一
SyntaxError: Non-UTF-8 code starting with '\xb5' in file E:\Robot\YOLO\camera.py on line 1, but no encoding declared;
这个错误通常表示 Python 解释器在尝试解析文件时遇到了非 UTF-8 编码的字符。在这种情况下,解释器会尝试使用默认的 UTF-8 编码来解析文件,但是发现文件中存在不符合 UTF-8 格式的字符(比如\xb5),因此抛出了 SyntaxError。
解决方法
在 Python 文件的开头添加一个如下的编码声明,告诉解释器文件中所使用的编码格式
# -*- coding: utf-8 -*-
2、报错二
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 1004.59 MiB already allocated; 1.23 GiB free; 1.01 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
解决方法
可能是默认的参数较大,减小批次和线程数,代码或命令行中添加或修改成以下语句:
batch=2,workers=0
3、报错三
OSError: [WinError 1455] 页面文件太小,无法完成操作。
解决方法
一般利用报错二的解决方法即可,如果不能解决,可以参考以下文章的方案三:
【解决方案】OSError: [WinError 1455] 页面文件太小,无法完成操作。
注:方案三中的选择的磁盘是项目所在的磁盘。
4、报错四
博主一开始是通过终端输入指令来进行训练的,出现如下报错:
SyntaxError: 'v5loader' is not a valid YOLO argument.
'fl_gamma' is not a valid YOLO argument.
'image_weights' is not a valid YOLO argument.
表示在使用 YOLO 检测器时,提供了不支持的参数或者参数拼写错误。
解决方法
在项目中写一个train.py,修改其中的路径即可,代码如下:
# -*- coding: utf-8 -*-
from ultralytics import YOLO
import torch
if __name__ == '__main__':
# 加载预训练模型,在该模型基础上,训练目标检测的模型
model=YOLO('yolov8n.pt')
#训练自定义数据集,数据配置保存在data.yaml中
model.train(data='datasets/phoneandmouse/data.yaml',epochs=500,batch=2,workers=0)
#使用验证集验证效果
model.val()
5、报错五
RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublasCreate(handle)`
解决方法
(1)没有安装CUDA
(2)可能是因为 CUDA 库未正确初始化导致的,可以尝试在程序开始时显式地初始化 CUDA,如:
import torch
torch.cuda.init()
(3)可能是因为 CUDA 运行时版本与 PyTorch(或其他使用 CUDA 的库)不匹配导致的。尝试升级或降级 CUDA 运行时版本,以与你使用的库版本匹配。