M1Mac VSCode venvにTensorFlowを1コマンドでインストールしFashion MNISTテスト

2021/07/11

Apple AppleSilicon Python ガジェット ディープラーニング 開発

こんにちはイチケンです。

M1MacでディープラーニングすべくTensorflowのインストールすることにしました。Miniforgeとconda仮想環境でのインストール方法が多くのサイトで紹介されていましたが、結局のところGitのapple公式が一番簡単でした。M1に最適化されているようなので、今回はそのインストール方法と、動作確認にFashion MNISTを試します。

この記事でわかること

M1 MacにMac-optimized version of TensorFlow 2.4をインストールする方法がわかります。参考はこちら。

https://github.com/apple/tensorflow_macos

前提条件

まず前提条件となる私の環境です。仮想環境はvenv、IDEはVSCodeを使用しています。

  • M1 MacBook Air
  • macOS 11.4
  • VSCode 1.55.2
  • Python 3.8.2
  • tensorflow-macos 0.1a3

今回導入する0.1-alpha3は、TensorFlow r2.4rc0、TensorFlow Addons 0.11.2をサポートしています。

インストール

VSCodeを立ち上げてターミナルで次のコマンドを実行するだけです。超簡単ですね。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/apple/tensorflow_macos/master/scripts/download_and_install.sh)"

VSCodeの仮想環境フォルダ構成にあわせて、フォルダ作成場所を指定します。入力したパスのvenv仮想環境フォルダを作ってくれます。

M1用tensorflowインストール

インストールが完了したらPythonインタープリタで先程作ったテンソル用の仮想環境を選択します。

テンソル用仮想環境の選択

Fashion MNISTテスト

ではさっそく動作確認をします。pyファイルをテンソル仮想環境下に作り、次のコードをコピペします。

import tensorflow as tf
from tensorflow import keras

print(f'TensorFlow: {tf.__version__}')
print(f'Keras: {keras.__version__}')

fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
#class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']

train_images = train_images / 255.0
test_images = test_images / 255.0

# モデル構築
model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(10, activation='softmax')
])

# モデルコンパイル
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy',metrics=['accuracy'])

# 訓練
model.fit(train_images, train_labels, epochs=10)

# 評価
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)
print(f'Test accuracy: {test_acc}')

ワーニングは出るものの学習結果を得ることができました。ラズパイだと1EPOCHに18s程度かかってましたがM1は1秒。比べる対象がおかしいですが、さすがに早いですね。

Fashion MNISTテスト

最後に

いかがでしたか?

この記事が皆さんのお役に立てれば幸いです。

スポンサーリンク

フォロワー

Labels

Amazon (3) Apache (3) Apple (9) AppleSilicon (7) Bloggerカスタマイズ (12) EchoShow15 (1) IoT (25) Jetson (1) MySQL (1) PHP (3) Python (20) Web (3) アウトドア (11) アメリカ生活 (19) ガジェット (35) キャンプ (9) ディープラーニング (1) らずキャン△ (11) ラズパイ (24) 暗号資産 (5) 開発 (31) 旅行 (8)

QooQ