gpt4 book ai didi

r - "Error in unserialize"-foreach/doSNOW/snow with SOCK(Windows)

转载 作者:行者123 更新时间:2023-12-04 04:35:56 27 4
gpt4 key购买 nike

我正在与本地计算机上的工作人员一起使用SOCK集群运行并行操作。如果我限制要迭代的集合(在一个测试中使用70个任务而不是完整的135个任务),那么一切都很好。如果我购买全套产品,则会收到错误消息“unserialize(socklist [[n]])中的错误:从连接读取错误”。

  • 我已经解除了Windows防火墙中的端口(进/出)的限制,并允许所有对Rscript/R的访问。
  • 不会出现超时问题,因为套接字超时设置为365天。
  • 对于任何特定任务,这都不是问题,因为我可以按顺序运行就可以了(如果我将数据集一分为二并执行两个单独的并行运行,那么也可以并行运行)
  • 我能想到的最好的办法是,套接字上传输的数据过多。似乎没有群集选项可以限制数据限制。

  • 我对如何进行一无所知。有没有人看过这个问题,或者可以提出修复建议?

    这是我用来设置集群的代码:
    cluster = makeCluster( degreeOfParallelism , type = "SOCK" , outfile = "" )
    registerDoSNOW( cluster )

    编辑
    尽管整个数据集都存在此问题,但有时数据集数量减少时也会出现此问题。这可能表明这不仅仅是数据限制问题。

    编辑2
    我进行了更深入的研究,结果发现我的函数实际上具有随机成分,因此有时任务会引发错误。如果我依次运行任务,那么在操作结束时,系统会告诉我哪个任务失败。如果我并行运行,则会收到“反序列化”错误。我尝试将每个任务执行的代码包装在tryCatch调用中,错误为error = function(e){stop(e)},但这还会生成“反序列化”错误。我很困惑,因为我认为积雪通过将错误传回主节点来处理错误?

    最佳答案

    我已经向SNOW的作者报告了此问题,但是很遗憾,没有任何回复。

    编辑
    我已经有一段时间没有看到这个问题了。我搬到了Parallel/doParallel。另外,我现在正在使用try()来包装并行执行的所有代码。我无法复制原始问题。

    关于r - "Error in unserialize"-foreach/doSNOW/snow with SOCK(Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237024/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com