初めに
M1に乗り換えて色々調べながら環境構築を行ったのでここにメモとしてまとめてみます(この記事を書き始めて早いもので1ヶ月が経ちました。。。☜放置癖を治します)。さて、最速でDeep Learning実行環境を作成したい場合は、brewをインストールした後「Deep Learning実行環境を最速で構築する」に飛んでください!それではDeep Learning実行環境を構築して行きましょう!
今回は6本の章立てになっています!
- 1, 基本機能の確認
- 2, HomeBrew
- 3, HomeBrewのアプリ管理
- 4, Deep Learning実行環境を最速で構築する
- 5, 最後に
- 6, 参考文献
#1, 基本機能の確認
物理コア数の確認
sysctl -n hw.physicalcpu_max
-> 8
論理コア数の確認
sysctl -n hw.logicalcpu_max
-> 8
CPUの型番の確認
sysctl machdep.cpu.brand_string
-> machdep.cpu.brand_string: Apple M1 Pro
#2, HomeBrew
次に環境構築を行なっていきます!
Homebrew(Macのためのパッケージ管理アプリ(M1対応))はPythonにおけるpipに近いイメージだと思っています。HomebrewからHomeBrewをダウンロードし、インストールします。
Install Homebrew(下記のコマンドを実行します)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Installation successful! と出たら成功です。
次にインストールが完了したらHomebrewのパスを追加する必要があります。追加コマンドはターミナルに赤字で記載されています。
Next steps:
Run these two commands in your terminal to add Homebrew to your PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/User name/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Run brew help to get started
Further documentation : https://docs.brew.sh
インストールの確認を行います。
brew --version
-> Homebrew 3.3.7
#3, HomeBrewのアプリ管理
- パッケージ管理アプリを使って複数のアプリをダウンロードすればアンインストールや更新がコマンド一つで実行可能になります。
Home-brew formulae(パッケージ名)
ここでインストールしたいアプリがダウンロード可能か検索できます。
アプリインストール方法
・GUIアプリのインストール
brew install --cask <app>
・コマンドで動作するアプリのインストール
brew install <app>
・アプリ一覧表示
brew list
・アプリのアンインストール
brew uninstall <app>
私がインストールしたアプリの参考例
・vscode install
brew install --cask visual-studio-code
・pycharm
brew install --cask pycharm
・Google Chrome install
brew install --cask google-chrome
・iTerm2 install
brew install --cask iterm2
・discord
brew install --cask discord
・Slack
brew install --cask slack
・Zoom
brew install --cask zoom
・Skype
brew install --cask skype
・Google Drive
brew install --cask google-drive
・Jupyter lab
brew install jupyterlab
brew install --cask jupyter-notebook-viewer
brew install --cask jupyter-notebook-ql
・app-engine-python
brew install app-engine-python
・notion
brew install --cask notion
formulaeの操作
・Homebrew and Homebrewのformulaeの更新
brew update
brew upgrade
# 更新があるパッケージを再ビルドする
・formulaeの情報を見る
brew info formulae
・更新のあるformulaeを確認
brew outdated
・古いバージョン(outdated)のformulaeを削除
brew cleanup
brew cleanup -v
# 削除されるアプリ一覧を表示
・インストールしたアプリの更新
brew upgrade
・依存関係を確認する
brew deps formulae
#4, Deep Learning実行環境を最速で構築する
さてやっと本題です!MacBook pro M1のDeep Learningの実行環境を構築していきます。基本的にはApple公式のDeveloper(1, Getting Started with tensorflow-metal PluggableDevice)を見ればできます!さて、[Download Miniforge3] (https://github.com/conda-forge/miniforge#download) から、 M1, M1 Pro, M1 MaxのためのmacOS arm64 chipsを選択してダウンロードします。
ダウンロード完了後、ホームディレクトリにMiniforge3をインストールします。次に「chmod -x FILE_NAME」というコマンドを実行します。これによりFILE_NAMEのモードを-executableに変更します。
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
次にベース環境を有効化することで確認できます。
source ~/miniforge3/bin/activate
Thank you for installing Miniforge3!
一度ターミナルを再起動して次のセクションに向かいましょう。
TensorFlowの環境を構築するためのディレクトリを作成
まず、deeplearning-testというディレクトリを作成します。今回は試しにDeepLearningをjupyter notebookで動かすところまで行うので、これから作成する環境を保存するディレクトリをdeeplearning-testとして作成しました。ターミナルの操作は私の過去の記事にまとめてあります。
mkdir deeplearning-test
cd deeplearning-test
deeplearningディレクトリに入ったので、condaコマンドを使用して新たなconda環境を作成します。まず「conda create --prefix ./env」でこのパスのディレクトリに環境を作成するという意味です。
conda create --prefix ./env
「conda activate ./env」では作成した環境を起動します。
conda activate ./env
正しく起動されていればコマンドプロンプトがこのようになっているはずです。
(/Users/Seffeine/deeplearning-test/env) Seffeine@M1 deeplearning-test %
Condaの環境は整ったので、次に必要なソフトウェアのインストールを行います。AppleがTensorFlowに必要なものをほとんど全て一行でインストールできるようにクイックコマンドを設定してくれているのでそれを使用します(Apple大好き)。
conda install -c apple tensorflow-deps
ここからStep 2のInstall base TensorFlowを行います。Appleではこれをtensorflow-macosと呼んでいます。
python -m pip install tensorflow-macos
Apple's tensorflow-metalをインストールします。これは、MacでGPUを使用するためのフレームワークになります。M1、M1 Pro、M1 Maxのチップはかなり強力なGPUを搭載しているのでこちらをぜひ活用してください!
python -m pip install tensorflow-metal
tensorflow-metalでGPUのテストをするためにtensorflow-datasetsをダウンロードします。
python -m pip install tensorflow-datasets
conda installで機械学習に必要なライブラリをインストールします。
conda install jupyter pandas numpy matplotlib scikit-learn
jupyterlabを使用しているなら、以下のコマンドを実行してください。
conda install -c conda-forge jupyterlab
以下のコマンドをterminalで実行します。
jupyter lab
or
jupyter notebook
以下のコマンドを実行して動作確認をします。
import numpy as np
import pandas as pd
import sklearn
import tensorflow as tf
import matplotlib.pyplot as plt
# Check for TensorFlow GPU access
print(tf.config.list_physical_devices())
# See TensorFlow version
print(tf.__version__)
後は普段通りに機械学習を行います!
少しやってみましょう!
こんな感じで簡単に機械学習の環境構築ができました!
#5, 最後に
色々調べたんですが、とりあえず今回はこんな感じで端的に書いてみました!pipenv, venv, pyenvについても調べてまとめていたのですが、理解が甘いので来月くらいにまとめようと思っています!
皆さんも楽しいDeep Learning lifeを!!ではまた!
#6, 参考文献
1, Getting Started with tensorflow-metal PluggableDevice
2, Conda
3, Homebrew
4, Homebrew Documentation
5, miniforge
6, Jupyter Project Documentation