Я использую библиотеку карет в R и пытаюсь создать несколько моделей одновременно. Однако, поскольку каретка также способна к распараллеливанию, вещи не работают должным образом.
Я знаю, что правильный формат для вложенных циклов foreach в R следующий:
foreach(i=inputarray) %:%
foreach(j=secondarray) %dopar% {
# functions here
}
Однако в этой ситуации ближе всего я могу прийти примерно так:
foreach(i=inputarray) %:% {
trainModel(use="modelName")
}
Возможно, неудивительно, что это работает не слишком хорошо, поскольку внешний итератор не передается должным образом, а код не запускается вообще. Использование% dopar% вместо этого приводит к работающему коду, но при каждом вызове trainModel используется только один поток, что видно из диспетчера задач при работе более длинных моделей.
Что касается системной информации, я использую Win 10 с R 3.6
.