资讯详情

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

2022-03/19-14:30

0x00:引子

最近云哥 @吃货本货 问问小宋(作者)怎么样Apple的M1芯片进行深度学习开发,恰逢最近M1.开发生态趋于稳定,所以分享安装步骤。

0x01:分析

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

简单分析:

目的是在M平台开发深度学习需要以下必要因素:

  • 编辑器: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 M1  systemMemory: 8.00 GB maxCacheSize: 2.67 GB  2022-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 PluggableDevie (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

标签: 3芯片式连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司