dockerによるpythonの深層学習において、M1チップのGPU : mps(Metal Perfomance Shaders) を使いたい

前提

この記事(https://qiita.com/sonoisa/items/6d6b4a81169397a96dd8) を参考に
docker による深層学習環境を立ち上げました。
しかし、タイトルにも記入したGPUが使えず、何をしたらよいかわからない状態です。

実現したいこと

jupyter notebook 等でM1チップによるGPUを使用できるようにしたい。

発生している問題・エラーメッセージ

import torch torch.backends.mps.is_available() >>False

これをどうにかTrueにしたい

試したこと

1つ目

device = torch.device("mps")

を入力してみた。エラーは特に出なかったが、問題の解決にはなっていないような気がする。

2つ目

mat = torch.randn(5,5,device="mps") print(mat)

のように、実際に計算が出来るか試してみたが、以下のようなエラーが出た。
(なお、device='cpu' の場合、エラーは出ることなく成功した)

NotImplementedError: Could not run 'aten::empty.memory_format' with arguments from the 'MPS' backend. This could be because the operator doesn't exist for this backend, or was omitted during the selective/custom build process (if using custom build). If you are a Facebook employee using PyTorch on mobile, please visit https://fburl.com/ptmfixes for possible resolutions. 'aten::empty.memory_format' is only available for these backends: [Dense, Conjugate, Negative, VmapMode, FuncTorchGradWrapper, MPS, UNKNOWN_TENSOR_TYPE_ID, QuantizedXPU, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, SparseCPU, SparseCUDA, SparseHIP, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, SparseXPU, UNKNOWN_TENSOR_TYPE_ID, SparseVE, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, NestedTensorCUDA, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID, UNKNOWN_TENSOR_TYPE_ID].

補足情報(FW/ツールのバージョンなど)

使用しているPC : MacBook Air(M1 , 2020)
チップ : Apple M1
メモリ : 16GB
OS : macOS Ventura

docker はM1対応の物を使用しています。

コメントを投稿

0 コメント