文章开始书写时间:2022-03/19-14:30

0x00​:引子

最近云哥 @吃货本货 问小宋(笔者)如何在Apple的M1芯片进行深度学习开发,恰逢最近M1开发生态都趋于稳定,就把安装步骤梳理下分享出来。

0x01:分析

开始正式安装前,先对步骤进行梳理,方便后续安装。

简单分析下:

目的是在M1平台开发深度学习,需要以下几个必备因素:

  • 编辑器:VSCode,跨平台最佳编程工具,不接受反驳。你要反对,就算你对。(再透露一个小秘密:其实好多大厂也是用VSCode开发哦:)

  • 开发语言:不二之选-Python,这里版本采用Python3.8,最新深度学习框架依赖。

  • 深度学习框架:TensorFlow与PyTorch,这里安装两个最流行的框架,读者们按照自己需求安装就好。

配置环境其实有点像打游戏,需要不断通过升级。

下面就需要针对这几个因素逐个击破:

  • VSCode:目前正式版本已支持M1,网址在这:Visual Studio Code February 2022

  • Python3.8:笔者习惯用conda安装和管理Python,尤其爱用Miniconda(精简版Anaconda),需要用到什么包自己安装就好。目前Miniconda也支持M1芯片了,可以在这里下载:Miniconda — Conda documentation

  • TensorFlow与PyTorch:好巧不巧的,这两个框架正式版也都支持了M1芯片。TensorFlow步骤:Tensorflow Plugin - Metal - Apple Developer,PyTorch步骤:Previous PyTorch Versions | PyTorch

0x02:实操

如果你是一个开发经验丰富的人,看到这里就可以结束,根据上述分析开始安装了(如果出错了再看下方的不迟),下面教程是写给小白用户,手把手教学哒。

1、VSCode安装

首先打开网址:Visual Studio Code February 2022,如果打不开,那可能需要科学上网,如果还不会,那就放弃吧,真的做开发需要一点天赋和努力的,对了还有一点英语阅读技能。

打开以后,点击红色框内(Mac,救命,这里指的是苹果MacOS,可不是口红,手动狗头:)的绿色链接网址下载(表示Arm版MacOS的软件)。

下完成后解压双击打开即可,如果遇到需要确认的信息就点击确认下。

此时VSCode就完成了,是不是很简单,下面要开始一些有难度的了。还是一样的规劝,实在搞不定就放弃的,别在这个领域卷了,如果没有选择就好好努力吧。

2、Python安装

这里采用的Miniconda(精简版Anaconda)下载地址:Miniconda — Conda documentation

打开后找到绿色位置,点击链接下载。

要注意下,这次下载的是.sh文件,不是安装包,不可直接点击傻瓜式安装。

需要借助”终端“工具执行安装

在启动台搜索”终端“,点击打开”终端“:

下面就开始执行Miniconda安装脚本,首先你要搞清楚刚刚下载的.sh文件保存到了那里,一般默认放在Downloads文件夹下(如果不是的话,需要找一下实际位置),执行以下脚本即可开始安装:

bash Downloads/Miniconda3-latest-MacOSX-arm64.sh

随后执行遇到需要确认的地方回车和输入”yes“确认,即可完成安装Miniconda。

完成,打开一个新的”终端“,在里面输入

conda -V

如果输出正常,那么Miniconda就安装成功了,如果显示”command not found“,那么你可能需要配置一下路径。

Python环境的安装就不如VSCode那么简单轻松了,不过恭喜你走到了这一步。

行百里者,半九十也。我们也迎来了最后一步安装TensorFlow与PyTorch,打完这两个boss,今天的游戏就通关啦。

3、TensorFlow与PyTorch安装

参考TensorFlow步骤:Tensorflow Plugin - Metal - Apple Developer,PyTorch步骤:Previous PyTorch Versions | PyTorch

首先我们先使用新建一个Python3.8环境,”终端“输入:

conda create -n py38 python=3.8

