我试图训练一个DNN模型使用pytorch,我想到使用技术训练我的模型。 我能够成功地复制了我的模型技术的使用 model.to(device)
,哪里 device = cuda:0
.
然而,标准方法,用于复制输入到GPU,(RuntimeError:Input type(火炬。FloatTensor)和重型(火炬。cuda.FloatTensor)应该是相同),即, X.to(device)
和 X.cuda()
不给我的期望输出。 以下是方法,我目前正在执行:
def train_loop(self, dataloader, device):
size = len(dataloader.dataset)
for batch, (X, y) in enumerate(dataloader):
# Compute prediction and loss
print(device)
X.to(device)
print(X.is_cuda)
y.to(device)
pred = self.model(X)
loss = self.loss_fn(pred, y)
在印刷设备的价值 print(device)
它显示: cuda:0
. 但是,当我运行 print(X.is_cuda)
它返回 false
. (截附文)。
请让我知道我要去的错误。 谢谢你!