RuntimeError: ошибка CUDA: неверный аргумент - PullRequest
0 голосов
/ 26 сентября 2019

Он может запустить эпоху 1 и успешно выполнить eval, но он не работает при запуске эпохи 2.

Train Epoch:1[655200/655800(100%)] loss:26.4959 lr:0.2050
Test Epoch:1 acc:0.973 val:0.895

Train Epoch:2[0/655800(0%)] loss:26.8068 lr:0.2051
File "train_11w.py", line 244, in main
    train(train_loader, model, optimizer, epoch, lr_decay_type, logger, args.log_interval, args)
  File "train_11w.py", line 305, in train
    prediction, ex, exnorm = model(img, mode=6, y=label)
  File "/home/luban/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.py", line 489, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/luban/anaconda2/lib/python2.7/site-packages/torch/nn/parallel/data_parallel.py", line 143, in forward
    outputs = self.parallel_apply(replicas, inputs, kwargs)
  File "/home/luban/anaconda2/lib/python2.7/site-packages/torch/nn/parallel/data_parallel.py", line 153, in parallel_apply
    return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
  File "/home/luban/anaconda2/lib/python2.7/site-packages/torch/nn/parallel/parallel_apply.py", line 83, in parallel_apply
    raise output
RuntimeError: CUDA error: invalid argument
Driver Version: 418.67
CUDA Version 10.0.130
python 2.7.3
torch 1.0.0

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Я использовал CUDA_LAUNCH_BLOCKING = 1, также не удалось.Traceback (последний вызов был последним): файл "train_11w.py", строка 691, в главном файле (args) Файл "train_11w.py", строка 244, в главном поезде (train_loader, модель, оптимизатор, эпоха, lr_decay_type, logger, args.log_interval, args) Файл "train_11w.py", строка 307, в прогнозировании поездов, ex, exnorm = модель (img, mode = 6, y = метка) Файл "/home/luban/anaconda2/lib/python2.7/site-packages / torch / nn / modules / module.py ", строка 489, в вызов результат = файл self.forward (* input, ** kwargs)" / home / luban / anaconda2 / lib /python2.7 / site-packages / torch / nn /rallel / data_parallel.py ", строка 142, в прямых репликах = self.replicate (self.module, self.device_ids [: len (входные данные]]) файл" / home /luban / anaconda2 / lib / python2.7 / site-packages / torch / nn / parallel / data_parallel.py ", строка 147, в дубликате, обратный репликат (файл module_id) Файл" / home / luban / anaconda2 / lib / python2.7 / site-packages / torch / nn / parallel / replicate.py ", строка 13, в файле replicate param_copies = Broadcast.apply (devices, * params)" /home/luban/anaconda2/lib/python2.7/site-packages / torch / nn / parallel / _functions.py ", строка 21, в прямом выходе = comm.broadcast_coalesced (входные данные, ctx.target_gpus) Файл" /home/luban/anaconda2/lib/python2.7/site-packages/torch/cuda/comm.py ", строка 40, в broadcast_coalesced возвращает torch._C._broadcast_coalesced (тензоры, устройства, buffer_size) RuntimeError: Ошибка NCCL 3: внутренняя ошибка

0 голосов
/ 26 сентября 2019

Хотя трудно понять, что происходит не так, я бы посоветовал вам сделать следующее:

  1. Можете ли вы попробовать запустить код с CUDA_LAUNCH_BLOCKING=1 python script_name args?Переменная CUDA_LAUNCH_BLOCKING=1 env обеспечивает синхронный вызов всех операций CUDA, поэтому сообщение об ошибке должно указывать на правую строку кода в трассировке стека.
  2. Попробуйте установить torch.backends.cudnn.benchmark в True/False, чтобы проверить,это работает.
  3. Обучает модель без использования DataParallel.
  4. Проверьте, установлен ли вы drop_last=True при создании DataLoader, работает ли обучение?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...