Я использую код Github Python, и он отлично работает в некоторых условиях, поэтому это не проблема в коде. Код на Pytorch с ResNet в качестве магистрали и работает на сервере через SSH-интерпретатор на моем локальном ПК с использованием PyCharm. Мои конфигурации сервера:
- Ubuntu 16.04
- 4 карты Nvidia GTX 2080Ti
- CUDA 10
- ОЗУ 128 ГБ
- Python 3.6
- Torch 1.2.0 и torchvision 0.4.0
Когда я запускаю свой код на GPU (индекс) 2 и 3, я получаю «CUDA out of memory error», даже когда я использовалпараллельные графические процессоры (2 и 3), но когда я запускаю один и тот же код на графическом процессоре 0 или 1, он работает нормально. GPU 0 и 1 используют другие участники. Иногда использование графического процессора 0 или 1 составляет 50%, и мой код работает нормально на 50% свободного графического процессора 0 или 1. Ниже приведена подробная информация о графических процессорах моего сервера
[0] GeForce RTX 2080 Ti | 83'C, 73 % | 10505 / 10989 MB
[1] GeForce RTX 2080 Ti | 71'C, 77 % | 5317 / 10989 MB
[2] GeForce RTX 2080 Ti | 48'C, 1 % | 0 / 10989 MB
[3] GeForce RTX 2080 Ti | 49'C, 0 % | 0 / 10989 MB
Я искал ту же проблему со стековым потоком, но яне могу решить мою проблему.
pytorch из памяти GPU
Почему pytorch требует гораздо больше памяти, чем должен?
Один GPU использует больше памяти, чем другие во время обучения
Предположим, есть проблема в коде, но мой вопрос заключается в том, почему он работает нормально в GPU 0 и 1 и даже в 50% свободного GPU. Я столкнулся с этой проблемой впервые. Еще одна вещь: до того, как 1 неделя создавала проблемы с сервером, иногда все графические процессоры прекращали работать. Мне не удалось выполнить новую команду, когда графические процессоры были остановлены, но если была какая-либо старая команда (обучение), продолжалось. После перезагрузки все заработало нормально. Мне нужны ценные предложения, что мне теперь делать? Я уже перезапустил свой сервер, но та же проблема. Чтобы проверить код, я протестировал другой код, так что одна и та же проблема в обоих проектах.