2023年4月1日:
M1/M2 MacでのPytorchのインストール方法で「Stable(2.0.0)」を選択するように更新しました。(2023年3月15日にM1/M2対応のPyTorch 2.0.0がリリースされました)
https://pytorch.org/blog/pytorch-2.0-release/
https://pytorch.org/blog/new-library-updates-in-pytorch-2.0/
2022年12月7日:
M1/M2 MacでのPytorchのインストール方法で「Stable(1.13.0)」を選択するように修正しました。(2022年10月28日にM1対応のPyTorch 1.13がリリースされました)
https://pytorch.org/blog/PyTorch-1.13-release/
2022年9月4日:
M1/M2 MacでのPytorchのインストール方法を追加しました。
2022年9月1日:
M1/M2 MacでのTensorflowのインストール方法を追加しました。
こんにちは。ナミレリです。みなさん、MacでPythonは使っていますか?
M1やM2などのApple Siliconを搭載したMacでシンプルで使いやすいPython環境の構築方法を紹介する第2回目で機械学習やデータ分析に必要なライブラリインストール編です。前回はM1やM2 Macにpyenv + Miniforge + venv によるPython環境の構築方法をご紹介しました。下の記事もぜひ合わせてご覧ください。
この記事はこんな人にオススメ
- M1/M2 MacでPythonによる機械学習やデータ分析の環境を構築したい
- 機会学習やデータ分析に必要なpythonライブラリをとりあえず知りたい
M1、M2のMacをより便利に使うための初期設定についてはぜひ下記の記事を参考にしてください。
【特集】快適なデスクトップ環境を構築する
今回はpyenv + Miniforgeの環境にPythonによる機械学習やデータ分析のライブラリのインストールする方法を紹介します。
この記事でわかること
- M1/M2 Macで機械学習やデータ分析に必要なpythonライブラリ
- pythonライブラリのバージョンやインストールしたディレクトリの確認方法
- デスクトップのファイルをグループに自動で整理する
- M2 MacBook Air 13.6 インチ
- macOS Monterey 12.5.1
- pyenv 2.3.3
- Miniforge3-4.10.3-10
目次
この記事でインストールするパッケージ・モジュール・ライブラリ一覧
機械学習・データ分析系
名称 | 内容 |
---|---|
numpy | 数値計算を効率的に行うための拡張モジュール |
pandas | データ解析を支援する機能を提供するライブラリ |
scipy | 数学、科学、工学のための数値解析ソフトウェア、高レベルな科学と 工学のモジュールを集めたもの |
scikit-learn | 機械学習ライブラリで数値計算ライブラリのNumPyとSciPyとやり取りするよう 設計されている |
matplotlib | Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリ |
seaborn | Matplotlibの機能をより美しく、より簡単に実現するための可視化ライブラリ |
opencv | インテルが開発した画像・動画に関する処理機能をまとめたライブラリ |
Tensorflow | Googleが開発した機械学習に用いるためのライブラリ |
PyTorch | Facebook(現Meta)のAI Reserarch Lab(FAIR)で開発された深層学習用フレームワーク |
機械学習の初心者に向けた、「Python3年生 機械学習のしくみ」はオススメの書籍です。
NumPyのインストール
NumPyとは?
NumPyはPythonにおいて数値計算を効率的に行うための拡張モジュールです。Numpyと合わせてPandasやMatplotlibと一緒に良く使われます。ナムパイと読みます。
NumPyを使うと、効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供することができます。
NumPyのインストール
NumPyは、conda、pip、MacやLinuxのパッケージマネージャ、またはソースからインストールできますが、最も簡単にインストール・管理できるのがcondaです。
NumPyをcondaでインストールします。
conda install numpy "libblas=*=*accelerate"
BLASについては下のwikiが参考になります。
Basic Linear Algebra Subprograms(BLAS)は数値線形代数の基礎的演算に必要な関数を定義するAPIである[1]。ベクトル・行列演算を含む38の関数からなるLevel 1 BLASが1979年に発表されたのち[2]、Level 2 および Level 3 まで拡張された。多数の実装が作成・整備され続けており、この分野におけるデファクトスタンダードとなっている。BLASの基礎演算を利用してLAPACKなどの上位パッケージが構築されており、科学技術計算・高性能計算で多用される。
BLASの関数を多用するソフトウェアにおいてBLAS実装(ライブラリ)の質は速度に直結する。高度な最適化は実装が動くハードウェアにも依存するため、特定CPUに特化したライブラリが提供される場合もある(インテルCPU向け: Intel Math Kernel Library)。オープンソースの最適化 BLAS 実装として OpenBLAS や ATLAS(英語版) がある。https://ja.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms
LINPACK ベンチマークの性能は、BLAS のサブルーチンである DGEMM(倍精度汎用行列乗算)の性能に大きく影響される。
NumPyのインストール確認
NumPyのバージョンとインストールされたディレクトリを確認してみます。
import numpy as np
print(np.__version__)
1.22.4
print(np.__file__)
Numpyの定番オススメ書籍:
Pythonによるデータ分析入門 第2版
NumPyデータ処理入門 機械学習・データサイエンスで役立つ高速処理手法
pandasのインストール
pandasとは?
pandasは、データを簡単かつ直感的に操作できるように設計された、高速で柔軟で表現力豊かなデータ構造を提供するPythonパッケージです。パンダスと読みます。
pandasの2つの主要なデータ構造、Series
(1次元)とDataFrame
(2次元)は、金融、統計、社会科学、および工学の多くの分野で使われています。
pandasのインストール
pandasも最も簡単にインストール・管理できるのがcondaです。
pandasをcondaでインストールします。
conda install pandas
pandasのインストール確認
pandasのバージョンとインストールされたディレクトリを確認してみます。
import pandas as pd
print(pd.__version__)
1.4.4
print(pd.__file__)
Pandasの定番オススメ書籍:Pythonによるデータ分析入門 第2版
SciPyのインストール
SciPyとは?
Scipyとは高度な科学技術計算をおこなうことが可能なライブラリで、サイパイと読みます。統計などの高度な科学技術計算を簡単に実行することができます。
クラスター分析、物理定数、離散フーリエ変換、数値積分、線形代数、などの科学技術計算が可能となります。
SciPyのインストール
SciPyも最も簡単にインストール・管理できるのがcondaです。
SciPyをcondaでインストールします。
conda install scipy
SciPyのインストール確認
SciPyのバージョンとインストールされたディレクトリを確認してみます。
import scipy
print(scipy.__version__)
1.9.1
print(scipy.__file__)
SciPyの定番オススメ書籍:NumPy&SciPy数値計算実装ハンドブック
scikit-learnのインストール
scikit-learnとは?
scikit-learnは機械学習ライブラリで数値計算ライブラリのNumPyとSciPyとやり取りするよう
設計されています。サイキット・ラーンと読みます。
教師あり学習、教師なし学習に関するアルゴリズム(サポートベクターマシン、ランダムフォレスト、回帰、クラスタリングなど)が一通り利用出来る上、サンプルのデータセット(トイデータセットと呼びます)が豊富に揃っています。
scikit-learnのインストール
scikit-learnも最も簡単にインストール・管理できるのがcondaです。
scikit-learnをcondaでインストールします。
conda install scikit-learn
scikit-learnのインストール確認
scikit-learnのバージョンとインストールされたディレクトリを確認してみます。
import sklearn
print(sklearn.__version__)
1.1.2
print(sklearn.__file__)
scikit-learnのオススメ書籍:scikit-learn、Keras、TensorFlowによる実践機械学習 第2版
Matplotlibのインストール
Matplotlibとは?
MatplotlibはPythonおよびその科学計算用ライブラリであるNumPyのためのグラフ描画ライブラリです。
Matplotlibを使うことで、グラフの描画やデータの可視化が簡単に行えます。
折れ線グラフ、ヒストグラムや散布図など様々なグラフを表現できます。
Matplotlibのインストール
Matplotlibも最も簡単にインストール・管理できるのがcondaです。
Matplotlibをcondaでインストールします。
conda install matplotlib
Matplotlibのインストール確認
Matplotlibのバージョンとインストールされたディレクトリを確認してみます。
import matplotlib as mpl
print(mpl.__version__)
3.5.3
print(mpl.__file__)
Matplotlibの定番オススメ書籍:Matplotlib&Seaborn実装ハンドブック
seabornのインストール
seabornとは?
seabornは、matplotlibをベースにしたPythonデータビジュアライゼーションライブラリです。
seabornは、matplotlibの上に構築され、pandasのデータ構造と密接に統合されています。
seaborn: statistical data visualization u0026#8212; seaborn 0.11.2 documentation
seaborn.pydata.orgseabornのインストール
seabornも最も簡単にインストール・管理できるのがcondaです。
seabornをcondaでインストールします。
conda install seaborn
seabornのインストール確認
seabornのバージョンとインストールされたディレクトリを確認してみます。
import seaborn as sns
print(sns.__version__)
0.12.0
print(sns.__file__)
seabornの定番オススメ書籍:データ分析者のためのPythonデータビジュアライゼーション入門
OpenCVのインストール
OpenCVとは?
インテルが開発した画像・動画に関する処理機能をまとめたライブラリです。
OpenCVを使用することで、フィルター処理、オブジェクト追跡、領域分割、パノラマ合成、カメラキャリブレーション、物体認識、機械学習等の処理をPythonで行うことができます。
OpenCVのインストール
OpenCVも最も簡単にインストール・管理できるのがcondaです。
OpenCVをcondaでインストールします。
conda install opencv
OpenCVのインストール確認
OpenCVのバージョンとインストールされたディレクトリを確認してみます。
import cv2
print(cv2.__version__)
4.6.0
print(cv2.__file__)
OpenCVの定番オススメ書籍:OpenCVではじめよう ディープラーニングによる画像認識
Tensorflowのインストール
Tensorflowとは?
Googleが開発した機械学習に用いるためのライブラリです。
機械学習モデルの開発およびトレーニングに役立つオープンソースのコアライブラリ。主にディープラーニングのフレームワークとして知られています。
Tensorflowのインストール
Tensorflowには、以下の3つのモジュールが必要です。
・tensorflow-deps (condaでインストール)
・tensorflow-macos (有効化した仮想環境内でpipでインストール)
・tensorflow-metal (有効化した仮想環境内でpipでインストール)
venvでの仮想環境構築方法はこちらをご覧ください。
conda install -c apple tensorflow-deps
cd venv_test
source .venv/bin/activate
pip install tensorflow-macos
pip install tensorflow-metal
Tensorflowのインストール確認
Tensorflowのバージョンとインストールされたディレクトリを確認してみます。
import tensorflow
print(tensorflow.__version__)
2.9.2
print(tensorflow.__file__)
protobuf packageのエラーとなった場合
以下のエラーメッセージが表示されTensorflowがインポートできない場合があります。2つの解説策がエラーメッセージに表示されます。
【解決策1】1. Downgrade the protobuf package to 3.20.x or lower.
解決策の1つ目としてprotobufのバージョンを3.20系にダウングレードする。
protobufについてはこちらの記事が詳しいです。
以下のコマンドでprotobufのバージョンを3.20系にダウングレードします。
pip install -U protobuf~=3.20.0
【解決策2】2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
解決策の2つ目として下記の環境変数を設定します。ただ処理速度が遅くなるようなので解決策1がオススメです。
以下のコマンドでPROTOCOL_BUFFERS_PYTHON_IMPLEMENTATIONの環境変数を設定します。
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
環境変数を設定した後に、pythonインタプリタでtensorflowがインポートできることを確認します。
python
Python 3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:00:33)
[Clang 13.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
import tensorflow
Tensorflowの定番オススメ書籍:
Python,TensorFlowで実践する深層学習入門
物体・画像認識と時系列データ処理入門
PyTorchのインストール
PyTorchとは?
Facebook(現Meta)のAI Reserarch Lab(FAIR)で開発された深層学習用フレームワーク。
PyTorchはシンプルで使いやすく、柔軟性が高くメモリの効率的な利用、動的な計算グラフなどについても高い評価を得ています。Pythonで利用すると処理速度が速くなります。
PyTorchのインストール選択
PyTorchのインストールは、公式サイトのpytorch.orgで環境を選択することでインストールコマンドを表示してくれます。とても便利です。
- STEP
公式サイトのpytorch.orgにアクセス
- STEP
PyTorch Buildの選択
PyTorch 2.0.0 がリリースされました。(2023年3月15日)
「Stable(2.0.0)」を選択します。 - STEP
Your OSの選択
もちろん「Mac」を選択します。
- STEP
Packageの選択
condaでもpipでもインストールできます。今回は「Conda」を選択します。
- STEP
Languageの選択
もちろん「Python」です。
- STEP
Compute Platformの選択
「Default」です。
- STEP
表示されたインストールコマンドの実行
「Run this command:」にインストールするためのコマンドが表示されます。
conda install pytorch torchvision torchaudio -c pytorch
venvでの仮想環境構築方法はこちらをご覧ください。
PyTorchのインストール
先程の表示されたコマンドでインストールします。(condaでインストール)
conda install pytorch torchvision torchaudio -c pytorch
PyTorchのインストール確認
PyTorchのバージョンとインストールされたディレクトリを確認してみます。
import torch
print(torch.__version__)
1.13.0
print(torch.__file__)
PyTorchがM1/M2のGPUを利用できるか確認
PyTorchがM1/M2のMetal Performance Shaders(MPS)が有効になっているか確認してみます。
import torch
print(torch.backends.mps.is_available())
True
print(torch.backends.mps.is_built())
True
両方ともTrueであればMetal Performance Shaders(MPS)が有効になっておりM1/M2のGPUを利用できます。
PyTorchの定番オススメ書籍:最短コースでわかる PyTorch &深層学習プログラミング
最後に
最後まで読んでいただきありがとうございます。今回の【Python】M1/M2 MacでPython環境の構築(機械学習・データ分析編)はいかがでしたでしょうか。M1やM2などのApple Siliconを搭載したMacで機械学習やデータ分析に必要なライブラリのインストールを紹介しました。次回以降は株価分析とスクレイピングに必要なライブラリのインストール方法を紹介予定です。みなさんのMacライフに少しでもお役に立てたら幸いです。
\無料相談もできます/
・現役エンジニアから学べるオンラインに特化したプログラミングスクール。
・講師は全員、通過率10%の選考に合格した現役エンジニア。
・確かなスキルをもとにマンツーマンサポート。
・900社、30,000名を超える教育実績
※受講料最大70%支給
・Pythonを使ってデータ分析の手法を習得。
・1人では続かない方のためのパーソナルメンターがつく学習プログラム。
・統計学の基礎やPythonで実際に分析する方法まで習得することができます。
・統計学を基礎から学びたい方
・データサイエンティストとして活躍したい方
・Pythonのライブラリを使用して実装を行いたい方
・時間と場所にとらわれない働き方をしたい方
・区間推定、仮説検定による母集団の検証:乱数データを用いて古典的統計解析手法を習得
・住宅価格の予測:統計モデリングの基礎を習得
・サッカーの勝敗予測:ポアソン回帰により一般化線形モデルの基礎を習得
・オリジナルのデータ解析:公開されているデータセットを使ってデータ解析
・Python
・Numpy
・Pandas
・scikit-learn
\無料相談もできます/
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。