M4Pro MacBook ProのGPUをTensorflowで実行する手順はコチラで試しましたので、PyTorchの使い方もまとめておきます。PyTorchは2024/11/14現在、既にデフォルトでMPS(Metal Performance Shaders)に対応していますので、特別な手順は必要なく .to("mps")
メソッドを使うだけでハードウェアリソースを利用することができます。
手順の前準備
以下記事を進めていることを前提に書いています。
- Homebrewをインストールする
- Anacondaをインストールする
- Miniforgeをインストトールする
PyTorchをインストールする
それでは仮想環境を作成してPyTorchをインストールしていきましょう。この手順では仮想環境の作成にAnacondaを使っています。
conda仮想環境を作成する
Anacondaで仮想環境を作成します。ここではpython3.8を選択しました。
$ mkdir pytorchbox
$ cd pytorchbox
$ conda create --prefix ./env python=3.8
$ conda activate ./env
PyTorchを仮想環境にインストールする
PyTorchの公式サイトにアクセスすると、Anaconda環境へのインストール用コマンドが表示されますので、その通りに実行します。
(env) $ conda install pytorch::pytorch torchvision torchaudio -c pytorch
実際に使ってみよう
それでは実際に使ってみましょう。
特に必要な手順はなくtorch
で作成したデータを.to("mps")
でMPS (Metal Performance Shaders)へ転送するだけです。転送したデータは.device
メソッドを使うことにより、どこにデータが置かれているか見ることができます。
以下の例ではテストデータとして3x3のテンソルを作成しています。テンソルの各要素は正規分布のランダムな値で初期化しています。
(env) $ python
>>> import torch
>>> torch.backends.mps.is_available()
True
>>> testdata = torch.rand(3,3)
>>> print(testdata)
tensor([[0.9923, 0.1906, 0.1752],
[0.2960, 0.3211, 0.6276],
[0.3285, 0.4022, 0.4152]])
>>> trdata = testdata.to("mps")
>>> trdata.device
device(type='mps', index=0)
ハードウェアリソースを使えていますね!
実際に推論で使う方法は以下の記事にまとめています。併せてご利用ください。