Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Могу подсказать, для чего ещё предпочтительно ограничение количества ядер процессора: например — если хочется поиграть во что-то уже не новое, но — на не высокочастотном и многоядерном процессоре. Неплохой пример — Far Cry 4. Который отвратительно идёт на подобного рода процессорах. Но стоит только оставить 6 ядер — как всё начинает идти лучше. И ещё лучше — если оставить эти ядра и выключить Hyperthreading.
Не, ну… у меня в принципе никогда не запущено что-то лишнее, как написал выше, но факт что когда я пробовал закрывать окна, и запускать тренировку с тем же самым наименованием модели — то она спокойно подхватывала последнюю из сделанных эпох, и продолжало обучение. Но стоило мне только увеличить «Размер пачки для видеокарты» хотя бы до «8» — как я стал снова получать ошибки, и процесс тренировки даже не начинался из-за них (значения «11» и «12» — у меня тоже вызывают ошибки, только с немного другим текстом ошибок в консоли). Методом тыка, опять же, прочие показатели я повысил, но только с «Размер пачки для видеокарты» = «6» — процесс начинался без сбоев, и шёл хорошо (сейчас почти дошел до 100 эпох). Не подумайте лишнего только, я верю, что у Вас всё хорошо получилось на 3060 Ti, и претензий не имею, я сначала просто не совсем понимал, что именно вызывало проблему. Попробую поискать в инете то, как в оригинале звучит «Размер пачки для видеокарты», чтобы лучше понимать, за что оно отвечает, и для какого железа какие значения допустимы…
Спасибо! Галки убрал полностью, но проблема всё ещё осталась… Методом проб — убедился в одном, что процесс тренировки точно сыпет ошибками если задать параметр «Размер пачки для видеокарты» больше «6» (в моём случае по крайней мере, с RTX 3060 12 GB + Xeon E5-2673 V.3 + 16 GB DDR 4). А «Число процессов ЦП» — можно ставить любое, которое поддерживает процессор (а то сначала на него грешил, хоть и по логам видел, что проблема с памятью скорее). Лишних приложений на фоне не имею, даже какого-нибудь Стима/Дискорда, только браузер с оболочкой приложения, и всего двумя вкладками, "«Диспетчер задач», чтобы следить за нагрузкой, и антивирус… От того ещё больше не понимаю кстати, почему приложение в принципе придиралось с сообщением «Out of memory»… Благо что — сначала, когда получал ошибки при продолжении обучения — то приложение хотя бы загружало «контрольную точку», и продолжало с последней эпохи, на которой процесс сбоил, но теперь что-то — при указании точно такого же наименования модели, и пути до «Датасета» — тренировка началась с нуля… Эх… (
UPD: Перезапустил всё с нуля, теперь поменяв только «Число процессов ЦП, используемое для вытаскивания тональностей и обработки данных» на «10», хоть и имею 12 ядер и 24 потока, в прошлый раз, когда были ошибки — выставил значение «20». Видимо — это как-то негативно повлияло тогда, но теперь — эпохи в консоли пошли, и вроде как всё хорошо; нагрузка на процессор и видеокарту пошла (в пределах 10-20% на CPU и 7-15% GPU правда, не знаю, нормально ли это, или можно было подвыжать из железа больше, и оно должно грузиться больше, или так всё и должно быть в моём случае...) CUDA ядра — грузятся по полной к слову. :). Огромное спасибо за гайд!
UPD 2: И снова, спустя время и примерно 20-25 эпох — ошибка:
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\multiprocessing\reductions.py», line 358, in reduce_storage
metadata = storage._share_filename_cpu_()
RuntimeError: Couldn't open shared file mapping: <000001C791CD00F2>, error code: <1455>
Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 358, in train_and_evaluate
for batch_idx, info in data_iterator:
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 634, in __next__
data = self._next_data()
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 1346, in _next_data
return self._process_data(data)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 1372, in _process_data
data.reraise()
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\_utils.py», line 644, in reraise
raise exception
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\worker.py», line 308, in _worker_loop data = fetcher.fetch(index)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\fetch.py», line 54, in fetch
return self.collate_fn(data)
File «C:\VoicE\RVC_New\RVC_new\lib\train\data_utils.py», line 164, in __call__
wave_padded = torch.FloatTensor(len(batch), 1, max_wave_len)
RuntimeError: [enforce fail at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 2054400 bytes.
Места на SSD — в достатке, около 100 ГБ свободных, из них пока только 1-2 заняты файлами модели. Не пойму, что не так, за исключением того, что «не хватает памяти»… Эпох ставил 300, частоту сохранения — 10.
Судя по тому, что нагрузка на железо — не пошла, и в консоли всё встало на одном месте с ошибкой — то дальше процесс не пойдёт :(
(Железо Intel Xeon E5-2673 V.3 + RTX 3060 12 GB + 16 GB DDR 4)
Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 452, in train_and_evaluate
loss_fm = feature_loss(fmap_r, fmap_g)
File «C:\VoicE\RVC_New\RVC_new\lib\train\losses.py», line 10, in feature_loss
loss += torch.mean(torch.abs(rl — gl))
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 12.00 GiB total capacity; 6.67 GiB already allocated; 4.08 GiB free; 6.86 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
А когда попробовал понизить пункт «Размер пачки для видеокарты» до «6», то получил такую ошибку:
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\worker.py», line 308, in _worker_loop
data = fetcher.fetch(index)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\fetch.py», line 54, in fetch
return self.collate_fn(data)
File «C:\VoicE\RVC_New\RVC_new\lib\train\data_utils.py», line 170, in __call__
phone_padded = torch.FloatTensor(
RuntimeError: [enforce fail at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 5492736 bytes.
UPD 2: И снова, спустя время и примерно 20-25 эпох — ошибка:
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\multiprocessing\reductions.py», line 358, in reduce_storage
metadata = storage._share_filename_cpu_()
RuntimeError: Couldn't open shared file mapping: <000001C791CD00F2>, error code: <1455>
Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 358, in train_and_evaluate
for batch_idx, info in data_iterator:
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 634, in __next__
data = self._next_data()
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 1346, in _next_data
return self._process_data(data)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\dataloader.py», line 1372, in _process_data
data.reraise()
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\_utils.py», line 644, in reraise
raise exception
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\worker.py», line 308, in _worker_loop data = fetcher.fetch(index)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\fetch.py», line 54, in fetch
return self.collate_fn(data)
File «C:\VoicE\RVC_New\RVC_new\lib\train\data_utils.py», line 164, in __call__
wave_padded = torch.FloatTensor(len(batch), 1, max_wave_len)
RuntimeError: [enforce fail at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 2054400 bytes.
Места на SSD — в достатке, около 100 ГБ свободных, из них пока только 1-2 заняты файлами модели. Не пойму, что не так, за исключением того, что «не хватает памяти»… Эпох ставил 300, частоту сохранения — 10.
(Железо Intel Xeon E5-2673 V.3 + RTX 3060 12 GB + 16 GB DDR 4)
Process Process-1:
Traceback (most recent call last):
File «multiprocessing\process.py», line 315, in _bootstrap
File «multiprocessing\process.py», line 108, in run
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 228, in run
train_and_evaluate(
File «C:\VoicE\RVC_New\RVC_new\train_nsf_sim_cache_sid_load_pretrain.py», line 452, in train_and_evaluate
loss_fm = feature_loss(fmap_r, fmap_g)
File «C:\VoicE\RVC_New\RVC_new\lib\train\losses.py», line 10, in feature_loss
loss += torch.mean(torch.abs(rl — gl))
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 12.00 GiB total capacity; 6.67 GiB already allocated; 4.08 GiB free; 6.86 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
А когда попробовал понизить пункт «Размер пачки для видеокарты» до «6», то получил такую ошибку:
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\worker.py», line 308, in _worker_loop
data = fetcher.fetch(index)
File «C:\VoicE\RVC_New\RVC_new\runtime\lib\site-packages\torch\utils\data\_utils\fetch.py», line 54, in fetch
return self.collate_fn(data)
File «C:\VoicE\RVC_New\RVC_new\lib\train\data_utils.py», line 170, in __call__
phone_padded = torch.FloatTensor(
RuntimeError: [enforce fail at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 5492736 bytes.