解决神经网络训练时,代码没正常结束导致内存泄露显存不足的问题

0.神经网络常见的内存泄露

  • 神经网络使用显卡加速的时候,会将数据移到显存上,很多时候如果程序没有正常结束,显存上的数据没有被清空继续占用着显存空间,再次运行程序就可能会出现显存不足的问题。

1.查看显存占用情况

  • nvidia-smi查看
bash 复制代码
Thu Nov 30 15:37:46 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.105.01   Driver Version: 515.105.01   CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| N/A   50C    P0    N/A /  N/A |    380MiB /  4096MiB |      2%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      3240      G   /usr/lib/xorg/Xorg                162MiB |
|    0   N/A  N/A      3519      G   /usr/bin/gnome-shell               26MiB |
|    0   N/A  N/A      4439      G   /usr/lib/firefox/firefox          141MiB |
|    0   N/A  N/A     10010      G   ...RendererForSitePerProcess       44MiB |
+-----------------------------------------------------------------------------+
  • 其中Process name Usage可以看见是哪个程序正在占用内存,PID是对应的编号

2.结束进程

  • 结束指定PID的进程来释放显存,比如:kill -9 10010,就可以释放由于内存泄露占用的空间了。
相关推荐
Watermelo61710 分钟前
从DeepSeek大爆发看AI革命困局:大模型如何突破算力囚笼与信任危机?
人工智能·深度学习·神经网络·机器学习·ai·语言模型·自然语言处理
Donvink12 分钟前
【DeepSeek-R1背后的技术】系列九:MLA(Multi-Head Latent Attention,多头潜在注意力)
人工智能·深度学习·语言模型·transformer
计算机软件程序设计18 分钟前
深度学习在图像识别中的应用-以花卉分类系统为例
人工智能·深度学习·分类
北_鱼1 小时前
支持向量机(SVM):算法讲解与原理推导
算法·机器学习·支持向量机
終不似少年遊*4 小时前
词向量与词嵌入
人工智能·深度学习·nlp·机器翻译·词嵌入
IT古董5 小时前
【漫话机器学习系列】100.L2 范数(L2 Norm,欧几里得范数)
人工智能·机器学习
B站计算机毕业设计超人6 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
夏莉莉iy6 小时前
[MDM 2024]Spatial-Temporal Large Language Model for Traffic Prediction
人工智能·笔记·深度学习·机器学习·语言模型·自然语言处理·transformer
pchmi7 小时前
CNN常用卷积核
深度学习·神经网络·机器学习·cnn·c#
pzx_0017 小时前
【机器学习】K折交叉验证(K-Fold Cross-Validation)
人工智能·深度学习·算法·机器学习