732 文字
4 分
【M3 Macbook Air】MiniforgeでPython機械学習環境を構築する【2024】
TIP
  • M3チップのMacbook Airを購入したので、MiniforgeでのPython環境構築方法について記載します。

はじめに#

詳細情報は、githubのリポジトリをチェック。

https://github.com/conda-forge/miniforge

該当するアーキテクチャはarm64 (Apple Silicon)なのですが、下のほうにもっと楽なコマンドが書いてあるので、ターミナルが使える方はそちらのほうが楽です。

早速手順を記載します#

  1. ターミナルを立ち上げます。

  2. 以下コマンドを入力します。

wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
  1. Enterを押下します。

  2. で閉じます。

  3. acceptしますか、というメッセージにyesと入力します。

  4. このパスに入れていいか、というメッセージが出るのでそのままEnterを押下します。

  5. ターミナルにログインしたときに自動で起動するようにするか、というメッセージが出るので、yesと入力します。

これでMiniforgeのインストールが完了します。 簡単だね。

試しに機械学習サンプルを動かしてみよう#

環境構築#

  1. 新しいConda環境の作成

    TensorFlowと必要なパッケージをインストールするための新しい環境を作成します。

    Terminal window
    # Miniforgeのインストールが完了したら、以下のコマンドを実行
    conda create -n tf_env python=3.9
    conda activate tf_env
  2. TensorFlowのインストール

    Apple Silicon向けにビルドされたTensorFlowをインストールします。

    Terminal window
    # TensorFlowのApple Silicon向けビルドをインストール
    conda install -c apple tensorflow-deps
    pip install tensorflow-macos
    pip install tensorflow-metal
    pip install matplotlib

簡単な機械学習のサンプルコード#

ここでは、MNISTデータセットを使用して手書き数字認識を行うシンプルなニューラルネットワークを実装します。

import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
import time
start_time = time.time()
# MNISTデータセットのロード
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
# データの正規化
train_images, test_images = train_images / 255.0, test_images / 255.0
# モデルの構築
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dropout(0.2),
layers.Dense(10)
])
# モデルのコンパイル
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# モデルの訓練
model.fit(train_images, train_labels, epochs=5)
# モデルの評価
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print(f'\nTest accuracy: {test_acc}')
print(f'Time: {time.time()-start_time}[s]')

実行手順#

  1. 上記のコードをファイル(例:mnist_example.py)に保存します。

  2. スクリプトを実行します。

    Terminal window
    python mnist_example.py

これで、M3チップの力を活用してTensorFlowを使用した簡単な機械学習のサンプルを動かすことができます。

出力結果は、以下のようになりました。 M3チップ、そこそこ高速なのでは?

Epoch 1/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 1s 453us/step - accuracy: 0.8595 - loss: 0.4835
Epoch 2/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 1s 454us/step - accuracy: 0.9570 - loss: 0.1489
Epoch 3/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 1s 467us/step - accuracy: 0.9689 - loss: 0.1039
Epoch 4/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 1s 461us/step - accuracy: 0.9744 - loss: 0.0822
Epoch 5/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 1s 456us/step - accuracy: 0.9774 - loss: 0.0710
313/313 - 0s - 316us/step - accuracy: 0.9777 - loss: 0.0720
Test accuracy: 0.9776999950408936
Time: 4.895736932754517[s]

まとめ#

今回は、【機械学習をする前提で】M3チップ Macbook AirでMiniforgeを使ってPython環境を構築する方法について紹介しました。

M1,M2チップでも同様に構築可能なので、これから機械学習を勉強したいという方は試してみてね。

【M3 Macbook Air】MiniforgeでPython機械学習環境を構築する【2024】
https://yurudeep.com/posts/devenv/2024/20240714/
作者
ひらノルム
公開日
2024-07-14
ライセンス
CC BY-NC-SA 4.0