のクラスタでにtrain
関数が実行されています。doRedisで実行しています。ほとんどの部分については、それは動作しますが、ときどき、私はこのような性質の最後にエラーが発生します:クラスタで実行中にキャレットにエラーが発生しました
error calling combine function:
<simpleError: obj$state$numResults <= obj$state$numValues is not TRUE>
と
Error in names(resamples) <- gsub("^\\.", "", names(resamples)) :
attempt to set an attribute on NULL
私はtraceback()
を実行したときに私が手:
5: nominalTrainWorkflow(dat = trainData, info = trainInfo, method = method,
ppOpts = preProcess, ctrl = trControl, lev = classLevels,
...)
4: train.default(x, y, weights = w, ...)
3: train(x, y, weights = w, ...)
2: train.formula(couple ~ ., training.balanced, method = "nnet",
preProcess = "range", tuneGrid = nnetGrid, MaxNWts = 2200)
1: caret::train(couple ~ ., training.balanced, method = "nnet",
preProcess = "range", tuneGrid = nnetGrid, MaxNWts = 2200)
これらのエラーは簡単には再現できません(つまり、発生することはありますが、一貫して発生することはありません)。実行の終了時にのみ発生します。クラスタのstdoutには、実行中のタスクと完了したタスクがすべて表示されるので、私はちょっと幻想的です。
これらのエラーが発生しましたか?もしそうなら、その原因を理解し、改善することもできますか?
リンク先が消える可能性があります。リンクが提供するソリューションを反映するように回答を編集してください。そうしないと、リンクのみの回答であるため、回答を削除するリスクがあります。 –
残念ながら、私は上記で提案した修正の後でもまだエラーメッセージが表示されますが、現在ははるかに少ない頻度です。私は、このエラーは、ワーカーが私のLAN/Wifiホームネットワークを最大限に活用しているときに発生するようです。私は、より少ない労働者を使用することで、この問題の発生をさらに減らすことができました。また、私はそれを変更すると失敗した実行ジョブを正常に実行することができるので、すべてのワーカーがジョブを開始したrsessionに対してローカルになります。私はまだこれを試していませんが、労働者がredis-serverで動いてもうまくいくと思っています。 –