Недопустимое устройство Ordinal, CUDA / TORCH - PullRequest
0 голосов
/ 10 июня 2018

Я получаю эту ошибку при запуске скрипта в Ubuntu 16.04.Пожалуйста, потерпите меня, я новичок в python, я проверил уже доступные опции в интернете, но не могу это исправить.

 RuntimeError: cuda runtime error (10) : invalid device ordinal at torch/csrc/cuda/Module.cpp:32

В настоящее время я запускаю этот файл.

from __future__ import print_function
from models import LipRead
import torch
import toml
from training import Trainer
from validation import Validator

print("Loading options...")
with open('options.toml', 'r') as optionsFile:
options = toml.loads(optionsFile.read())

if(options["general"]["usecudnnbenchmark"] and options["general"]    ["usecudnn"]):
print("Running cudnn benchmark...")
torch.backends.cudnn.benchmark = True

#Create the model.
model = LipRead(options)

if(options["general"]["loadpretrainedmodel"]):
model.load_state_dict(torch.load(options["general"]    ["pretrainedmodelpath"]))

#Move the model to the GPU.
if(options["general"]["usecudnn"]):
model = model.cuda(options["general"]["gpuid"])

trainer = Trainer(options)
validator = Validator(options)

for epoch in range(options["training"]["startepoch"], options["training"]["epochs"]):

if(options["training"]["train"]):
    trainer.epoch(model, epoch)

if(options["validation"]["validate"]):
    validator.epoch(model)

И я сомневаюсь, что этот файл как-то связан с выдаваемой ошибкой

Title = "TOML Example"

[general]
usecudnn = true
usecudnnbenchmark = true
gpuid = 0
loadpretrainedmodel = true
pretrainedmodelpath = "trainedmodel.pt"
savemodel = true
modelsavepath = "savedmodel.pt"

[input]
batchsize = 18
numworkers = 18
shuffle = true

[model]
type = "LSTM"
inputdim = 256 
hiddendim = 256
numclasses = 500
numlstms = 2

[training]
train = true
epochs = 15
startepoch = 10
statsfrequency = 1000
dataset = "/udisk/pszts-ssd/AV-ASR-data/BBC_Oxford/lipread_mp4"
learningrate = 0.003
momentum = 0.9
weightdecay = 0.0001

[validation]
validate = true
dataset = "/udisk/pszts-ssd/AV-ASR-data/BBC_Oxford/lipread_mp4"
saveaccuracy = true
accuracyfilelocation = "accuracy.txt"

Ошибка в основном в строке gpuid, как я наконец достиг.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Вы можете получить эту ошибку, если предварительно обученная модель обучена на другом количестве устройств Cuda.Например, при обучении модели вы использовали 3 устройства Cuda и теперь загружаете ту же обученную модель на устройство только с одним устройством Cuda.

0 голосов
/ 12 июня 2018

Попробуйте сделать это

import torch
print(torch.cuda.is_available())

Если вы выводите значение False, это означает, что PyTorch не обнаружил графический процессор.У меня была та же проблема, и переустановка Pytorch работала на меня.Вы также можете посмотреть на это https://github.com/pytorch/pytorch/issues/6098.

...