当前位置: 首页 > news >正文

【Pytorch】【MacOS】14.m1芯片使用mps进行深度模型训练

读者要先自行安装python以及anaconda,并且配置pytorch环境

第一步 测试环境

import torch
# 判断macOS的版本是否支持
print(torch.backends.mps.is_available())
# 判断mps是否可用
print(torch.backends.mps.is_built())
  • 如果第一个语句为False,说明当前MacOS的版本不够,需要升级到12.3版本及以上,且安装了arm64原生Python
  • 如果第二个语句为Fasle,代表还没有安装nightly版本的Pytorch

第二步 安装nightly版本的Pytorch

conda install pytorch torchvision torchaudio -c pytorch-nightly

安装完成后使用

print(torch.backends.mps.is_built())

进行验证是否可以使用mps进行训练

当两项都为True的时候,在进行下面的步骤

第三步 使用GPU进行训练

代码演示为自定义的CIFAR10数据集的训练 可以参考【Pytorch】13.搭建完整的CIFAR10模型
首先我们先要引入设备

# 配置GPU为mps
device = torch.device("mps")

然后我们需要在三处添加为gpu训练

  • 神经网络对象
  • 损失函数
  • DataLoader中的数据
# 3.创建神经网络
model = CIFAR10Model().to(device)# 4.设置损失函数与梯度下降算法
loss_fn = nn.CrossEntropyLoss().to(device)for data in train_loader:# 训练基本流程inputs, labels = data# 加入gpu训练inputs, labels = inputs.to(device), labels.to(device)with torch.no_grad():for data in test_loader:# 测试集流程inputs, labels = datainputs, labels = inputs.to(device), labels.to(device)

分别在上面四处进行修改
就可以实现m1芯片来进行gpu训练

性能对比

M1 mac CPU训练

在这里插入图片描述

batch_size=64的情况下每训练100次的时间

M1 mac GPU训练

在这里插入图片描述
batch_size=64的情况下每训练100次的时间

我们可以看到使用GPU的速度在本模型中还是比CPU快不少的

参考文章

炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了
【MacOS】MacBook使用本机m1芯片GPU训练的方法(mps替代cuda)

http://www.lryc.cn/news/352948.html

相关文章:

  • go学习笔记-从圣经中抄录的接口值的思考
  • ICML 2024 时空数据(Spatial-Temporal)论文总结
  • 多线程(C++11)
  • HLS入门
  • 电信光猫的USB存储对外网开放访问
  • 世界上首位AI程序员诞生,AI将成为人类的对手吗?
  • 什么是创造力?如何判断自己的创造力?
  • Elasticsearch集群搭建学习
  • 数据库(vb.net+OleDB+Access)简易学生信息管理系统
  • Android 自定义图片进度条
  • 对话:用言语构建深刻的思想碰撞
  • Linux完整版命令大全(九)
  • solidworks画螺栓学习笔记
  • 【Spark】加大hive表在HDFS存的每个文件的大小
  • 2024 年 5 个 GO REST API 框架
  • socket地址理解
  • Gopeed的高级用法
  • OpenHarmony系统使用gdb调试init
  • 【SpringCloud】Spring Cloud基本介绍
  • 全域运营是本地生活服务的新模式吗?
  • 机器视觉-硬件
  • 机器学习实验 --- 逻辑回归
  • 浅谈C++函数
  • 6.小程序页面布局 - 账单明细
  • 记录ES7.X更新数据的低级错误
  • 【简单介绍下链表基础知识】
  • leetcode 2915.和为目标值的最长子序列的长度
  • 欧拉函数、快速幂、扩展欧几里得算法、中国剩余定理和高斯消元
  • 自定义原生小程序顶部及获取胶囊信息
  • yolov8推理由avi改为mp4