在没有 NVIDIA GPU 的情况下使用 CUDA? [复制]

Posted

技术标签:

【中文标题】在没有 NVIDIA GPU 的情况下使用 CUDA? [复制]【英文标题】:Use CUDA without an NVIDIA GPU? [duplicate] 【发布时间】:2021-09-28 20:40:22 【问题描述】:

我们可以在没有 NVIDIA 显卡的情况下使用 SimpleTransformers 和 FineTune 他们的预训练模型吗?就像我安装了 CUDA 一样,它仍然显示:

model = NERModel('bert', 'bert-base-uncased',labels=label,args =args)
~/my_env/lib/python3.8/site-packages/simpletransformers/ner/ner_model.py in __init__(self, model_type, model_name, labels, weight, args, use_cuda, cuda_device, onnx_execution_provider, **kwargs)
    281                     self.device = torch.device(f"cuda:cuda_device")
    282             else:
--> 283                 raise ValueError(
    284                     "'use_cuda' set to True when cuda is unavailable."
    285                     "Make sure CUDA is available or set use_cuda=False."

ValueError: 'use_cuda' set to True when cuda is unavailable. Make sure CUDA is available or set use_cuda=False.

【问题讨论】:

这是我第一次在新问题上传后的 5 分钟内看到 3 个答案。 @AbhishekPrajapat 好吧,显然您是 SO 新手,欢迎!当一个问题的答案如此微不足道时,您可以放心地期待很多人竞相寻找答案。 "set use_cuda=False" 听起来像是非常合理的建议。你试过了吗? 【参考方案1】:

来自Wikipedia: CUDA(Compute Unified Device Architecture 的缩写)是由 Nvidia 创建的并行计算平台和应用程序编程接口 (API) 模型。

答案很可能不会。

【讨论】:

【参考方案2】:

CUDA 是 NVidia 创建的一个进程,专门用于加速其显卡上的计算。如果您使用的是非 Nvidia 显卡,它将无法正常工作(除非有一些非常奇怪的模拟器等)。如果你有 AMD 这样的卡,还有其他类似的选项,即OpenCl,根据你的情况可能会也可能不会。

【讨论】:

NVIDIA CUDA 的 AMD 对应物称为 ROCm。 @PaulG。我的理解是 OpenCL 可以与各种 GPU 一起使用,并且也可以与 AMD 一起使用?至少似乎有驱动力。 我的评论是作为附录的。我没有使用过 ROCm 或 OpenCL,但我猜 ROCm 将具有更多专门针对 AMD GPU 的功能,就像 CUDA 针对 NVIDIA GPU 的功能一样。我会说,选择哪一个取决于上下文。【参考方案3】:

很遗憾,您不能在没有 Nvidia 显卡的情况下使用 CUDA。 CUDA 是由 Nvidia 开发的框架,它允许拥有 Nvidia 显卡的人在深度学习方面使用 GPU 加速,而没有 Nvidia 显卡则无法实现这一目的。

话虽如此,您可能可以挖掘文档并查看是否可以将 use_cuda=False 指定为参数。这应该可以让您使用 CPU 微调模型,但请注意,这将比在 GPU 上训练花费的时间要长得多。

编辑:也许您可以尝试以下方法:

model = NERModel('bert', 'bert-base-cased', use_cuda=False)

这应该允许您在 CPU 上进行微调。

【讨论】:

以上是关于在没有 NVIDIA GPU 的情况下使用 CUDA? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Linux下监视NVIDIA的GPU使用情况(转)

在没有物理 NVidia GPU 卡的虚拟机上运行 CUDA

如何使用软件实现在没有 GPU 的情况下运行 CUDA?

Linux下查看NVIDIA的GPU使用情感

nvidia 怎样用命令看gpu

Linux下监视GPUCPU的使用情况