AttributeError: 'tuple' object has no attribute 'cpu'
파이썬에서 tuple 변수를 cpu로 할당할 때 발생하는 에러로, 이때는 tuple이 아닌 tuple의 원소 하나하나를 cpu로 할당한 다음, 모든 값을 하나의 tuple로 다시 만들어주면 된다.
x = (torch.randn([1, 3, 128, 128]).cuda(),
torch.randn([1, 128, 128]).cuda(),
torch.randn([1, 128, 128]).cuda())
x.cuda() # error
x_cpu = tuple(t.cpu() for t in x)
print(y)
나는 cuda의 메모리 부족현상이 발생하여 모델의 결과를 다른 함수에서 사용할 때, 메모리를 반환해주기 위해 이를 cpu로 바꿔주는 과정에서 이러한 에러를 만나게 되었다.
이를 해결하기 위해 이러한 방법을 썼고 이 문제에 대해서는 잘 해결되었다.
cuda메모리 문제는 아직이지만...
Author And Source
이 문제에 관하여(AttributeError: 'tuple' object has no attribute 'cpu'), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@xdfc1745/AttributeError-tuple-object-has-no-attribute-cpu저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)