【深度学习】如何在PyToch中查看是否存在mps(针对M系列芯片)

【深度学习】如何在PyToch中查看是否存在mps(针对M系列芯片)

mps 设备支持使用 Metal 编程框架的 MacOS 设备在 GPU 上进行高性能训练。它引入了一种新的设备,用于分别在高效的 Metal Performance Shaders Graph 框架和 Metal Performance Shaders 框架提供的调优内核上映射机器学习计算图和基元。

新的 MPS 后端扩展了 PyTorch 生态系统,并提供了现有的脚本功能,用于在 GPU 上设置和运行操作。

要开始使用,只需将 Tensor 和 Module 移动到 mps 设备:

# Check that MPS is available
if not torch.backends.mps.is_available():
    if not torch.backends.mps.is_built():
        print("MPS not available because the current PyTorch install was not "
              "built with MPS enabled.")
    else:
        print("MPS not available because the current MacOS version is not 12.3+ "
              "and/or you do not have an MPS-enabled device on this machine.")

else:
    mps_device = torch.device("mps")

    # Create a Tensor directly on the mps device
    x = torch.ones(5, device=mps_device)
    # Or
    x = torch.ones(5, device="mps")

    # Any operation happens on the GPU
    y = x * 2

    # Move your model to mps just like any other device
    model = YourFavoriteNet()
    model.to(mps_device)

    # Now every call runs on the GPU
    pred = model(x)

我根据我所训练的模型,将其更改:

def try_gpu():  #@save
    """如果存在,则返回gpu(i),否则返回cpu()"""
    if not torch.backends.mps.is_available():
        if not torch.backends.mps.is_built():
            print("MPS not available because the current PyTorch install was not "
                  "built with MPS enabled.")
            mps_device = torch.device("cpu")
        else:
            print("MPS not available because the current MacOS version is not 12.3+ "
                  "and/or you do not have an MPS-enabled device on this machine.")
            mps_device = torch.device("cpu")

    else:
        mps_device = torch.device("mps")
### Mac 支持深度学习环境配置 对于希望在 Mac 上开展深度学习工作的用户而言,好消息是 Mac 完全可以支持此类任务。然而需要注意的是,由于苹果自研芯片(M1, M2 及后续型号)与英特尔架构之间的差异,在不同类型的 Mac 设备上设置深度学习环境会有所不同。 #### 苹果硅 (Apple Silicon) 和 Intel 架构下的区别 - 对于基于 Apple Silicon 的 Mac 机器来说,TensorFlow 已经官方提供了针对 ARM 架构优化过的二进制文件[^1]。 - PyTorch 社区也积极跟进并发布了适用于 macOS 平台上的版本,包括对苹果自家 GPU 加速的支持。 #### 使用 Anaconda 配置环境 为了简化依赖管理和隔离项目需求,推荐通过 Anaconda 来创建独立的工作空间: ```bash # 创建一个新的 Python 虚拟环境用于 TensorFlow 或者 PyTorch 开发 conda create --name dl_env python=3.9 ``` 一旦建立了特定的虚拟环境,则可以在其中安全地安装所需的库而不会影响系统的其他部分。 #### 安装 TensorFlow 和 PyTorch ##### TensorFlow CPU 版本安装 ```bash pip install tensorflow-macos ``` 这一步骤将自动处理所有必要的依赖关系,并确保兼容性最佳的选择被下载下来。 ##### PyTorch 安装 PyTorch 提供了一个方便的一键式命令来获取最新稳定版: ```bash pip install torch torchvision torchaudio ``` 值得注意的是,尽管目前大多数情况下还是建议采用 CPU-only 方式的模型训练,因为 Metal Performance Shaders (MPS),即苹果提供的图形处理器接口,正在逐步获得更好的框架集成和支持程度不断提升中。 #### MPS加速 随着技术进步,现在越来越多的深度学习框架开始加入对 MPS API 的原生支持,这意味着即使是没有 NVIDIA 显卡的情况下也可以利用内置显卡来进行一定程度上的硬件加速运算。不过具体性能表现取决于所使用的算法复杂度以及数据集规模等因素的影响。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值