Прошу вас взглянуть на код: https://github.com/NicholasShatokhin/OpenNNL а именно на функции _changeWeightsByBP и _changeWeightsByIDBD в файле opennnl.cpp. Вторая функция имеет дополнительные вычисления и нуждается в большем количестве памяти. Она медленнее первой, но по идее не на слишком. При этом когда я запускаю обучении нейронной сети на 60000 примеров с использованием второй, процесс резко замедляется после обработки примерно 2700 примеров, хотя первая работает одинаково быстро на всем множестве. Подозреваю, что это Убунта каким-то образом замедляет приложение. Почему такое может происходить и как с этим бороться?
Это может происходить и по "естественным" причинам. Я когда участвовал в распределенных вычислениях (cosmology@home), то там тоже чем ближе к концу выполнения задания тем медленней скорость. Да, надо код смотреть, тут я пас ) От кол-ва свободной памяти зависеть тоже может. В своп залазит при расчетах? У меня как залазило, то все почти зависало на период выгрузки туда данных.
Не понятно и разбираться не охото. может быть что угодно. Может памяти не хватает.
Отправить комментарий