3no*_*mis 7 pytorch tensor google-colaboratory
我正在尝试在启用 GPU 的情况下在 Google Colab 上初始化张量。
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
t = torch.tensor([1,2], device=device)
Run Code Online (Sandbox Code Playgroud)
但我收到了这个奇怪的错误。
RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1
即使将该环境变量设置为 1 似乎也没有显示任何进一步的细节。
有人遇到过这个问题吗?
使用 Transformers Trainer时遇到同样的问题。就我而言,问题是由模型输入和分词器长度大小不匹配引起的。这就是为我解决问题的方法:
model.resize_token_embeddings(len(tokenizer))
Run Code Online (Sandbox Code Playgroud)
添加token时导致不匹配pad:
tokenizer.add_special_tokens({'pad_token': '<pad>'})
Run Code Online (Sandbox Code Playgroud)
小智 6
虽然我尝试了你的代码,但它没有给我一个错误,但我可以说通常调试 CUDA 运行时错误的最佳实践:像你这样的设备端断言是将协作转换为 CPU 并重新创建错误。它会给你一个更有用的回溯错误。
大多数情况下,CUDA 运行时错误可能是导致某些索引不匹配的原因,例如您尝试在具有 15 个标签的数据集上训练具有 10 个输出节点的网络。这个 CUDA 错误的问题是一旦你得到这个错误一次,你会在你使用 torch.tensors 执行的每个操作中收到它。这会强制您重新启动笔记本。
我建议你重新启动你的笔记本,通过移动到 CPU 来获得更准确的回溯,并检查你的其余代码,特别是如果你在某处的一组目标上训练模型。
| 归档时间: |
|
| 查看次数: |
10000 次 |
| 最近记录: |