[에러기록] RuntimeError: Expected a 'cuda' device type for generator but found 'cpu'

2022. 12. 30. 22:22·프로그래밍 Programming

이 에러는 pytorch에서 dataloader를 쓸 때 발생할 수 있는 에러이다.

 

RuntimeError: Expected a 'cuda' device type for generator but found 'cpu'

 

dataloader는 클래스라서 내부를 뜯어보지 않는 이상 잘 모르지만

나는 항상 텐서를 torch.cuda.FloatTensor 또는 torch.cuda.DoubleTensor로 쓴다.

 

torch.set_default_tensor_type(torch.cuda.FloatTensor)

그런데 이렇게 하더라도 데이터로더 상에서는 cpu 텐서를 내뱉는다.

그래서 dataloader 코드를 바꿔줘야 한다.

 

dtype = torch.float
device = torch.device("cuda")

train_dl = DataLoader(train_data, batch_size=64, shuffle=True, generator=torch.Generator(device=device))
test_dl = DataLoader(test_data, batch_size=64, shuffle=True, generator=torch.Generator(device=device))

이렇게 하면

 

xb,yb = next(iter(train_dl))
print(xb.dtype)
>> torch.float64

double tensor가 나온다. float tensor가 나오도록 하고 싶은데 이는 좀 더 알아봐야할 것 같다.

저작자표시 비영리 변경금지 (새창열림)

'프로그래밍 Programming' 카테고리의 다른 글

[git blog] jekyll 테마 적용하면서 발생한 에러들  (0) 2023.05.10
[JupyterLab] 코드 줄 번호 default 표시, 폰트 사이즈, family 변경  (0) 2023.01.02
[에러기록] Pytorch 모델 weight가 업데이트되는지 확인  (0) 2022.12.30
[에러기록] oserror: [winerror 182] 운영 체제가 %1을(를) 실행할 수 없습니다. Error loading "\lib\site-packages\torch\lib\shm.dll" or one of its dependencies  (2) 2022.12.29
[에러기록] 아나콘다와 관련된 수많은 에러들  (0) 2022.12.29
'프로그래밍 Programming' 카테고리의 다른 글
  • [git blog] jekyll 테마 적용하면서 발생한 에러들
  • [JupyterLab] 코드 줄 번호 default 표시, 폰트 사이즈, family 변경
  • [에러기록] Pytorch 모델 weight가 업데이트되는지 확인
  • [에러기록] oserror: [winerror 182] 운영 체제가 %1을(를) 실행할 수 없습니다. Error loading "\lib\site-packages\torch\lib\shm.dll" or one of its dependencies
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (468)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (27)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 실험 Experiment (1)
      • 유학 생활 Daily (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    고체역학
    matplotlib
    teps
    Python
    수치해석
    pytorch
    논문작성법
    텝스
    Zotero
    Linear algebra
    obsidian
    LaTeX
    옵시디언
    논문작성
    딥러닝
    WOX
    서버
    우분투
    IEEE
    에러기록
    JAX
    Julia
    MATLAB
    ChatGPT
    Numerical Analysis
    Statics
    생산성
    텝스공부
    인공지능
    Dear abby
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[에러기록] RuntimeError: Expected a 'cuda' device type for generator but found 'cpu'
상단으로

티스토리툴바