python-3.x - 变形金刚:ResourceExhaustedError:分配内存失败 [Op:AddV2]
问题描述
我正在尝试使用使用转换器库的文本生成模型。我特别关注HuggingFace的教程,但我遇到了内存问题。
问题:
下载模型时出现问题:
model = TFGPT2LMHeadModel.from_pretrained("gpt2", pad_token_id=tokenizer.eos_token_id)
这会导致以下错误:
ResourceExhaustedError: failed to allocate memory [Op:AddV2]
我尝试了什么:
我使用两个数据块集群(一个 CPU,另一个 GPU)来运行它。为了确保 GPU 可用,我使用了以下命令:
tf.test.is_gpu_available()
输出:
True
为了检查 NVIDIA-SMI,我运行了以下命令:
!nvidia-smi
输出:
Fri Sep 24 18:11:37 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| 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 Tesla V100-SXM2... Off | 00000000:00:1E.0 Off | 0 |
| N/A 39C P0 172W / 300W | 16140MiB / 16160MiB | 73% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
除了检查内存,我还尝试了其他一些“更轻”的模型,而不是“gpt2”,例如“distilgpt2”。
我在问什么:
我知道它内存不足。我不知道是什么原因或下一步该做什么。
我对内存、GPU 和 CPU 的了解不够,因为它们与深度学习模型有关。任何关于我可以做些什么来解决这个问题的指导,或者我接下来可以检查的内容将不胜感激!
谢谢!
解决方案
推荐阅读
- javascript - 使用 javascript 验证用户输入
- css - 保持纵横比但从不溢出视口的 CSS 响应框
- node.js - NodeJs Promises - 尝试在等待的同时运行异步
- r - abs(x) 中的错误:ggplot2 中数学函数的非数字参数
- c# - 默认初始化任务
- node.js - 有没有办法将我的数据库表(如 MySQL)分享给公众?
- sql-server - 链接服务器“Servername”的零星 OLE DB 提供程序“SQLNCLI11”返回消息“没有处于活动状态的事务”。和链接服务器
- java - 参数不匹配;lambda 表达式的无效函数描述符
- reactjs - React-js:在条件渲染中加载了短暂错误的 div
- amazon-s3 - 带有委托人的动态 AWS IAM 策略文档