用apple M1 sd炼丹太费劲了,没钱换电脑,硬着头皮解决,折磨网上的大佬
apple M1 执行sd的视频/动图生成插件时报错
Apple M1执行程序报错:raise RuntimeError('Attempting to deserialize object on a CUDA 'RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
原因:CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种通用计算架构。它允许开发人员使用标准的C或C++编程语言进行并行计算,并利用NVIDIA的GPU加速计算能力。CUDA广泛应用于科学计算、机器学习、深度学习等领域,可以显著提升计算性能。
MPS(Multi-Process Service)是一种由苹果公司开发的技术,它允许在苹果的处理器(如M1芯片)上运行CUDA计算。MPS可以实现CUDA并行计算任务的管理和调度,以提高性能和效率。 针对Apple M1的电脑,由于苹果自家的处理器采用了ARM架构,而CUDA架构是由NVIDIA开发的,并且目前(截至2021年9月)尚未对ARM架构的苹果M1芯片发布官方的CUDA版本。因此,苹果M1的电脑上并不存在官方支持的CUDA库。 如果你在使用苹果M1的电脑并希望实现并行计算和GPU加速的功能,可以考虑使用其他替代方案。其中一种选择是使用Metal,这是苹果提供的低级别图形和计算API,专为苹果设备的性能和效率而设计,可以在M1芯片上获得较好的性能表现。 此外,还可以考虑使用其他基于开源技术的替代方案,如OpenCL和Vulkan。这些技术可在不同的硬件架构上运行,并提供并行计算和GPU加速的能力。你可以根据具体的需求和使用情境,选择适合的替代方案,并参考相应的文档和开发资源来进行开发和优化。
而这个错误提示表明,正在尝试在Apple M1这个没有CUDA设备的环境下加载一个在CUDA设备上训练的模型。
方案一:根据错误提示中的建议,应该使用torch.load
函数的map_location
参数将模型映射到CPU上,以适应在CPU-only的机器上执行。
示例代码如下:
python import torch
# 加载模型,并将其映射到CPU上
model = torch.load('your_model.pth', map_location=torch.device('cpu'))
# 在CPU上进行推理或其它操作 output = model(input)
将模型映射到CPU后,你可以在Apple M1上执行程序,但请注意,由于Apple M1芯片采用了不同的架构(ARM架构),部分优化可能无法直接转移到M1处理器上,可能会影响性能。因此,你可能需要对你的代码进行一些调整和优化,以在M1芯片上取得较好的性能。 另外,如果你使用的是PyTorch的其他功能或库,可能也需要检查是否有适用于ARM架构(如M1芯片)的版本,以确保兼容性和稳定性。
----更新中----
后续发具体操作和结果
另外很多sd的整合包或者图形界面程序会事先提示只有n卡可以使用,那么apple M1的电脑有以上哪些配置?
当谈到显卡和集成显卡时,我们通常会遇到以下几种类型:独立显卡(独显)、集成显卡(核显)以及带有专有加速器的专用显卡(例如 Apple M1)。
- 独立显卡(独显): 独立显卡是一种独立于主处理器的图形处理单元。它有自己的内存和处理能力,可提供更高的图形性能。独显适用于需要处理复杂图形任务的应用,如游戏、视频编辑和设计软件等。然而,由于其功耗较高,独显通常消耗较多的能量并产生热量。
- 集成显卡(核显): 集成显卡是嵌在主处理器内部的图形处理单元。它共享主处理器的内存和系统资源,成本较低且功耗较低。集成显卡适用于一般的图形任务,如日常办公、网页浏览和高清视频播放等。然而,由于其性能有限,对于处理复杂图形或需求更高性能的任务来说可能不够理想。
- 专用显卡(例如 Apple M1): Apple M1 是苹果推出的一款基于 ARM 架构的芯片,它集成了 CPU、GPU 和神经引擎等多个组件。在 M1 芯片中,集成了专用的苹果 GPU,称为 "Apple GPU"。Apple M1 的 GPU 性能相对较强,适用于图形密集型任务,如视频编辑和设计等,同时其功耗较低,有更好的能效。
Apple M1 电脑有以下配置:
- Apple M1 芯片(包括内置的 GPU、CPU 和其他组件)
- 集成显卡(Apple GPU)、独立的神经引擎等
- 通常包括 8 核心或 10 核心的 CPU
- 通常包括 7 核心或 8 核心的 GPU
- 通常具有高度优化的能源管理和性能调控功能
综上所述,独立显卡适用于处理复杂图形任务,但功耗较高;集成显卡适用于一般的图形任务,成本和功耗较低;Apple M1 的集成 GPU 在性能和能效方面表现出色,适用于图形密集型任务。选择何种类型的显卡取决于具体的应用需求和预算考虑。使用对应的emoji表情:
标签:Apple,集成显卡,M1,CUDA,GPU,sd,CPU,apple From: https://blog.51cto.com/u_16173281/8130960