在没有 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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章