こんにちはイチケンです。
M1MacでディープラーニングすべくTensorflowのインストールすることにしました。Miniforgeとconda仮想環境でのインストール方法が多くのサイトで紹介されていましたが、結局のところGitのapple公式が一番簡単でした。M1に最適化されているようなので、今回はそのインストール方法と、動作確認にFashion MNISTを試します。
M1MacのVSCodeでvenv仮想環境に #Tensorflow 入れてFashion MNIST成功しました😆https://t.co/Mw8qmLbShR#ディープラーニング #Python #プログラミング仲間募集中 pic.twitter.com/tVdcKKmyB2
— ICHIKEN@🇺🇸エンジニアキャンパー🏕 (@IchikenUsa) July 12, 2021
この記事でわかること
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仮想環境フォルダを作ってくれます。
インストールが完了したら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秒。比べる対象がおかしいですが、さすがに早いですね。
最後に
いかがでしたか?
この記事が皆さんのお役に立てれば幸いです。
記事を拝見させて頂きました。
返信削除お忙しい所大変恐縮ですが、ご質問したくコメント致しました。
スクリプト実行後に、VScodeでtensorflow_macosのインタープリターが表示されず、何が原因か分からない状態です。
前提条件を整えた後に上記「インストール」に記載しているスクリプトを実行するのみなのでしょうか?
下記の記事を参考にして、仮想環境を整えました。
https://qiita.com/tomoyaeibu/items/46f2f3384a370df71d5e
こんにちはCasperさん
削除venvをVSCodeが認識できていないのではないでしょうか?
他のvenvはどうですか
以下の設定でvenvを認識してくれるはずです。
「設定」→「設定の検索」にvenvと入力して検索→「Python: Venv Folders」
項目の追加にvenvを集めてるフォルダを入力。
私の構成でいうとtensorflow_macosフォルダの一個上です。
これがtensorをインストールしたフォルダパス
VSCode/python_envs/tensorflow_macos
Venv Foldersに設定するのは
VSCode/python_envs
VSCodeを開くときに上記VSCodeフォルダを選択して開いています
これでどうでしょうか?