码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 判断 Mac显卡 mps 是否可以正常运行


    文章目录

      • Mac MPS介绍
      • 判断 Mac mps 是否可以正常运行
      • Mac 指定 mps 进行推理示例
      • Mac M1 GPU 训练 相比 CPU 速度提升对比
      • 📙 开心搬砖每一天

    1-0

    Mac MPS介绍

    使用 Apple 的 Metal Performance Shaders (MPS) 作为 PyTorch 的后端来启用加速 GPU 训练。 MPS 后端扩展了 PyTorch 框架,提供了在 Mac 上设置和运行操作的脚本和功能。 MPS 使用针对每个 Metal GPU 系列的独特特性进行微调的内核来优化计算性能。 新设备将机器学习计算图和基元映射到 MPS 提供的 MPS Graph 框架和优化内核上。

    随着PyTorch v1.12版本的发布,开发人员和研究人员可以利用 Apple 的GPU进行明显更快的模型训练,在部分模型的训练上往往比Mac 的 CPU有着数倍的提升。

    • (Mac M1芯片为了追求高性能和节能,在底层设计上使用的是一种叫做arm架构的精简指令集,不同于Intel等常用CPU芯片采用的x86架构完整指令集。所以有些基于x86指令集开发的软件不能直接在Mac M1芯片电脑上使用。)
    • 需要注意的是,使用Mac M1芯片加速 pytorch 不需要安装 cuda后端,因为cuda是适配nvidia的GPU的,Mac M1芯片中的GPU适配的加速后端是mps,在Mac对应操作系统中已经具备,无需单独安装。只需要安装适配的pytorch即可。

    判断 Mac mps 是否可以正常运行

    直接在 shell 窗口执行代码,输出为 True 则说明 可以正常运行

    python -c "import torch;print(torch.backends.mps.is_built())"
    
    • 1

    或者写在一个代码中执行:

    import torch
    import math
    
    print(torch.backends.mps.is_available())
    # True
    print(torch.backends.mps.is_built())
    # True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Mac 指定 mps 进行推理示例

    在Mac M1下的GPU称作mps,它类似于Nvidia的cuda。如果你想在Mac M1下使用GPU进行深度学习的训练,只需要将运算指定到mps上运行即可。

    import torch
    model = torch.nn.Linear(5,1).to('mps')
    x = torch.randn(5).to('mps')
    y = model(x)
    print(y.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 如上代码所示,该代码首先定义了一个最简单5x1的线性模形,并告诉Pytorch它在Mac M1的GPU上运行;
    • 然后给该模形创建一个输入,该输入也是在GPU上,是一个5x5的tensor,最后输出运算结果的维度。
    • 如果上面的代码可以正常运行,说明你Mac上的GPU确实可以正常工作。
    • 本章节参考博文: https://avdancedu.com/eaff035c/

    Mac M1 GPU 训练 相比 CPU 速度提升对比

    Apple M1 Ultra, 20-core CPU, 64-core GPU 128GB of RAM, and 2TB SSD. Tested with macOS Monterey 12.3, prerelease PyTorch 1.12, ResNet50 (batch size=128), HuggingFace BERT (batch size=64), and VGG16 (batch size=64).

    • 详情参考链接

    6-0


    📙 开心搬砖每一天


    • 🎉 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
    • ❤️ 过去的每一天、想必你也都有努力、祝你披荆斩棘、未来可期
    • 🍊 深度学习模型训练推理——基础环境搭建推荐博文查阅顺序【基础安装—认真帮大家整理了】
    • 🍊 计算机视觉:硕博士,交流、敬请查阅
    • 🍊 点赞 👍 收藏 ⭐留言 📝 都是博主坚持写作、更新高质量博文的最大动力!

    9-9

  • 相关阅读:
    Ra-08透传固件应用
    寻找两个正序数组中的中位数
    【mechine learning-六-supervise learning之线性回归模型】
    通过语言模型奖励实现视频大型多模态模型的直接偏好优化
    改进BERT的中文评论情感分类模型
    基于WOA的VMD超参数优化
    [Power Query] 日期和时间处理
    NLP自然语言处理学习笔记(九)(转自咕泡AI)
    Mathcad的使用与设计
    将输入的字符串中小写字母改为大写字母
  • 原文地址:https://blog.csdn.net/sinat_28442665/article/details/131212986
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号