PyTorch 설치
hoembrew이용해서 anaconda 부터 설치하고, 활성화시키고,
pytorch.org 가서 시키는대로 스크립트 복붙해서 실행시키면 설치된다.
ex) conda install pytorch torchvision torchaudio -c pytorch
WARNING conda.core.path_actions:verify(1093): Unable to create environments file. Path not writable.
워닝이 뜨긴 뜨는데, 기냥 고!
2.0.0 installed!
M1 GPU 사용하기
device에 적용하는 코드! device = torch.device(‘mps:0’ if torch.backends.mps.is_available() else ‘cpu’)
MPS 지원 확인
print (f"PyTorch version:{torch.version}“) # 1.12.1 이상 print(f"MPS 장치를 지원하도록 build 되었는지: {torch.backends.mps.is_built()}”) # True 여야 합니다. print(f"MPS 장치가 사용 가능한지: {torch.backends.mps.is_available()}") # True 여야 합니다. !python -c ‘import platform;print(platform.platform())’
주피터 노트북에서 위 코드를 실행했을 때, Pytorch의 버전은 1.12.0 버전 이상이어야 하고, MPS is_built()와 is_available()이 모두 True로 나와야 합니다. 마지막으로, platform은 arm64가 나와야 현재 python이 Mac OS를 정상적으로 인식한 것입니다. macOS 버전도 12.3 이상이어야 합니다.
import torch
from torch import nn
import torch.nn.functional as F
class Net(nn.Module):
def __init__(self):
super().__init__()
self.lin1 = nn.Linear(5,5)
def forward(self,x):
net = self.lin1(x)
return net
device = torch.device("mps")
if torch.backends.mps.is_available()
else "cpu"
print(f"device: {device}")
# MPS 장치에 바로 tensor를 생성합니다.
x = torch.ones(5, device=device)
# GPU 상에서 연산 진행
y = x * 2
# 또는, 다른 장치와 마찬가지로 MPS로 이동할 수도 있습니다.
model = Net()# 어떤 모델의 객체를 생성한 뒤,
model.to(device) # MPS 장치로 이동합니다.
# 이제 모델과 텐서를 호출하면 GPU에서 연산이 이뤄집니다.
pred = model(x)
print(pred)
예측 결과에 device=’mps:0’로 나오면 간단한 모델을 통한 예측에서 mps를 정상적으로 사용한 것입니다.