炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了

2023-11-13

 
 

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

来源 | 量子位(QbitAI)

编辑 | 丰色、发自、凹非寺

一直以来,Pytorch在Mac上仅支持使用CPU进行训练。

就在刚刚,Pytorch官方宣布,其最新版v1.12可以支持GPU加速了。

只要是搭载了M1系列芯片的Mac都行。

855b277f8e94e8586c0d3a23ec594cc5.png

这也就意味着在Mac本机用Pytorch“炼丹”会更方便了!

训练速度可提升约7倍

此功能由Pytorch与Apple的Metal工程团队合作推出。

它使用Apple的Metal Performance Shaders(MPS) 作为PyTorch的后端来启用GPU加速训练。

为了优化计算性能,MPS还针对Metal GPU系列的独特特性对每个内核进行了微调。

Metal是一个类似OpenGL的框架,只不过OpenGL适用于各平台的移动端GPU渲染和计算,Metal专用于iOS/MacOS平台,不过也兼顾了性能和易用性。

MPS就是一套基于Metal框架的库,直接调用即可使用GPU的高性能进行图形处理、构建卷积神经网络等工作。

330be572549882091d4a79aaa6e2a5dc.png

苹果官方在搭载了M1 Ultra、20核CPU、64核GPU、128GB RAM和2TB SSD的Mac Studio上进行了测试。

(这阵容差不多能算是豪华配置了)。

他们分别训练了batch size为128的ResNet50、batch size为64的HuggingFace BERT,以及batch size=64的VGG16

从下图中我们可以发现,相比使用CPU加速,使用GPU可将模型训练速度提高约7倍,评估(evaluation)速度则最高能提约20倍。

bdf2cb301683c15db8a5f987645a887d.gif

看到这儿,有网友开始好奇它与搭载了Nvidia GPU的laptop相比性能如何。

15d53a77cd7d58a5609c9cd0c6dacd20.png

有人表示,虽说目前M1的原始计算性能比不上英伟达的产品,但功耗方面还不错。未来苹果很有可能慢慢追上性能。

总的来说,Mac Studio现在看起来实在太香了

他进一步解释道:

“毕竟它是你花4800美元就能买到的最便宜、包含128GB GPU内存的机器。现在有了基于GPU加速的PyTorch支持,完全可以用来训练大模型、配置大的batch size。

对于我所做的那种DL工作,数据加载比实际的原始计算能力更容易成为瓶颈。”

3cdb4e333a62151bf270643b18e5178e.png

你心动了吗?

现在就试试?

只需保证你的macOS操作系统在12.3版本及以上,且安装了arm64原生Python,然后去官网下载最新的Pytorch预览版就可以了。

efd0dfac23c19ccf4f0d23d65fed8f0a.png

