python - 在 pytorch 中训练模型时出现运行时错误
问题描述
RuntimeError:cuda 运行时错误(59):
epochs = 3
print_every = 40
steps = 0
# change to cuda
model.to(device)
for e in range(epochs):
running_loss = 0
for ii, (inputs, labels) in enumerate(trainloader):
steps += 1
inputs, labels = inputs.to(device), labels.to(device)
optimizer.zero_grad()
# Forward and backward passes
outputs = model.forward(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()
if steps % print_every == 0:
print("Epoch: {}/{}... ".format(e+1, epochs),
"Loss: {:.4f}".format(running_loss/print_every))
running_loss = 0
我在上面的代码中收到以下错误。
RuntimeError: cuda runtime error (59) : device-side assert triggered at /opt/conda/conda-bld/pytorch_1524584710464/work/aten/src/THC/generic/THCTensorCopy.c:20
我正在使用来自 torchvision.models 的预训练模型之一来获取图像特征。使用这些特征构建和训练一个新的前馈分类器。
而且我不确定我在这里做错了什么。另外,我正在启用 GPU 的 jupyter norebook 内的在线门户上运行此代码。
在此先感谢您的帮助!
解决方案
推荐阅读
- c++ - 多线程访问全局变量:我应该使用互斥锁吗
- javascript - 如何平树,自动生成父级?
- python - 处理我的测量数据的最佳库和实现
- java - 我想检索我使用 Long.what 将在房间数据库中查询的特定日期的总金额
- r - 我在 R 中的 for 循环的语法是否正确?
- c++ - 在 Visual Studio 单元测试中检查内存泄漏
- c++ - Noughts and Crosses/井字游戏玩家又去
- java - 如何从 RecyclerView 获取所有持有者?
- javascript - 不要在滚动时触发 JQuery 动作
- python - 从普通文本编辑器而不是笔记本显示地图