pytorch 的 Input type (torch.cuda.DoubleTensor) and weight type (torch.cuda.FloatTensor) should be the same 是什麼錯誤?
就是類型錯誤
像這次這個錯誤就是我原本從 np array 轉過來的是 DoubleTensor 格式
所以需要在 DataLoader 取得資料時再轉成 FloatTensor 格式
例如這樣
import torch from torch.utils.data import DataLoader, Dataset import numpy as np # 自定義 Dataset 類別,將數據轉換為 FloatTensor class CustomDataset(Dataset): def __init__(self, data): self.data = torch.tensor(data, dtype=torch.float) def __len__(self): return len(self.data) def __getitem__(self, idx): return self.data[idx] # 假設您有一些數據 data = np.random.rand(100, 10) # 創建自定義的 Dataset dataset = CustomDataset(data) # 使用 DataLoader 加載 Dataset batch_size = 64 dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True) # 確認數據類型為 FloatTensor for batch in dataloader: print(batch.dtype) # torch.float32
感謝 chatGPT
留言板
歡迎留下建議與分享!希望一起交流!感恩!