Перевести код факела, предназначенный для вычислений на GPU, для работы только на CPU - PullRequest
0 голосов
/ 02 октября 2019

У меня есть код на основе pytorch, который выполняется на GPU из-за его многочисленных обращений к CUDA, код предназначен для обнаружения объектов, и модель уже обучена этому. Поэтому я тестирую модель на наборе данных. Однако мой графический процессор недостаточно мощный, чтобы модель работала без ошибок Out of Memory (OOM).

Мой графический процессор - Nvidia P400, и я установил для него cuda 9.0. Я работаю на 396.54 версии драйвера Nvidia. Я не пытался обновить его, потому что это вызывает проблемы с моими настройками. Моя операционная система - Linux Ubuntu 18.04.

Более конкретно, мой вопрос заключается в следующем. Чтобы заставить мой код pytorch работать на CPU, могу ли я просто удалить в своем коде cuda? Например, заменив следующий код:

torch.cuda.manual_seed(11)

На

torch.manual_seed(11)

РЕДАКТИРОВАТЬ: Когда я настраивал pytorch в моей среде conda, я устанавливал совместимый с GPU pytorch. Итак, теперь, когда я попытался удалить все вхождения cuda, он не работает, и я получаю следующую ошибку:

THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=74 error=38 : no CUDA-capable device is detected
Traceback (most recent call last):
  File "main.py", line 1111, in <module>
    train()
  File "main.py", line 1039, in train
    log_path=model_save_path)
  File "main.py", line 858, in train_networks
    train_losses, valid_losses, test_losses = pickle.load(lossfile, encoding='latin1')
  File ".../anaconda3/envs/pytorch-gpu/lib/python3.6/site-packages/torch/cuda/__init__.py", line 492, in _lazy_new
    _lazy_init()
  File ".../anaconda3/envs/pytorch-gpu/lib/python3.6/site-packages/torch/cuda/__init__.py", line 161, in _lazy_init
    torch._C._cuda_init()
RuntimeError: cuda runtime error (38) : no CUDA-capable device is detected at /pytorch/aten/src/THC/THCGeneral.cpp:7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...