MPS 관련 문의드립니다!

안녕하세요, @kimgs8765 님.

PyTorch에서는 Tensor라는 자료형을 사용하는데요, 이 자료형은 numpy처럼 행렬 연산을 할 수 있으면서 GPU와 같은 장치를 활용하여 연산의 속도를 빠르게 할 수 있는 것이 특징입니다.

그리고, 입력/출력용 데이터 외에 인공 신경망도 내부에는 가중치(weight) 저장과 연산을 위해 Tensor 자료형들을 사용하고 있습니다. (Tensor에 대한 내용은 아래 튜토리얼을 더 참고해주세요.)


위에 올려주신 코드 중에 device 설정이라고 되어 있는 부분의 코드가 현재 사용 가능한 GPU 또는 MPS가 있으면 그것을 사용하고, 없으면 CPU라도 사용하도록 설정하는 부분입니다.


하지만, 이렇게 연산을 하려면 동일한 공간에 데이터들이 위치해야 합니다. (서울에 있는 망치로 대구에 있는 못을 두드릴 수는 없으니까요!)

위에 @Sung_Sue_Hwang 님과 @skywalker 님께서 말씀해주신 내용이 바로 이것인데요,
@kimgs8765 님께서 작성하신 코드의 학습 및 추론용 데이터들과 모델은 모두 동일한 장치에 위치해야 하는데 기존에는 학습용 데이터와 모델은 CPU에, 추론용 데이터는 MPS에 위치해서 발생했던 문제이고, 이후에는 학습용 데이터는 CPU에, 모델과 추론용 데이터는 MPS에 위치해서 발생하는 문제입니다.


설명이 길었는데, 모든 데이터를 사용하시기 전에 아래와 같이 데이터를 device로 옮겨주세요. :slight_smile:

1개의 좋아요