티스토리 뷰
Skills/Error
[Error] TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.
미남잉 2023. 9. 18. 14:52728x90
해당 에러의 발생 원인은 'cuda:0' device 타입의 tensor를 직접 numpy로 변환할 수 없어서 생기는 오류입니다. 이미 tensor는 gpu에 올려져서 계산되다가, numpy 연산을 하려면 cpu에서 가능하니 이런 에러가 발생하는 것입니다. 따라서 'Tensor.cpu()' 등의 메서드를 사용해야합니다.
해결 방법은 tensor를 cpu에 재할당 해주면 됩니다.
보통 방법은 변수 뒤에
.cpu().numpy()
.detach().numpy()
붙여주면 되는데 안 돼서 이번엔 이렇게 했더니 됐습니다.
.detach().cpu().numpy()
- detach(): 텐서를 다른 센터로부터 분리(detach)하여 연산 그래프에서 해당 텐서와 연결을 끊는 역할을 합니다. gradient 계산에서 분리할 때도 사용합니다.
728x90
'Skills > Error' 카테고리의 다른 글
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Unsupervised learning
- 파이썬 딕셔너리
- 서버에다운
- 구글드라이브연동
- vscode 자동 저장
- style transfer
- clip
- support set
- 파이썬 클래스 계층 구조
- 구글드라이브서버다운
- cs231n
- 도커
- CNN
- 구글드라이브다운
- 구글드라이브서버연동
- 프롬프트
- 딥러닝
- python
- docker
- 데이터셋다운로드
- 파이썬
- 퓨샷러닝
- prompt learning
- stylegan
- Prompt
- few-shot learning
- 서버구글드라이브연동
- NLP
- 파이썬 클래스 다형성
- 도커 컨테이너
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함
250x250