2016-11-29 5 views
4

Я использую логическую регрессию LBFGS для классификации примеров в одной из двух категорий. Когда я тренируюсь модель, я получаю много предупреждений такого рода -Исправлена ​​слишком большая задача задачи

WARN scheduler.TaskSetManager: Stage 132 contains a task of very large size (109 KB). The maximum recommended task size is 100 KB. 
WARN scheduler.TaskSetManager: Stage 134 contains a task of very large size (102 KB). The maximum recommended task size is 100 KB. 
WARN scheduler.TaskSetManager: Stage 136 contains a task of very large size (109 KB). The maximum recommended task size is 100 KB. 

У меня есть около 94 функций и около 7500 примеров обучения. Есть ли другой аргумент, который я должен передать, чтобы разбить размер задачи на более мелкие куски?

Кроме того, это просто предупреждение, что в худшем случае можно игнорировать? Или это мешает обучению?

Я звоню мой тренер так -

val lr_lbfgs = new LogisticRegressionWithLBFGS().setNumClasses(2) 
lr_lbfgs.optimizer.setRegParam(reg).setNumIterations(numIterations) 
val model = lr_lbfgs.run(trainingData) 

Кроме того, мой водитель и исполнитель памяти является 20G, который я поставил в качестве аргументов spark-submit

ответ

2

Спарк sends a copy из каждой переменной и метод, который должен быть видимым для исполнителей; это предупреждение означает, что в целом эти объекты превышают 100 КБ. Вы можете смело игнорировать это предупреждение, если оно не влияет на производительность заметно, или вы можете рассмотреть возможность маркировки некоторых переменных как broadcast variables.

+0

большое спасибо за ответ. Поскольку время для обучения и оценки невелико и в ближайшее время не будет большим, я проигнорирую предупреждение. – shashydhar

+0

Без проблем, приветствия! – user4601931

Смежные вопросы