地址:
https://pytorch.org/blog/introducing-accelerated-pytorch-training-on-mac/

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了 的相关文章

  • 最近打开的应用程序[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有什么方法可以获取最近打开的应用程序 例如 4 个 的列表吗 如果是这样 怎么办 可可麦克 看看LaunchServices LSSh
  • 一个好的8086模拟器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 mac 有没有 8086 模拟器 如果是 哪个是最好的 除非您需要真正的原始 8086 带有自定义操作系统 否则您应该尝试 DosBox
  • 在没有预览窗口的情况下使用 AVCaptureVideoDataOutputSampleBufferDelegate

    我正在开发一个基于 Swift 的 macOS 应用程序 我需要捕获视频输入 但不将其显示在屏幕上 而不是显示视频 我想将缓冲的数据发送到其他地方进行处理 并最终显示它在 a 中的一个物体上SceneKit scene 我有一个Camera
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • 核心数据 iCloud 同步中的关系完整性和验证

    考虑以下简单的实体模型 实体 A 与实体 B 具有一对一关系 称为b 实体 B 具有逆对一关系 称为a 这两种关系都不是可选的 A B b lt gt a 假设我们有两个设备 1 和 2 开始完全同步 每个对象都有一个 A 类对象和一个 B
  • 为什么有时 npm install 在 mac 上不起作用?

    我在运行命令时创建了nodejs项目npm 安装它因一些错误而失败 同一个项目正在进行中ubuntu系统但是当我克隆这个代码时mac系统并尝试运行 npm install 它失败并出现一些错误 我认为 scrypt 模块有问题 但我不知道确
  • 如何获取 CIFilter 类中的过滤器名称列表?

    我正在使用以下代码进行曝光调整及其工作 我需要锐化 降噪 高光 色温 阴影 模糊等滤镜名称 CIFilter filterWithName CIExposureAdjust keysAndValues inputImage imageVie
  • 如何在 MAMP 上显示错误?

    我有 MAMP 但我不知道如何在其上显示错误 当我的 php 代码出现错误时 它只显示空白页 我在 Google 上搜索过 我发现我必须在所有文件夹和版本上将其更改为 display errors on 并将其包含在我的页面上 错误报告 E
  • Qt:更改 Mac OS X 上的应用程序 QMenuBar 内容

    我的应用程序对多个 页面 使用 QTabWidget 其中顶级菜单根据用户所在的页面而变化 我的问题是 尝试重新创建菜单栏的内容会导致严重的显示问题 它在除 Mac OS X 之外的所有平台上按预期使用第一种和第三种样式 尚未测试第二种 但
  • Android Studio 无法运行 Xcode 模拟器

    我正在尝试使用 Xcode iPhone 模拟器模拟我的 Flutter 应用程序 但收到此错误 在升级 Android Studio 和 Xcode 之前 它运行良好 Launching lib main dart on iPhone X
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • 安装 python 3 的包

    我倾向于在 Jupyter 笔记本中运行我的代码 这些代码在 python 3 中运行 我的计算机上也有 python 2 我安装了pip3所以我可以专门为 python 3 安装软件包 但这似乎不适合我 mba pip3 install
  • 与大多数其他 OS X 应用程序相比,我到底应该传递什么给 -[NSApp activateIgnoringOtherApps:] 才能让我的应用程序“自然”启动?

    当我学习如何自己启动 NSApplications 时 我使用的代码 基于here https bitbucket org rsc plan9port src 18c38bf29b0b8eb3ffd0afb44d22f9bfcda8bc58
  • Mac 应用程序商店 - 尝试让加密发挥作用。 。 。我缺少什么?

    我正在尝试使用 Alan Quartermain 的解决方案 如该问题所链接 Mac App Store 收据验证码 https stackoverflow com questions 4261348 mac app store recei
  • 命令行工具中的框架问题

    在每个人开始向我扔其他堆栈溢出和论坛帖子之前 我把它们都看了 他们都没有帮忙 我有一个简单的 cmd 工具 名为swizzler并想要嵌入SwizzleSrc其中的框架 我已经遵循了所有教程并且堆栈溢出但没有运气 这就是我得到的 Build
  • 如何在气隙 Mac 上安装新的 Apple 全球开发者关系中级证书?

    您可能知道也可能不知道 现在使用新的中间证书生成新的签名证书 你可以在这里读到它 https developer apple com support wwdr intermediate certificate https developer
  • Cornerstone 与 Mac OS X 版本 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • MAC OS 的 java.awt.Robot 类中出现无头环境错误

    我正在尝试使用 JavaFX 应用程序捕获屏幕截图Robot class 这是我在我的应用程序中使用的代码 Rectangle screenBounds new Rectangle Screen getPrimary getBounds g
  • 使用c#在mac上启动外部进程

    我成功地使用 System Diagnostics Process Start 在 Windows 上启动我的外部单声道可执行文件 然而在mac上却失败了 我没有收到任何错误 只是什么也没发生 我尝试按以下方式进行操作 System Dia
  • 在 Python 的 Textmate 中突出显示尾随空格?

    我想做类似的事情this http remysharp com 2008 03 30 trailing white space in textmate Textmate 提示 这样当我在 Python 中编写代码时 尾随空白总是以某种方式突

随机推荐

  • 苹果手机10秒解除锁屏_忘记苹果锁屏密码10秒解决 音量键选择wipedata/

    导读 谈到苹果 大家应该都不陌生 有人问忘记手机密码了怎么办 另外 还有朋友想问oppo忘记图案解锁怎么办 这到底怎么回事呢 其实锁屏密码是四位数密码呢 下面是小编精心为你们整理的忘记苹果锁屏密码10秒解决 欢迎大家一起来阅读 忘记苹果锁屏
  • Android 获取当前应用的版本号和当前系统的版本号

    1 获取当前程序版本名 我们可以在AndroidManifest xml中设置程序的版本号等 如android versionName 1 0 那如果想在代码中获取这个版本号呢 可以用如下方法 这些修改版本号时只需要修改AndroidMan
  • 离线安装mariadb

    离线安装mariadb 文章目录 离线安装mariadb 一 下载Rpm包 二 按顺序安装依赖 galera安装 安装mariadb相关 三 安全配置 四 配置权限 五 通过navicat测试 一 下载Rpm包 前往MariaDB官网选择所
  • 如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?

    http www zhihu com question 22790506 answer 81787300 f3fb8ead20 ea27429f8cbe31fd9183a68ccb41caa7 from timeline isappinst
  • uni——传参出现问题[object Object],[object Object]

    案例说明 后台需要的参数样式 goods lists good id 5 num 11 good id 9 num 3 good id 10 num 34 按照此格式传参发现 解决办法 出现 object Object 的原因通常是因为在将
  • linux 端口转发 udp,Linux Socat TCP/UDP端口转发及使用

    socat是不支持端口段转发 只适用于单端口或者少量端口 如果需要大量端口考虑使用 iptables 或 haproxy haproxy 只能转发TCP Socat安装 Centos 系统 yum install y socat Debia
  • 2023新能源汽车行业薪酬报告

    导读 数据表明 虽然受疫情封控等多重不利因素影响 但新能源汽车产业依然活力强劲 2022年 新能源汽车产销数据分别为 705 8 万辆和 688 7 万辆 同比增长分别为 96 9 和 93 4 连续 8 年保持全球第一 此外 新能源汽车市
  • C语言考试题目(一)

    一 单项选择题 本大题共25小题 每题2分 共50分 1 C语言的源程序通常的扩展名是 A cpp B obj C exe D c 2 下列选项中 属于多行注释 A B C D 3 以下不合法的字符常量是 A ab B 2 C A D n
  • bootstrap 框架学习笔记

    2019独角兽企业重金招聘Python工程师标准 gt gt gt http getbootstrap com 在这个上面下载bootstrap 为什么使用 Bootstrap 移动设备优先 自 Bootstrap 3 起 框架包含了贯穿于
  • Linux下SUDO出现Unable to resolve host XXX解决方法

    转载 Ubuntu环境 假设这台机器名字叫abc 机器的hostname 每次执行sudo 就出现这个警告讯息 sudo unable to resolve host abc 虽然sudo 还是可以正常执行 但是警告讯息每次都出来 而这只是
  • SAP调用HTTP和HTTPS

    HTTPS https archive sap com discussions thread 482084 Note 510007 SAP Kernel版本为721 SAP ECC 6 0 SAP BASIS700 调用公司的https还是
  • 常见hash加密及判定

    常见hash加密及判定 unix系系统 ES Unix 例子 IvS7aeT4NzQPM 说明 Linux或者其他linux内核系统中 长度 13 个字符 描述 第1 2位为salt 例子中的 Iv 位salt 后面的为hash值 系统 M
  • Xshell 执行python脚本

    XShell支持使用VB JS Python脚本去启动自动化任务 这里介绍如何写Xshell的Python脚本 首先要在脚本中定义一个Main 函数 Xshell会调用这个函数 也就是程序的入口 然后 通过官方提供的API去完成脚本的书写
  • 无线通信与编码_MATLAB实现OFDM载波频偏估计_含仿真代码

    为了解决频率选择性衰落信道引起的失真 OFDM系统在正交子载波上并行传输消息数据 然而 只有正交性得到保持时 OFDM才能够发挥其优势 在正交性得不到保持的情况下 系统会因为ISI和ICI而下降 总的来说 与载波信号相关的畸变有两种 一种是
  • 三个线程循环打印ABC

    思路 1 定义两个信号量 A的默认个数为1 B的默认值为0 一个用于打印A 一个用于打印B 2 A线程获取到信号量A后打印 A 打印完后释放一个信号量B 让B可以打印 3 B线程获取到信号量B后打印 B 打印完后释放一个信号量A 让A可以打
  • OpenCV教程——形态学操作。膨胀,腐蚀,开操作,闭操作,形态学梯度,顶帽,黑帽

    1 形态学操作 图像形态学操作 基于形状的一系列图像处理操作的合集 主要是基于集合论基础上的形态学数学 形态学有四个基本操作 膨胀 腐蚀 开 闭 2 膨胀与腐蚀 2 1 膨胀 跟卷积操作类似 假设有图像A和结构元素B 结构元素B在A上面移动
  • 微信小程序app.js onLaunch异步,首页onLoad先执行

    本来按照事件顺序 小程序初始化时触发App里的onLaunch 后面再执行页面Page里的onLoad 但是在onLaunch里请求授权信息本就为异步执行 等待返回值的时候Page里的onLoad事件就已经执行了 app js 代码 app
  • Java 并发编程

    目录 回顾线程 并发编程 并发编程 Java 内存模型 JMM 编程核心问题 可见性 原子性 有序性 可见性 有序性 原子性 valatile 关键字 CAS Compare And Swap 比较并交换 原子类 java中的锁 乐观锁 悲
  • JS逆向学习---简单的rsa

    今日目标 aHR0cHM6Ly9jbi5mYXdteC5jb20vaG9tZS9yZWdpc3Rlcg 登录接口有一个加密参数 也就是密码加密值 就是今天的小目标 直接搜索 只有一个js文件有结果 第一个便是加密位置 很明显 是把明文密码传
  • 炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 来源 量子位 QbitAI 编辑 丰色 发自 凹非寺 一直以来 Pytorch在Mac上仅支持使用CPU进行训练 就在刚刚 Pytorch官方宣布 其最新版v1 12可以