这句翻译为文字就是,使用conda新建(conda create)名为(-n)py38(py38)的环境,指定python版本为3.8(python=3.8)。对了执行的时候保持网络连接,因为需要下载东西到本地。

新建完成后就可以进入这个环境:

conda activate py38

下面就开始正式安装深度学习环境啦

先安装TensorFlow,参考TensorFlow步骤:Tensorflow Plugin - Metal - Apple Developer:

依次执行:

conda install -c apple tensorflow-deps # Step 1: Environment setup Install the TensorFlow dependencies:
pip install tensorflow-macos # Step 2: Install base TensorFlow
pip install tensorflow-metal # Step 3: Install tensorflow-metal plugin

运行完,TensorFlow就安装完成了,下面测试一下TensorFlow:

song@192 ~ % conda activate py38
(py38) song@192 ~ % python
Python 3.8.11 (default, Aug 16 2021, 12:04:33)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> print("tf version",tf.__version__)
tf version 2.8.0
>>> print("tf gpu",tf.test.is_gpu_available())
WARNING:tensorflow:From <stdin>:1: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.config.list_physical_devices('GPU')` instead.
Metal device set to: Apple M1systemMemory: 8.00 GB
maxCacheSize: 2.67 GB2022-03-19 17:03:20.293520: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:305] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.
2022-03-19 17:03:20.294430: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:271] Created TensorFlow device (/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: <undefined>)
tf gpu True
>>> 

然后安装PyTorch,参照:Previous PyTorch Versions | PyTorch ,在”终端“执行

pip install torch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0

安装完成后,同样做下测试:

(py38) song@192 ~ % python
Python 3.8.11 (default, Aug 16 2021, 12:04:33)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print("torch version",torch.__version__)
torch version 1.9.0
>>> torch.ones(1)+torch.ones(1)
tensor([2.])
>>>

最后安装一些DL常用的库:

pip install pandas matplotlib glob2 tqdm opencv-python scipy scikit-learn

完成上述步骤,我们就完成了使用M1芯片的MacOS电脑环境的配置,本次游戏通关欢迎下次再见,拜拜。

如果有帮到你,请不要吝啬你的点赞鼓励,我也会越来越努力哟~​

0x03:参考

  1. Mac安装M1芯片版本miniconda流程 - Ravenna - 博客园

  2. Good guy:在M1上安装ARM版本的pytorch 1.80 和 M1 的tensorflow

『开发技巧』MacbookM1芯片深度学习环境配置最全教程:简明安装开发TensorFlow与PyTorch相关推荐

  1. 深度学习环境配置超详细教程【Anaconda+PyTorch(GPU版)+CUDA+cuDNN】

    深度学习环境配置 入门深度学习,首先要做的事情就是要搭建深度学习的环境.不管你是Windows用户,Mac用户还是Ubuntu用户,只要电脑配置允许,都可以做深度学习,毕竟Windows.Mac和Ub ...

  2. 深度学习环境配置:ubuntu 16.04 安装2080ti驱动 cuda9.0和cudnn7.3 anaconda3.7 tensorflow12.0

    实验室配了2080ti,下面分享一下深度学习环境的搭建.在进行下面的操作前最好先安装好ssh,如果在安装驱动时出现循环登录的问题,还可以在另外的电脑上进行补救,配置过程也方便些. 该系统已经正常良好的 ...

  3. 深度学习环境配置——(5)Pycharm使用Anaconda创建的pytorch虚拟环境

    目录 1.Pycharm使用pytorch虚拟环境 2.PyTorch测试程序 1.Pycharm使用pytorch虚拟环境 刚进入pycharm打开终端时的状态,显示的是PS 首先找到Anacond ...

  4. Ubuntu深度学习环境配置一箩筐

    Ubuntu深度学习环境配置一箩筐 前言:我从其它专业转到深度学习方向,由于最开始接触的时候缺乏很多计算机方面的系统知识,所以环境配置中常常出现各种问题而不知其所.网上同一个问题往往有多种解决方案而有 ...

  5. 【20210122期AI简报】保姆级深度学习环境配置指南、寒武纪首颗AI训练芯片亮相...

    导读:本期为 AI 简报 20210122 期,将为您带来 9 条相关新闻,新增论文推送,在文章底部,祝各位牛年大吉~ 本文一共 3700 字,通篇阅读结束需要 7~10 分钟 1. 保姆级教程:深度 ...

  6. 【深度学习环境配置】Anaconda +Pycharm + CUDA +cuDNN + Pytorch + Opencv(资源已上传)

    文章目录 一.推荐系列 1.1.大神视频详细讲解 1.2.最全最简易的保姆教程 1.3.百度网盘资源 二.环境配置 2.0.查看已安装软件的版本号 2.1.Anaconda安装 2.2.Pycharm ...

  7. Docker教程-深度学习环境配置

    最近在知乎上刷到一篇文章,标题很有意思叫<Docker,救你于「深度学习环境配置」的苦海>,感兴趣的可以去搜一下.那篇文章主要针对的是一个目前深度学习研究者的痛点:深度学习环境的配置.我在 ...

  8. 深度学习环境配置(GPU、CPU版本)

    一.Anaconda安装 1.介绍 Anaconda是一个开源的Python发行版本,用来管理Python相关的包,安装Anaconda可以很方便的切换不同的环境,使用不同的深度学习框架开发项目,本文 ...

  9. 深度学习环境配置记录——RTX3050

    一.下载 首先需要先了解一下深度学习环境需要的各个软件之间的关系: 从源代码构建  |  TensorFlow (google.cn) 然后了解自己的电脑 NVIDIA控制面板中查看显卡驱动,注意这个 ...

  10. 史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境

    鉴于我之前学深度学习,图像处理的时候走了很多弯路踩了很多坑的情况(其实主要是最近不想学习,想水一期博客),决定出一期深度学习环境配置的教程,因为我之前配置opencv的环境,TensorFlow的环境 ...

最新文章

  1. Java的小实验——各种测试以及说明
  2. MPLS 成为连接到云的绝佳方法的4个原因
  3. python No-ASCII character ,编码错误
  4. Go: GoRoutine是如何实现的?
  5. 【记忆化搜索】P1464 Function
  6. Linux——查看硬件配置命令
  7. linux系统sql语句报错_在linux下写的mysql无法插入,sql语句在复制中变'脏'了.
  8. 穿越火线全部服务器都显示爆满,穿越火线大区全部爆满,频道挤不进去背后的故事!...
  9. 类模板特化之经典(一)
  10. android要求图标格式,Android设计规范 Material Design-Style(3图标)
  11. javascript 西瓜一期 03 机器语言与高级语言
  12. 手机也能当电脑用?--谈谈未来智能手机操作系统的走向
  13. 基于 OpenCV 的图像阴影去除,你会吗?
  14. 软件测试基础:自动化测试、安全测试、性能测试
  15. 计算机二级是要报所有科目吗,我要报考计算机等级考试二级,是全部科目都要考吗?...
  16. python代码大全-python中的字典用法大全的代码
  17. 政务大数据云平台体系及作用
  18. open drain和push pull
  19. Rust : calls in constant functions are limited to constant functions, tuple structs and tuple varian
  20. Gate8.2--安装

热门文章

  1. Windows超级管理器,堪比火绒管家
  2. 攻防世界misc高手进阶区funny_video完整版答案
  3. 19种音频格式介绍及音质压缩比的比较
  4. FreeBSD安装MySQL
  5. Android开发中的Java包的定义
  6. 彻底解决Python包下载慢问题
  7. Python识别图片中的文字
  8. obs源码简析之推流
  9. 英特尔核显无法为此计算机,win10intel显卡驱动装不上怎么办_Win10系统无法安装intel显卡驱动如何解决...
  10. Wincc RT Professional第一讲-组态