
AttributeError: module 'torch' has no attribute 'frombuffer'Errors2025. 5. 15. 18:00
Table of Contents
오늘은 코드의 Pytorch와 현재 환경의 Pytroch의 버전 차이로 인해 발생하는 오류에 대해 알아보고자 한다.
Pytroch의 버전에 따라 당연하게도 함수가 새로 도입되거나 변경되는 경우가 있는데 이번 경우가 이에 해당한다.
AttributeError: module 'torch' has no attribute 'frombuffer'
위 오류에서 나타난 torch.frombuffer는 Pytorch 2.0 이상에서 도입된 함수이다.
따라서 당연하게도 해당 오류를 해결하기 위해서는 현재 환경의 Pytorch를 업그레이드 시키는 것이 가장 간단한 해결책이다.
그러나, 종종 현재 상황에 따라 Pytroch 업그레이드가 불가능한 경우가 있는데 그럴 경우 아래와 같이 코드를 수정하여 frombuffer 함수를 대체하여 사용하는 방법이 있다.
import numpy as np
import torch
# 원래 코드 (PyTorch 2.x)
torch.frombuffer(buffer, dtype=torch.float32)
# 대체 방법
array = np.frombuffer(buffer, dtype=np.float32)
tensor = torch.from_numpy(array)
위 처럼, 하나의 함수를 numpy Library를 활용하여 2가지 함수로 우회하는 형식으로 코드를 수정하면 문제를 해결 할 수 있다.
추가적으로 Pretrained 모델을 사용하는 중이었다면, pretrained_model을 불러오는 곳의 코드에서 HuggingFace의 .bin 형태로 모델을 불러오고 있는지 확인 해야한다.
만약, use_saftetensors 옵션을 사용 중이었다면 해당 옵션을 삭제하거나 False 처리 해야한다.
from transformers import AutoModel
model = AutoModel.from_pretrained("bert-base-uncased", use_safetensors=False)
'Errors' 카테고리의 다른 글
RuntimeError: r.nvmlDeviceGetNvLinkRemoteDeviceType_ INTERNAL ASSERT FAILED (0) | 2025.05.12 |
---|---|
bash: git: command not found (0) | 2025.05.07 |
UnicodeDecodeError 'utf-8' (0) | 2024.07.07 |
Transformer Error - Internet connection (0) | 2024.02.26 |
git-lfs 설치 Error (0) | 2024.02.18 |