Пересериализовать переменную, сохраненную на GPU на GPU - PullRequest
0 голосов
/ 27 мая 2019

Я сохранил переменную параметра на моем компьютере (оборудованном графическим процессором и CUDA). Веса были сохранены в режиме GPU. Затем при попытке загрузить веса на тот же компьютер, я все еще получаю ошибку:

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location='cpu' to map your storages to the CPU.

Проблема связана с тем, что torch.cuda.is_available() возвращает False.

Проблема исчезает после перезагрузки компьютера, но затем снова появляется через некоторое время.

1 Ответ

0 голосов
/ 27 мая 2019

Попробуйте добавить map_location аргумент к torch.load, т.е. измените ваш код

от torch.load(model_weights)

до torch.load(model_weights, map_location=torch.device('cuda:0'))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...