【M3 Macbook Air】MiniforgeでPython機械学習環境を構築する【2024】

新月一2024-07-14DeepLearningPython miniforge Mac

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. :qで閉じます。

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

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

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

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

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

環境構築

  1. 新しいConda環境の作成

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

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

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

    # 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. スクリプトを実行します。

    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チップでも同様に構築可能なので、これから機械学習を勉強したいという方は試してみてね。

Last Updated 2024-07-24 15:02:41