Я перешел с использования одного графического процессора на несколько графических процессоров.Код выдает ошибку
epoch main/loss validation/main/loss elapsed_time
Exception in main training loop: '<' not supported between instances of
'list' and 'int'
Traceback (most recent call last):
File "/home/ubuntu/anaconda3/envs/chainer_p36/lib/python3.6/site-
packages/chainer/training/trainer.py", line 318, in run
entry.extension(self)
File "/home/ubuntu/anaconda3/envs/chainer_p36/lib/python3.6/site-
packages/chainer/training/extensions/evaluator.py", line 157, in
__call__
result = self.evaluate()
File "/home/ubuntu/anaconda3/envs/chainer_p36/lib/python3.6/site-
packages/chainer/training/extensions/evaluator.py", line 206, in evaluate
in_arrays = self.converter(batch, self.device)
File "/home/ubuntu/anaconda3/envs/chainer_p36/lib/python3.6/site-
packages/chainer/dataset/convert.py", line 150, in concat_examples
return to_device(device, _concat_arrays(batch, padding))
File "/home/ubuntu/anaconda3/envs/chainer_p36/lib/python3.6/site-
packages/chainer/dataset/convert.py", line 35, in to_device
elif device < 0:
Завершит работу расширений тренера и средства обновления перед повторным вызовом исключения.
Я пытался без использования GPU, он работал нормально.Но при использовании одного gpu выдается ошибка out of memory.so, смещен экземпляр p28xlarge, и теперь он выдает вышеуказанную ошибку. Где проблема и как ее решить?
изменение сделано с использованием 8 gpu
num_gpus = 8
chainer.cuda.get_device_from_id(0).use()
3. # Updater
if num_gpus > 0:
updater = training.updater.ParallelUpdater(
train_iter,
optimizer,
devices={('main' if device == 0 else str(device)): device for
device in range(num_gpus)},
)
else:
updater = training.updater.StandardUpdater(train_iter, optimizer,
device=args.gpus)
4. и сын на .. 5.Подготовка:
trainer.run()
выход - эпоха main / проверка потерь / main/ loss elapsed_time Исключение в основном цикле обучения: «<» не поддерживается между экземплярами «list» и «int» </p>
Я ожидал, что результат будет
epoch main/loss validation/main/loss elapsed_time
1.
2.
3. and so on till it converge's.