我想用 yolov8 训练我的模型,但开始训练后出现此错误:
ultralytics/datasets/lollipop/Untitled.ipynb 的内核似乎已死亡。它将自动重新启动。
我有 GTX 1650,内存为 4GB,这是我的代码:
import torch
from ultralytics import YOLO
# Load the model
model = YOLO('yolov8s.pt')
# Train the model
results=model.train(data='data.yaml', epochs=100, imgsz=640, device=0, perspective=0.001, degrees=15, fliplr=0, batch=4)
我想训练,但我不知道这是什么原因。
“内核似乎已死亡”错误通常表明的代码耗尽了可用的 GPU 内存。这在深度学习中很常见,尤其是在使用像 YOLOv8 这样需要大量内存的模型和 GTX 1650 等内存有限的 GPU 时。
以下是一些解决此问题的步骤:
1. 减少批量大小:
-
代码中的批量大小设置为 4。尝试将其减小到 2 或 1。这将减少每次迭代加载到 GPU 内存中的数据量。
python results = model.train(data='data.yaml', epochs=100, imgsz=640, device=0, perspective=0.001, degrees=15, fliplr=0, batch=2)
2. 减少图像大小:
-
正在使用 640x640 的图像大小 (
imgsz=640
)。尝试将其减小到 512x512 或更低。python results = model.train(data='data.yaml', epochs=100, imgsz=512, device=0, perspective=0.001, degrees=15, fliplr=0, batch=4)
3. 使用混合精度训练 (
--amp
):
-
混合精度使用 16 位和 32 位浮点数进行训练,从而减少内存使用并加快训练速度。
python results = model.train(data='data.yaml', epochs=100, imgsz=640, device=0, perspective=0.001, degrees=15, fliplr=0, batch=4, amp=True)
4. 关闭其他正在运行的程序:
- 关闭任何不必要的程序以释放系统 RAM 和 GPU 内存。
5. 考虑使用更小的 YOLOv8 模型:
-
YOLOv8s 是一个小型号,但仍然可以尝试使用
yolov8n
(nano)等更小的型号,该型号需要的内存更少。python model = YOLO('yolov8n.pt')
6. 如果可能,使用具有更多 VRAM 的 GPU:
- 如果可能,请考虑使用具有更多 VRAM 的 GPU,例如 RTX 3060 或更高版本。
通过尝试这些建议,应该能够减少训练期间的内存使用量并解决“内核似乎已死亡”错误。
标签:python,jupyter-notebook,pytorch,yolov8,ultralytics From: 78802761